Shared Sample Model and Data

Reusable C# classes and sample booking data used across LINQ Reporting documentation examples.
What is this page about?

This page defines a shared sample model and sample data setup used across LINQ Reporting documentation.

Use these classes and this setup as a common baseline while reading examples on other pages.

Shared C# Data Model

Use this data model as a common baseline when reading examples on other pages:

public sealed class Booking
{
    public string Reference { get; set; } = string.Empty;
    public string PrimaryTraveler { get; set; } = string.Empty;
    public DateTime DepartureDate { get; set; }
    public decimal TotalAmount { get; set; }
    public string? UpgradeOffer { get; set; }
    public string? SpecialInstructions { get; set; }
    public bool IsRefundable { get; set; }
    public bool HasCreditOnly { get; set; }
    public Dictionary<string, string> Metadata { get; set; } = new();
    public List<string> PackingChecklist { get; set; } = new();
    public List<Traveler> Travelers { get; set; } = new();
    public List<FlightSegment> Segments { get; set; } = new();
}

public sealed class Traveler
{
    public string FullName { get; set; } = string.Empty;
    public string? Seat { get; set; }
    public string? MealPreference { get; set; }
    public string? SpecialAssistance { get; set; }
    public List<Bag> Bags { get; set; } = new();
    public List<FlightSegment> PersonalSegments { get; set; } = new();
}

public sealed class FlightSegment
{
    public string Carrier { get; set; } = string.Empty;
    public string From { get; set; } = string.Empty;
    public string To { get; set; } = string.Empty;
    public DateTime DepartureUtc { get; set; }
    public bool IsConfirmed { get; set; }
}

public sealed class Bag
{
    public string Tag { get; set; } = string.Empty;
}

Sample Data Setup

Use this sample data setup as a common baseline when reading examples on other pages:

Booking booking = new Booking
{
    Reference = "BK-48291",
    PrimaryTraveler = "Avery Chen",
    DepartureDate = new DateTime(2026, 6, 14),
    TotalAmount = 1840.50m,
    UpgradeOffer = null,
    SpecialInstructions = null,
    IsRefundable = true,
    HasCreditOnly = false,
    Metadata = new Dictionary<string, string>
    {
        ["SupportLanguage"] = "English"
    },
    PackingChecklist = new List<string>
    {
        "Passport",
        "Travel adapter",
        "Medication"
    },
    Segments = new List<FlightSegment>
    {
        new FlightSegment
        {
            Carrier = "Pacific Air",
            From = "Seattle",
            To = "Tokyo",
            DepartureUtc = new DateTime(2026, 6, 14, 9, 20, 0),
            IsConfirmed = true
        },
        new FlightSegment
        {
            Carrier = "Pacific Air",
            From = "Tokyo",
            To = "Singapore",
            DepartureUtc = new DateTime(2026, 6, 18, 13, 5, 0),
            IsConfirmed = true
        },
        new FlightSegment
        {
            Carrier = "Harbor Jet",
            From = "Singapore",
            To = "Sydney",
            DepartureUtc = new DateTime(2026, 6, 21, 8, 30, 0),
            IsConfirmed = false
        }
    },
    Travelers = new List<Traveler>
    {
        new Traveler
        {
            FullName = "Avery Chen",
            Seat = "12A",
            MealPreference = "Vegetarian",
            SpecialAssistance = null,
            Bags = new List<Bag>
            {
                new Bag { Tag = "BG-1001" },
                new Bag { Tag = "BG-1002" }
            },
            PersonalSegments = new List<FlightSegment>
            {
                new FlightSegment { From = "Seattle", To = "Tokyo" },
                new FlightSegment { From = "Tokyo", To = "Singapore" }
            }
        },
        new Traveler
        {
            FullName = "Noah Patel",
            Seat = null,
            MealPreference = null,
            SpecialAssistance = null,
            Bags = new List<Bag>
            {
                new Bag { Tag = "BG-2001" }
            },
            PersonalSegments = new List<FlightSegment>
            {
                new FlightSegment { From = "Seattle", To = "Tokyo" }
            }
        }
    }
};