namespace Ladaer.BackEnd.Infrastructures.DTO.Reports.Items.Orders
{
    /// <summary>
    /// DTO cho báo cáo số lượng đơn và doanh số theo tuyến
    /// </summary>
    public class OrderReportByRouteItem
    {
        /// <summary>
        /// Tên tuyến (Tỉnh/Thành gửi - Tỉnh/Thành nhận)
        /// </summary>
        public string RouteName { get; set; } = string.Empty;

        /// <summary>
        /// Tên tỉnh/thành phố gửi hàng
        /// </summary>
        public string SourceCityName { get; set; } = string.Empty;

        /// <summary>
        /// Tên tỉnh/thành phố nhận hàng
        /// </summary>
        public string DestCityName { get; set; } = string.Empty;

        /// <summary>
        /// Tên trạng thái đơn hàng
        /// </summary>
        public string OrderStatusName { get; set; } = string.Empty;

        /// <summary>
        /// Thứ tự sắp xếp trạng thái (1-6)
        /// </summary>
        public int StatusOrder { get; set; }

        /// <summary>
        /// Số lượng đơn hàng
        /// </summary>
        public int OrderCount { get; set; }

        /// <summary>
        /// Tổng doanh số
        /// </summary>
        public decimal TotalRevenue { get; set; }

        /// <summary>
        /// Doanh số trung bình
        /// </summary>
        public decimal AvgRevenue { get; set; }

        /// <summary>
        /// Doanh số thấp nhất
        /// </summary>
        public decimal MinRevenue { get; set; }

        /// <summary>
        /// Doanh số cao nhất
        /// </summary>
        public decimal MaxRevenue { get; set; }

        /// <summary>
        /// Ngày bắt đầu lọc
        /// </summary>
        public DateTimeOffset FromDate { get; set; }

        /// <summary>
        /// Ngày kết thúc lọc
        /// </summary>
        public DateTimeOffset ToDate { get; set; }
    }
}

