using System;

namespace NPP.SmartSchedue.Api.Contracts.Services.Time.Input;

/// <summary>
/// 添加班次规则
/// </summary>
public class ShiftRuleAddInput
{
    /// <summary>
    /// 规则名称
    /// </summary>
    public string RuleName { get; set; }

    /// <summary>
    /// 规则类型
    /// </summary>
    public string RuleType { get; set; }

    /// <summary>
    /// 规则描述
    /// </summary>
    public string Description { get; set; }

    /// <summary>
    /// 规则参数 (JSON格式)
    /// </summary>
    public string RuleParameters { get; set; }

    /// <summary>
    /// 默认优先级
    /// </summary>
    public int DefaultPriority { get; set; } = 1;

    /// <summary>
    /// 规则生效开始时间
    /// </summary>
    public DateTime? EffectiveStartTime { get; set; }

    /// <summary>
    /// 规则生效结束时间
    /// </summary>
    public DateTime? EffectiveEndTime { get; set; }

    /// <summary>
    /// 规则版本号
    /// </summary>
    public string Version { get; set; } = "1.0";

    /// <summary>
    /// 是否启用
    /// </summary>
    public bool IsEnabled { get; set; } = true;
}