using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace Dfs.WayneChina.PosModelMini { public class PosTrx { /// /// Unique id of the POS transaction. /// public Guid Id { get; set; } /// /// The line items of the POS transaction. /// public virtual List Items { get; set; } /// /// The discounts of the POS transaction. /// public virtual List Discounts { get; set; } /// /// The payments of the POS transaction. /// public virtual List Payments { get; set; } /// /// Source of the POS transaction, indoor or outdoor. /// public PosTrxSource TransactionSource { get; set; } /// /// POS transaction type. /// public PosTrxType TransactionType { get; set; } /// /// notice, this value could be duplicated due to business requirment (used by rolling). /// [MaxLength(20)] public string ReceiptId { get; set; } /// /// notice, this value could be duplicated due to business requirment (used by rolling). /// public int ShiftId { get; set; } /// /// Gets or sets the time of the trx posted from POS, POS will set this value from its side. /// [Required] public DateTime TransactionInitTimeInPos { get; set; } /// /// Gets or sets the time of the trx posted from POS and received by server, server will set this value once received it. /// public DateTime TransactionArrivedAtServerTime { get; set; } /// /// amount that the customer finally needs to pay /// public decimal NetAmount { get; set; } /// /// total amount without discount deducted yet. /// public decimal GrossAmount { get; set; } /// /// Id of the currency used to pay the POS transaction. /// public Guid? CurrencyId { get; set; } /// /// Currency used to pay the transaction. /// public virtual Currency Currency { get; set; } /// /// POS Transaction status. /// public PosTrxStatus TransactionStatus { get; set; } /// /// Refund link. /// public Guid? RefundLink { get; set; } /// /// Id of the business unit this transaction is made. /// public Guid BusinessUnitId { get; set; } /// /// Gets or sets which BusinessUnit(typically a site) created this PosTrx. /// public virtual BusinessUnit CreatedFromSite { get; set; } /// /// Site device unique id. /// public Guid SiteDeviceId { get; set; } /// /// Gets or sets which SiteDevice created (by a operator operates on it) this PosTrx. /// public virtual SiteDevice CreatedFromSiteDevice { get; set; } /// /// Additional info regarding the current transaction. /// public string TrxComment { get; set; } } }