public HotelType FindCheapestBestRatedHotel(string startDate, string endDate, CustomerType type)
        {
            HotelDetails LakeWood       = new HotelDetails(HotelType.LAKEWOOD, type);
            HotelDetails BridgeWood     = new HotelDetails(HotelType.BRIDGEWOOD, type);
            HotelDetails RidgeWood      = new HotelDetails(HotelType.RIDGEWOOD, type);
            double       LakeWoodRate   = LakeWood.FindTotalCost(startDate, endDate);
            double       BridgeWoodRate = BridgeWood.FindTotalCost(startDate, endDate);
            double       RidgeWoodRate  = RidgeWood.FindTotalCost(startDate, endDate);
            double       MinRate        = Math.Min(LakeWoodRate, Math.Min(BridgeWoodRate, RidgeWoodRate));

            if (MinRate == RidgeWoodRate)
            {
                if (RidgeWood.RATING >= 4)
                {
                    return(HotelType.RIDGEWOOD);
                }
                else if (LakeWoodRate < BridgeWoodRate)
                {
                    if (LakeWood.RATING >= 4)
                    {
                        return(HotelType.LAKEWOOD);
                    }
                }
                else
                {
                    if (BridgeWood.RATING >= 4)
                    {
                        return(HotelType.BRIDGEWOOD);
                    }
                }
            }
            if (MinRate == LakeWoodRate)
            {
                if (LakeWood.RATING >= 4)
                {
                    return(HotelType.LAKEWOOD);
                }
                else if (RidgeWoodRate < BridgeWoodRate)
                {
                    if (RidgeWood.RATING >= 4)
                    {
                        return(HotelType.RIDGEWOOD);
                    }
                }
                else
                {
                    if (BridgeWood.RATING >= 4)
                    {
                        return(HotelType.BRIDGEWOOD);
                    }
                }
            }
            if (MinRate == BridgeWoodRate)
            {
                if (BridgeWood.RATING >= 4)
                {
                    return(HotelType.BRIDGEWOOD);
                }
                else if (LakeWoodRate < RidgeWoodRate)
                {
                    if (LakeWood.RATING >= 4)
                    {
                        return(HotelType.LAKEWOOD);
                    }
                }
                else
                {
                    if (RidgeWood.RATING >= 4)
                    {
                        return(HotelType.RIDGEWOOD);
                    }
                }
            }
            return(HotelType.RIDGEWOOD);
        }