interface Activity data class FullActivity( val startTime: LocalDateTime, val endTime: LocalDateTime, val directTime: Int, val indirectTime: Int, val travelTime: Int, val quantity: Int ) : Activity data class SpecificActivity( val executionTime: LocalDateTime, val quantity: Int, val duration: Duration ) : Activity fun FullActivity.toSpecificActivity() = SpecificActivity( startTime, quantity, Duration.between(startTime, endTime) ) val specificView: SpecificActivity = FullActivity( startTime = LocalDateTime.now(), endTime = LocalDateTime.now().plusMinutes(10), quantity = 3, directTime = 15, indirectTime = 16, travelTime = 10 ).toSpecificActivity()