namespace Grand.Business.Core.Dto;

public class ProductDto
{
    public string Id { get; set; }
    public int? ProductTypeId { get; set; }
    public string ParentGroupedProductId { get; set; }
    public bool? VisibleIndividually { get; set; }
    public string Name { get; set; }
    public string SeName { get; set; }
    public string ShortDescription { get; set; }
    public string FullDescription { get; set; }
    public string AdminComment { get; set; }
    public string ProductLayoutId { get; set; }
    public string BrandId { get; set; }
    public string VendorId { get; set; }
    public bool? ShowOnHomePage { get; set; }
    public bool? BestSeller { get; set; }
    public string MetaKeywords { get; set; }
    public string MetaDescription { get; set; }
    public string MetaTitle { get; set; }
    public bool? AllowCustomerReviews { get; set; }
    public int? ApprovedRatingSum { get; set; }
    public int? NotApprovedRatingSum { get; set; }
    public int? ApprovedTotalReviews { get; set; }
    public int? NotApprovedTotalReviews { get; set; }
    public string ExternalId { get; set; }
    public string Sku { get; set; }
    public string Mpn { get; set; }
    public string Gtin { get; set; }
    public bool? IsGiftVoucher { get; set; }
    public int? GiftVoucherTypeId { get; set; }
    public double? OverGiftAmount { get; set; }
    public bool? RequireOtherProducts { get; set; }
    public string RequiredProductIds { get; set; }
    public bool? AutoAddRequiredProducts { get; set; }
    public bool? IsDownload { get; set; }
    public bool? UnlimitedDownloads { get; set; }
    public int? MaxNumberOfDownloads { get; set; }
    public int? DownloadExpirationDays { get; set; }
    public int? DownloadActivationTypeId { get; set; }
    public bool? HasSampleDownload { get; set; }
    public bool? HasUserAgreement { get; set; }
    public string UserAgreementText { get; set; }
    public bool? IsRecurring { get; set; }
    public int? RecurringCycleLength { get; set; }
    public int? RecurringCyclePeriodId { get; set; }
    public int? RecurringTotalCycles { get; set; }
    public bool? IncBothDate { get; set; }
    public int? Interval { get; set; }
    public int? IntervalUnitId { get; set; }
    public bool? IsShipEnabled { get; set; }
    public bool? IsFreeShipping { get; set; }
    public bool? ShipSeparately { get; set; }
    public double? AdditionalShippingCharge { get; set; }
    public string DeliveryDateId { get; set; }
    public bool? IsTaxExempt { get; set; }
    public string TaxCategoryId { get; set; }
    public bool? IsTele { get; set; }
    public int? ManageInventoryMethodId { get; set; }
    public bool? UseMultipleWarehouses { get; set; }
    public string WarehouseId { get; set; }
    public int? StockQuantity { get; set; }
    public int? ReservedQuantity { get; set; }
    public bool? StockAvailability { get; set; }
    public bool? DisplayStockQuantity { get; set; }
    public int? MinStockQuantity { get; set; }
    public bool? LowStock { get; set; }
    public int? LowStockActivityId { get; set; }
    public int? NotifyAdminForQuantityBelow { get; set; }
    public int? BackorderModeId { get; set; }
    public bool? AllowOutOfStockSubscriptions { get; set; }
    public int? OrderMinimumQuantity { get; set; }
    public int? OrderMaximumQuantity { get; set; }
    public string AllowedQuantities { get; set; }
    public bool? NotReturnable { get; set; }
    public bool? DisableBuyButton { get; set; }
    public bool? DisableWishlistButton { get; set; }
    public bool? AvailableForPreOrder { get; set; }
    public DateTime? PreOrderDateTimeUtc { get; set; }
    public bool? CallForPrice { get; set; }
    public double? Price { get; set; }
    public double? OldPrice { get; set; }
    public double? CatalogPrice { get; set; }
    public double? ProductCost { get; set; }
    public bool? EnteredPrice { get; set; }
    public double? MinEnteredPrice { get; set; }
    public double? MaxEnteredPrice { get; set; }
    public bool? BasePriceEnabled { get; set; }
    public double? BasePriceAmount { get; set; }
    public string BasePriceUnitId { get; set; }
    public double? BasePriceBaseAmount { get; set; }
    public string BasePriceBaseUnitId { get; set; }
    public string UnitId { get; set; }
    public string CourseId { get; set; }
    public bool? MarkAsNew { get; set; }
    public DateTime? MarkAsNewStartDateTimeUtc { get; set; }
    public DateTime? MarkAsNewEndDateTimeUtc { get; set; }
    public double? Weight { get; set; }
    public double? Length { get; set; }
    public double? Width { get; set; }
    public double? Height { get; set; }
    public DateTime? AvailableStartDateTimeUtc { get; set; }
    public DateTime? AvailableEndDateTimeUtc { get; set; }
    public int? DisplayOrder { get; set; }
    public int? DisplayOrderCategory { get; set; }
    public int? DisplayOrderBrand { get; set; }
    public int? DisplayOrderCollection { get; set; }
    public bool? Published { get; set; }
    public int? Sold { get; set; }
    public long? Viewed { get; set; }
    public int? OnSale { get; set; }
    public string Flag { get; set; }
    public string CategoryIds { get; set; }
    public string CollectionIds { get; set; }
    public string Picture1 { get; set; }
    public string Picture2 { get; set; }
    public string Picture3 { get; set; }
}