namespace GoodBooks.PAY.PAYDAL.DTO.Cashback
{
public class CashbackRuleDTO
{
#region PrivateMembers
private int cashbackruleid;
private string cashbackrulename;
private byte cashbacktype; // 1=Percentage, 2=FlatAmount
private decimal cashbackvalue; // % or flat amount
private decimal minamount; // min order amount to qualify
private decimal maxcashback; // cap per transaction (0 = no cap)
private byte payoutmode; // 1=CreditNote, 2=GatewayPayout, 3=Wallet, 4=LoyaltyPoints
private int payoutdelaydayss; // days after payment before cashback is released
private int paygatewayid; // 0 = all gateways
private bool isactive;
private DateTime? validfrom;
private DateTime? validto;
private string description;
private short version;
private byte status;
private short sortorder;
private int createdbyid;
private DateTime createdon;
private int modifiedbyid;
private DateTime modifiedon;
private byte sourcetype;
private int tenantid;
#endregion
#region PublicProperties
public int CashbackRuleId
{
get { return cashbackruleid; }
set { cashbackruleid = value; }
}
public string CashbackRuleName
{
get { return cashbackrulename; }
set { cashbackrulename = value; }
}
/// 1=Percentage, 2=FlatAmount
public byte CashbackType
{
get { return cashbacktype; }
set { cashbacktype = value; }
}
public decimal CashbackValue
{
get { return cashbackvalue; }
set { cashbackvalue = value; }
}
public decimal MinAmount
{
get { return minamount; }
set { minamount = value; }
}
/// Maximum cashback per transaction. 0 = no cap.
public decimal MaxCashback
{
get { return maxcashback; }
set { maxcashback = value; }
}
/// 1=CreditNote, 2=GatewayPayout, 3=Wallet (Phase 2), 4=LoyaltyPoints
public byte PayoutMode
{
get { return payoutmode; }
set { payoutmode = value; }
}
public int PayoutDelayDays
{
get { return payoutdelaydayss; }
set { payoutdelaydayss = value; }
}
/// 0 = applies to all gateways.
public int PayGatewayId
{
get { return paygatewayid; }
set { paygatewayid = value; }
}
public bool IsActive
{
get { return isactive; }
set { isactive = value; }
}
public DateTime? ValidFrom
{
get { return validfrom; }
set { validfrom = value; }
}
public DateTime? ValidTo
{
get { return validto; }
set { validto = value; }
}
public string Description
{
get { return description; }
set { description = value; }
}
public short Version
{
get { return version; }
set { version = value; }
}
public byte Status
{
get { return status; }
set { status = value; }
}
public short SortOrder
{
get { return sortorder; }
set { sortorder = value; }
}
public int CreatedById
{
get { return createdbyid; }
set { createdbyid = value; }
}
public DateTime CreatedOn
{
get { return createdon; }
set { createdon = value; }
}
public int ModifiedById
{
get { return modifiedbyid; }
set { modifiedbyid = value; }
}
public DateTime ModifiedOn
{
get { return modifiedon; }
set { modifiedon = value; }
}
public byte SourceType
{
get { return sourcetype; }
set { sourcetype = value; }
}
public int TenantId
{
get { return tenantid; }
set { tenantid = value; }
}
#endregion
}
}