public class RentCalculatorResultDTO
{
/// <summary>
/// Тариф, по которому был рассчитана стоимость
/// </summary>
public TarifValue TarifValue { get; set; }
/// <summary>
/// Скидка на автомобиль
/// </summary>
public double AutoDiscount { get; set; } = 0;
/// <summary>
/// Скидка клиента
/// </summary>
public double ClientDiscount { get; set; } = 0;
/// <summary>
/// Скидка по тарифу
/// </summary>
public double TarifDiscount { get; set; } = 0;
/// <summary>
/// Базовая стоимость
/// </summary>
public double BasePrice { get; set; } = 0;
/// <summary>
/// Признак того, что базовая стоимость при расчете была установлена в произовл
/// </summary>
public bool IsCustomBasePrice { get; set; } = false;
/// <summary>
/// Текущая цена по тарифу
/// </summary>
public double CurrentPrice { get; set; } = 0;
/// <summary>
/// Текущая цена по тарифу со скидкой
/// </summary>
public double CurrentPriceWithDiscount { get; set; } = 0;
/// <summary>
/// Признак того, что текущая цена была установлена в произвольное значение
/// </summary>
public bool IsCustomCurrentPrice { get; set; } = false;
/// <summary>
/// Сумма договора
/// </summary>
public double ContractSum { get; set; } = 0;
/// <summary>
/// Итоговая сумма скидки
/// </summary>
public double DiscountSum { get; set; } = 0;
/// <summary>
/// Итоговый процент скидки (с учетом всех условий расчета)
/// </summary>
public double DiscountPercent { get; set; } = 0;
/// <summary>
/// Расчетное количество суток, дробная часть соответствует параметру DayHoursePart
/// </summary>
public decimal EstimatedDaysCount { get; set; } = 0;
/// <summary>
/// Признак того, что используется повышенный лимит по пробегу
/// </summary>
public bool IsUpperMilleageLimit { get; set; } = false;
/// <summary>
/// Суточный лимит пробега
/// </summary>
public long DaylyMilleageLimit { get; set; } = 0;
/// <summary>
/// Лимит пробега, расчитанный на основании параметра EstimatedDaysCount и значения лимита, полученного из первого дня тарифа
/// </summary>
public long MilleageLimit { get; set; } = 0;
/// <summary>
/// Часть суток, выраженная в десятичной форме, которая соответсвует кол-ву часов, превышающих сутки.
/// Например, 1 сутки и три часа. Три часа тарифицируются как 60% суток, поэтому в DayHoursePart == 0.6.
/// </summary>
public decimal DayHoursePart { get; set; } = 0;
/// <summary>
/// Сумма дополнительных услуг
/// </summary>
public long AddServicesSum { get; set; }
/// <summary>
/// Список дополнительных услуг, которые были использованы при расчете стоимости договора
/// </summary>
public List<XL.Base.AddServices.ServicePriceItem> ServicesList { get; set; } = new List<XL.Base.AddServices.ServicePriceItem>();
/// <summary>
/// Полная стоимость договора, вычисляется как ContractSum + AddServicesSum - DiscountSum;
/// </summary>
public double TotalSum { get; set; } = 0;
}