using System;
using System.Collections.Generic;

namespace CouponReport.Models.Parkingeyes;

public partial class RoadsideTicket
{
    public long Id { get; set; }

    /// <summary>
    /// 進場序號
    /// </summary>
    public string SerialNo { get; set; } = null!;

    /// <summary>
    /// 路邊單號
    /// </summary>
    public string RoadsideTicketNo { get; set; } = null!;

    /// <summary>
    /// 進格時間
    /// </summary>
    public DateTime EnterTime { get; set; }

    /// <summary>
    /// 計價身份別
    /// </summary>
    public int CarIdentity { get; set; }

    /// <summary>
    /// 開單時間
    /// </summary>
    public DateTime? OpenTime { get; set; }

    /// <summary>
    /// 結單時間
    /// </summary>
    public DateTime? CloseTime { get; set; }

    /// <summary>
    /// 最新加簽時間
    /// </summary>
    public DateTime? LastestSignTime { get; set; }

    /// <summary>
    /// 下次加簽時間
    /// </summary>
    public DateTime? NextSignTime { get; set; }

    /// <summary>
    /// 路邊的應收金額
    /// </summary>
    public decimal? Receivable { get; set; }

    /// <summary>
    /// 繳費機的應收金額
    /// </summary>
    public decimal? DeviceReceivable { get; set; }

    /// <summary>
    /// 開單照片實體路徑
    /// </summary>
    public string? OpenPhotoPath { get; set; }

    /// <summary>
    /// 結單照片實體路徑
    /// </summary>
    public string? ClosePhotoPath { get; set; }

    /// <summary>
    /// 狀態: Open, Close
    /// </summary>
    public string Status { get; set; } = null!;

    public DateTime CreateTime { get; set; }

    /// <summary>
    /// 是否為公務車
    /// </summary>
    public bool IsFree { get; set; }

    /// <summary>
    /// 是否自動扣繳
    /// </summary>
    public bool IsAutoPay { get; set; }

    /// <summary>
    /// 場站代碼
    /// </summary>
    public string SiteId { get; set; } = null!;

    /// <summary>
    /// 車號
    /// </summary>
    public string CarNo { get; set; } = null!;

    /// <summary>
    /// 車種
    /// </summary>
    public string? CarType { get; set; }

    /// <summary>
    /// 繳費時間
    /// </summary>
    public DateTime? PaidTime { get; set; }

    /// <summary>
    /// 繳費期限
    /// </summary>
    public DateTime? PaidDueDate { get; set; }

    /// <summary>
    /// 卡片號碼
    /// </summary>
    public string? CardNumber { get; set; }

    /// <summary>
    /// 卡片序號
    /// </summary>
    public string? CardSn { get; set; }

    /// <summary>
    /// 上次查詢時間
    /// </summary>
    public DateTime? LastQueryTime { get; set; }

    /// <summary>
    /// 傳給路邊的付款時間
    /// </summary>
    public DateTime? SendToRoadsidePaidTime { get; set; }

    public virtual ICollection<RoadsideSignRecord> RoadsideSignRecords { get; set; } = new List<RoadsideSignRecord>();
}
