namespace BackOffice.Pages.Commission;

public class WithdrawalRequestModel
{
    public long Id { get; set; }
    public long UserId { get; set; }
    public string UserName { get; set; } = string.Empty;
    public string PhoneNumber { get; set; } = string.Empty;
    public long Amount { get; set; }
    public int Status { get; set; } // 0=Pending, 1=Approved, 2=Rejected, 3=Processed
    public string? BankAccount { get; set; }
    public string? BankName { get; set; }
    public string Method { get; set; } = "Bank"; // Bank, Crypto, etc.
    public Google.Protobuf.WellKnownTypes.Timestamp RequestedAt { get; set; } = new();
    public DateTime RequestDate { get; set; }
    public DateTime? ProcessedDate { get; set; }
    public string? AdminNote { get; set; }
    public string? BankReferenceId { get; set; }
    public string? BankTrackingCode { get; set; }
    public string? PaymentFailureReason { get; set; }
    public string? IbanNumber { get; set; }
    public string? PackageName { get; set; }
}
