package at.procon.eventhub.tachographfilesession.dto;

import at.procon.eventhub.tachographfilesession.model.TachographEsperActivityIntervalEvent;
import at.procon.eventhub.tachographfilesession.model.TachographEsperDrivingInterruptionIntervalEvent;
import at.procon.eventhub.tachographfilesession.model.TachographEsperPotentialHomeOvernightStayIntervalEvent;
import at.procon.eventhub.tachographfilesession.model.TachographEsperVehicleUsageIntervalEvent;
import at.procon.eventhub.tachographfilesession.model.TachographEsperVuCardAbsentIntervalEvent;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.UUID;

public record TachographEsperDriverProcessingResultDto(
        UUID sessionId,
        String driverKey,
        String sourceKind,
        OffsetDateTime loadedFrom,
        OffsetDateTime loadedTo,
        OffsetDateTime requestedFrom,
        OffsetDateTime requestedTo,
        int activityIntervalCount,
        int drivingIntervalCount,
        int drivingInterruptionIntervalCount,
        int drivingInterruptionVehicleChangeIntervalCount,
        int dailyWeeklyRestCandidateIntervalCount,
        int potentialHomeOvernightStayIntervalCount,
        int vehicleUsageIntervalCount,
        int vuCardAbsentIntervalCount,
        List<TachographEsperActivityIntervalEvent> activityIntervals,
        List<TachographEsperActivityIntervalEvent> drivingIntervals,
        List<TachographEsperDrivingInterruptionIntervalEvent> drivingInterruptionIntervals,
        List<TachographEsperDrivingInterruptionIntervalEvent> drivingInterruptionVehicleChangeIntervals,
        List<TachographEsperDrivingInterruptionIntervalEvent> dailyWeeklyRestCandidateIntervals,
        List<TachographEsperPotentialHomeOvernightStayIntervalEvent> potentialHomeOvernightStayIntervals,
        List<TachographEsperVehicleUsageIntervalEvent> vehicleUsageIntervals,
        List<TachographEsperVuCardAbsentIntervalEvent> vuCardAbsentIntervals,
        List<String> notes
) {
}
