diff --git a/core/src/main/java/cz/muni/pa165/service/DriverService.java b/core/src/main/java/cz/muni/pa165/service/DriverService.java
index b4b9aa8d4057cbe61490ff14ca0f86659b1ad1d6..33359e94acc730fa99aa5dc5c2fb7fb40fbc81ba 100644
--- a/core/src/main/java/cz/muni/pa165/service/DriverService.java
+++ b/core/src/main/java/cz/muni/pa165/service/DriverService.java
@@ -4,11 +4,20 @@ import cz.muni.pa165.data.model.Driver;
 import cz.muni.pa165.data.repository.DriverRepository;
 import cz.muni.pa165.exceptions.BadRequestException;
 import cz.muni.pa165.exceptions.ResourceNotFoundException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestClientException;
+import org.springframework.web.client.RestTemplate;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 
 /**
@@ -17,19 +26,35 @@ import java.util.Optional;
 @Service
 public class DriverService extends DomainService<Driver> {
 
+    private static final Logger log = LoggerFactory.getLogger(DriverService.class);
+
     private final DriverRepository driverRepository;
 
+    private final RestTemplate restTemplate;
+
+    private static final String VISUALIZATION_MODULE_URL = "http://localhost:8082/visualization";
+
     @Autowired
-    public DriverService(DriverRepository repository) {
+    public DriverService(DriverRepository repository, RestTemplate restTemplate) {
         super(repository, Driver.class);
         driverRepository = repository;
+        this.restTemplate = restTemplate;
     }
 
     @Transactional(readOnly = true)
     public Driver findById(Long id) {
-        return driverRepository.findById(id)
-                .orElseThrow(() ->
-                        new ResourceNotFoundException(entityClass, id));
+        Optional<Driver> dbDriver = driverRepository.findById(id);
+        if (dbDriver.isEmpty()) {
+            throw new ResourceNotFoundException(entityClass, id);
+        }
+
+        try {
+            sendPostRequest(dbDriver.get());
+        } catch (RestClientException | IllegalArgumentException e) {
+            log.debug(String.format("The visualization module is not reachable on the URL: %s", VISUALIZATION_MODULE_URL));
+        }
+
+        return dbDriver.get();
     }
 
     public Driver update(Long id, Driver driver) {
@@ -66,5 +91,17 @@ public class DriverService extends DomainService<Driver> {
 
         repository.delete(driverFromDb.get());
     }
+
+    private void sendPostRequest(Driver driver) {
+        Map<String, Object> body = new HashMap<>();
+        body.put("data", driver.toString());
+
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        HttpEntity<Map<String, Object>> request = new HttpEntity<>(body, headers);
+        restTemplate.postForObject(VISUALIZATION_MODULE_URL, request, String.class);
+
+        log.debug(String.format("Sent request %s to %s.", request, VISUALIZATION_MODULE_URL));
+    }
 }
 
diff --git a/core/src/test/java/cz/muni/pa165/service/DriverServiceTest.java b/core/src/test/java/cz/muni/pa165/service/DriverServiceTest.java
index 842f2678ada8eec16bb2ff1eee257e473ad7d532..86bab1676609ad09f9f0a7e6fea7035972c1d8fa 100644
--- a/core/src/test/java/cz/muni/pa165/service/DriverServiceTest.java
+++ b/core/src/test/java/cz/muni/pa165/service/DriverServiceTest.java
@@ -9,6 +9,7 @@ import cz.muni.pa165.exceptions.BadRequestException;
 import cz.muni.pa165.exceptions.ResourceNotFoundException;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.springframework.web.client.RestTemplate;
 
 import java.time.LocalDate;
 import java.util.HashSet;
@@ -22,11 +23,13 @@ import static org.mockito.Mockito.*;
 class DriverServiceTest {
     private DriverService driverService;
     private DriverRepository driverRepository;
+    private RestTemplate restTemplate;
 
     @BeforeEach
     void setUp() {
         driverRepository = mock(DriverRepository.class);
-        driverService = new DriverService(driverRepository);
+        restTemplate = mock(RestTemplate.class);
+        driverService = new DriverService(driverRepository, restTemplate);
     }
 
     @Test
diff --git a/visualization/src/main/java/cz/muni/pa165/rest/VisualizationController.java b/visualization/src/main/java/cz/muni/pa165/rest/VisualizationController.java
index 9c976ef2503960a56b93a6cd7e5b4a2e87766283..682880b60ce5c803140435a2ef19c5b80ae1dc63 100644
--- a/visualization/src/main/java/cz/muni/pa165/rest/VisualizationController.java
+++ b/visualization/src/main/java/cz/muni/pa165/rest/VisualizationController.java
@@ -3,12 +3,15 @@ package cz.muni.pa165.rest;
 import cz.muni.pa165.generated.api.VisualizationApiDelegate;
 import cz.muni.pa165.generated.model.VisualizationSchemaCreateDto;
 import cz.muni.pa165.generated.model.VisualizationSchemaDto;
+import jakarta.validation.constraints.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 
+import java.sql.Driver;
+
 @Component
 public class VisualizationController implements VisualizationApiDelegate {
     private static final Logger log = LoggerFactory.getLogger(VisualizationController.class);
@@ -17,7 +20,7 @@ public class VisualizationController implements VisualizationApiDelegate {
     public ResponseEntity<VisualizationSchemaDto> getVisualization(VisualizationSchemaCreateDto visualizationSchemaCreateDto) {
         log.debug("getVisualization() called");
 
-        return new ResponseEntity<>(new VisualizationSchemaDto().message("--VISUALIZATION--"), HttpStatus.OK);
+        return new ResponseEntity<>(new VisualizationSchemaDto().message("--VISUALIZATION--" + visualizationSchemaCreateDto.getData()), HttpStatus.OK);
     }
 
 }
diff --git a/visualization/src/test/java/cz/muni/pa165/rest/IntegrationTests.java b/visualization/src/test/java/cz/muni/pa165/rest/IntegrationTests.java
index cfadef61245d7e5e1b4f6103ca82302e28d4f4c3..4addd5d6549a4c890c4cffcca28bdd1c32b67fa3 100644
--- a/visualization/src/test/java/cz/muni/pa165/rest/IntegrationTests.java
+++ b/visualization/src/test/java/cz/muni/pa165/rest/IntegrationTests.java
@@ -41,7 +41,7 @@ class IntegrationTests {
                 .andReturn().getResponse().getContentAsString();
         log.info("response: {}", response);
 
-        String expectedResponse = "{\"message\":\"--VISUALIZATION--\"}";
+        String expectedResponse = "{\"message\":\"--VISUALIZATION--Hello\"}";
 
         assertEquals(expectedResponse, response);
     }
diff --git a/visualization/src/test/java/cz/muni/pa165/rest/VisualizationControllerTest.java b/visualization/src/test/java/cz/muni/pa165/rest/VisualizationControllerTest.java
index 892a522d45caed49d82661e0aa27e547238e1f3f..fd5ca2db5db472fa9abb7e85b075f3cb068e7c46 100644
--- a/visualization/src/test/java/cz/muni/pa165/rest/VisualizationControllerTest.java
+++ b/visualization/src/test/java/cz/muni/pa165/rest/VisualizationControllerTest.java
@@ -25,6 +25,6 @@ class VisualizationControllerTest {
         ResponseEntity<VisualizationSchemaDto> responseEntity = visualizationController.getVisualization(new VisualizationSchemaCreateDto().data("test"));
         assertEquals(HttpStatus.OK, responseEntity.getStatusCode());
         assertNotNull(responseEntity.getBody());
-        assertEquals("--VISUALIZATION--", responseEntity.getBody().getMessage());
+        assertEquals("--VISUALIZATION--test", responseEntity.getBody().getMessage());
     }
 }
\ No newline at end of file