Index: src/main/java/com/example/rezevirajmasa/demo/bootstrap/TimeSlotManagementService.java
===================================================================
--- src/main/java/com/example/rezevirajmasa/demo/bootstrap/TimeSlotManagementService.java	(revision e35d0e9e0264bb56d95cfb26ca9b4204cd9dd260)
+++ src/main/java/com/example/rezevirajmasa/demo/bootstrap/TimeSlotManagementService.java	(revision a7d40aa46fda83e1fa4b09e4aefa718109004e96)
@@ -79,3 +79,25 @@
         return checkIns;
     }
+
+    @PreDestroy
+    public void cleanUpTimeSlots() {
+        // Define the cutoff date (yesterday)
+        LocalDate cutoffDate = LocalDate.now().minusDays(1);
+
+        // Iterate through all tables and remove unused time slots older than the cutoff date
+        Iterable<TableEntity> tableEntities = tableRepository.findAll();
+        for (TableEntity tableEntity : tableEntities) {
+            // Remove unused time slots older than the cutoff date
+            removeUnusedTimeSlots(tableEntity, cutoffDate);
+            tableRepository.save(tableEntity);
+        }
+    }
+
+    private void removeUnusedTimeSlots(TableEntity tableEntity, LocalDate cutoffDate) {
+        // Get all time slots for the table
+        List<LocalDateTime> timeSlots = tableEntity.getTimeSlots();
+
+        // Remove unused time slots older than the cutoff date
+        timeSlots.removeIf(timeSlot -> timeSlot.toLocalDate().isBefore(cutoffDate));
+    }
 }
