// EN: Working hours DTO for therapist schedule.
// VI: DTO giờ làm việc cho lịch chuyên viên.

namespace BookingService.API.Application.DTOs;

/// <summary>
/// EN: Working hours configuration for a therapist.
/// VI: Cấu hình giờ làm việc cho chuyên viên.
/// </summary>
public record WorkingHoursDto
{
    /// <summary>
    /// EN: Schedule entries per day of week.
    /// VI: Các mục lịch theo ngày trong tuần.
    /// </summary>
    public List<DayScheduleDto> Days { get; init; } = new();
}

/// <summary>
/// EN: Schedule for a single day of the week.
/// VI: Lịch cho một ngày trong tuần.
/// </summary>
public record DayScheduleDto
{
    /// <summary>
    /// EN: Day of week (0=Sunday, 6=Saturday).
    /// VI: Ngày trong tuần (0=Chủ nhật, 6=Thứ bảy).
    /// </summary>
    public int DayOfWeek { get; init; }

    /// <summary>
    /// EN: Whether the therapist works this day.
    /// VI: Chuyên viên có làm việc ngày này không.
    /// </summary>
    public bool IsWorking { get; init; }

    /// <summary>
    /// EN: Start time (HH:mm format).
    /// VI: Thời gian bắt đầu (định dạng HH:mm).
    /// </summary>
    public string? StartTime { get; init; }

    /// <summary>
    /// EN: End time (HH:mm format).
    /// VI: Thời gian kết thúc (định dạng HH:mm).
    /// </summary>
    public string? EndTime { get; init; }
}
