namespace CMSMicroservice.Application.PackageCQ.Queries.GetCustomerPackageDetails;

public class GetCustomerPackageDetailsResponseDto
{
    public long Id { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public long Price { get; set; }
    public string ImagePath { get; set; }
    public List<PackageFeatureDto> Features { get; set; } = new();
    public PurchaseRequirementsDto Requirements { get; set; }
    // New package-based fields
    public long ActivationFee { get; set; }
    public double DiscountMultiplier { get; set; }
    public double MagicWalletMultiplier { get; set; }
    public long MagicWalletMaxDeposit { get; set; }
    public long MagicWalletMaxCredit { get; set; }
    public bool IsBasePackage { get; set; }
    public bool SupportsDayaPurchase { get; set; }
    public bool SupportsDirectPurchase { get; set; }
}

public class PackageFeatureDto
{
    public string Title { get; set; }
    public string Description { get; set; }
    public string Icon { get; set; }
    public bool IsHighlighted { get; set; }
}

public class PurchaseRequirementsDto
{
    public bool RequiresMembership { get; set; }
    public long MinimumWalletBalance { get; set; }
    public List<string> Restrictions { get; set; } = new();
}
