using System.Collections.Generic; namespace Schedulable.Show { public class Show { public string Name { get; set; } public Preparation Preperation { get; set; } public IEnumerable Procedure { get; set; } public TaskList Postshow { get; set; } } public class Phase { public string Name { get; set; } } public class TaskList { public IEnumerable Manual { get; set; } public IEnumerable Commands { get; set; } } public class Preparation : TaskList { public IEnumerable AgentsNeeded { get; set; } public IEnumerable Checks { get; set; } } public class Checklistable { //for humans public string Label { get; set; } public IEnumerable Items { get; set; } //if no items, just throw up a checkbox } }