using TeleWave.Domain.Broadcast;

namespace TeleWave.Application.Broadcast;

public sealed record ScheduleEntryDto(
    Guid Id,
    ScheduleEntryKind Kind,
    Guid MediaAssetId,
    DateTimeOffset StartsAtUtc,
    DateTimeOffset EndsAtUtc,
    Guid? ShowId,
    string? ShowName,
    int? EpisodeIndex,
    string? SeasonEpisode,
    // Для заставок (Kind == Bumper): имя подблока и его текст — для метки в админ-расписании.
    string? BumperName = null,
    string? BumperText = null,
    /// <summary>
    /// Какой частью франшизы шла запись и сколько их всего. У фильма серия всегда одна, и «Серия 1»
    /// в расписании ничего не значит; «часть 3 из 3» — значит.
    /// </summary>
    int? CollectionPart = null,
    int? CollectionParts = null,
    string? CollectionName = null
);
