using System.Collections.Generic;
public abstract class Detail
public DateTime ActivityDateTimeUtc { get; init; }
public decimal ResponseTimeAdjusted { get; init; }
public abstract DateTime SoldDate { get; init; }
public class PendingSalesDetail : Detail
public override DateTime SoldDate { get; init; }
public class OpenVisitsDetail : Detail
public override DateTime SoldDate { get; init; }
public DateTime VisitDate { get; init; }
public static void Main()
List<Detail> details = new List<Detail>();
details.Add(new PendingSalesDetail() { SoldDate = DateTime.Now });
details.Add(new OpenVisitsDetail() { VisitDate = DateTime.Now });
string jsonString = JsonSerializer.Serialize(details);
Console.WriteLine(jsonString);