package space.nstart.pcp.pcp_types_lib.dto

import java.time.LocalDateTime

/**
 * Read model for booked slots pages and integrations.
 *
 * The DTO is intentionally stored in pcp-types-lib because it is returned by slots-service
 * and consumed by ui-service. It contains only booking/slot fields; UI-specific enrichment
 * such as satellite name/type is performed in ui-service.
 */
data class BookedSlotDetailsDTO(
    val bookedSlotId: Long,
    val satelliteId: Long,
    val slotNum: Long,
    val cycle: Long,
    val timeStart: LocalDateTime,
    val timeStop: LocalDateTime,
    val durationSeconds: Long,
    val roll: Double?,
    val revolution: Long?,
    val revolutionSign: String?,
    val status: String?,
    val requestIds: List<String> = emptyList(),
)
