Inheritance: BaseModel
 public RouteFacility(
     string uid,
     FacilityType type,
     string name,
     int serviceLevel,
     ExpenseType eType,
     double expense,
     FeeType feeType)
     : this(uid, type, name, serviceLevel, eType, expense, feeType, null)
 {
 }
        public double GetValue(FeeType type)
        {
            lock (_fees)
            {
                if (!_fees.ContainsKey(type))
                {
                    _fees.Add(type, type.DefaultValue);
                }
            }

            return _fees[type];
        }
 //returns the list of fees of a specific type
 public static List<FeeType> GetTypes(FeeType.EFeeType type)
 {
     return GetTypes().FindAll(t => t.Type == type);
 }
 public static void AddType(FeeType type)
 {
     Types.Add(type.Name, type);
 }
        public AirlineFeeMVVM(FeeType feeType, double value)
        {
            FeeType = feeType;
            Value = value;

            Frequency = FeeType.MaxValue - FeeType.MinValue < 4 ? 0.05 : 0.25;
        }
 public RouteFacility(
     string uid,
     FacilityType type,
     string name,
     int serviceLevel,
     ExpenseType eType,
     double expense,
     FeeType feeType,
     AirlineFacility requires)
 {
     Type = type;
     Name = name;
     Uid = uid;
     ServiceLevel = serviceLevel;
     EType = eType;
     ExpensePerPassenger = expense;
     FeeType = feeType;
     Requires = requires;
 }
 //sets the value of a specific fee type
 public void SetValue(FeeType type, double value)
 {
     _fees[type] = value;
 }