```csharp= // PRODUCT ENTITY public class MKProduct { public string Id { get; set; } public Locale Name { get; set; } public Locale Label { get; set; } public string StoreId { get; set; } public string CategoryId { get; set; } // public string Unit { get; set; } public decimal Rating { get; set; } public int Sold { get; set; } public string Sku { get; set; } public string HiveSKU { get; set; } // generate uniqe public double Instock { get; set; } public decimal Width { get; set; } public decimal Height { get; set; } public decimal Depth { get; set; } public decimal Weight { get; set; } // public decimal Volume { get; set; } // public string ShelfLife { get; set; } public string Description { get; set; } public int ProductVolumeTradeUnitId { get; set; } public int ProductPriceId { get; set; } // public int ProductUnitConversionId { get; set; } public string PreOrderMode { get; set; } = INSTOCK // public ProductPreOrder PreOrderWeek { get; set; } // public ProductPreOrder PreOrderMonth { get; set; } public ProductStatus { get; set; } // ACTIVE / INACTIVE / SUSPEND / OUT_OF_STOCK public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } // Relate public ICollection<Image> Images { get; set; } public ProductVolumeTradeUnit ProductVolumeTradeUnit { get; set; } public ProductPrice ProductPrice { get; set; } public ICollection<ProductCategoryAttributeValue> ProductCategoryAttributeValue { get; set; } // v1 public ICollection<ProductBaseAttributeValue> ProductBaseAttributeValue { get; set; } // v1 // add new fields public string CreatedBy { get; set; } public string UpdatedBy { get; set; } } public class ProductPreOrder { public int Id { get; set; } public int ProductId { get; set; } public string Day { get; set; } } // PRODUCT PRICE ENTITY public class ProductPrice { public string Id public bool HasVat = IncludeVat // product มี vat/ ไม่มี vat public bool IncludeVat // ราคา include vat / exclude vat public bool AllowQuotation // public bool ToggleDateTime // public decimal SortPrice // ใส่ product price public int UnitId // public decimal Stepping // Relate public ICollection<ProductPriceTier> ProductPriceTiers { get; set; } } // PRODUCT PRICE TIER ENTITY public class ProductPriceTier { public int ProductPriceId public int Tier public decimal Min // volume public decimal Max // volume public decimal Price public bool IsActive public string PriceType } // PRODUCT PROMOTION PRICE TIER ENTITY public class ProductPromotionPriceTier { public int ProductPriceId public int Tier public decimal Price public string PriceType public DateTime StartDate public DateTime EndDate } // PRODUCT VOLUME TRADE UNIT ENTITY public class ProductVolumeTradeUnit { public string Id public string VolumeType => "STATIC" public decimal MinVolume => 1 public decimal MaxVolume => 1 public int VolumeUnitId = TradeUnitId = unitId public int TradeUnitId } // IMAGE ENTITY public class Image { public string Id { get; set; } public string Url { get; set; } public Image Image { get; set; } // new field + public int? Sequence { get; set; } public string ProductId { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } } ```