using System;

namespace PolyTrader.Modules.ResolutionFarming.Services
{
    /// <summary>
    /// Roh-Eingabe des Scanners für einen einzelnen Favoriten-Ausgang eines bald auflösenden Marktes.
    /// Wird von einer <see cref="IFarmingMarketSource"/> geliefert (Live: Gamma-API + CLOB-Book; im
    /// Test: Fake). Die Bewertung/Filterung passiert rein in <c>FarmingScanner</c>/<c>FarmingRiskEngine</c>.
    /// </summary>
    public sealed class ScannedMarket
    {
        public string TokenId { get; set; } = string.Empty;
        public string MarketSlug { get; set; } = string.Empty;
        public string EventSlug { get; set; } = string.Empty;
        public string MarketQuestion { get; set; } = string.Empty;
        public string Outcome { get; set; } = string.Empty;
        public string Category { get; set; } = string.Empty;
        public string Tags { get; set; } = string.Empty;

        /// <summary>Bester Ask des Favoriten (0–1).</summary>
        public decimal Ask { get; set; }

        /// <summary>Taker-Fee-Satz (bps) laut Markt-Objekt; 0 = unbekannt → Kategorie-Fallback.</summary>
        public int FeeBps { get; set; }

        public DateTime? EndDate { get; set; }

        /// <summary>Stunden bis zur Auflösung (aus EndDate); für Score/Filter.</summary>
        public double HoursToResolution { get; set; }
    }
}
