Index: backend/auth_form/signals.py
===================================================================
--- backend/auth_form/signals.py	(revision 770bcb8e6383b7118062c2f9fa056e861be140ad)
+++ backend/auth_form/signals.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
@@ -17,5 +17,6 @@
 def invalidate_recommendations_cache(sender, instance, **kwargs):
     for season in [0,1,2]:
-        cache_key = get_recommendations_cache_key(instance, season)
-        if cache_key:
-            cache.delete(cache_key)
+        for not_activated in [0, 1]:
+            cache_key = get_recommendations_cache_key(instance, season, not_activated)
+            if cache_key:
+                cache.delete(cache_key)
Index: backend/backend/urls.py
===================================================================
--- backend/backend/urls.py	(revision 770bcb8e6383b7118062c2f9fa056e861be140ad)
+++ backend/backend/urls.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
@@ -17,10 +17,10 @@
 from django.contrib import admin
 from django.urls import path, include
-from subjects.views import index, all_subjects, get_suggestions, ToggleSubjectPreferences, PreferencesView
+from subjects.views import index, all_subjects, get_recommendations, ToggleSubjectPreferences, PreferencesView
 
 urlpatterns = [
     path('admin/', admin.site.urls),
     path('subjects/', all_subjects),
-    path('suggestion/', get_suggestions),
+    path('recommendations/', get_recommendations),
     path('student/preferences/', PreferencesView.as_view(), name='student-preferences'),
     path('student/toggle-subject-pref/', ToggleSubjectPreferences.as_view(), name='student-toggle-favorite'),
Index: backend/subjects/utils.py
===================================================================
--- backend/subjects/utils.py	(revision 770bcb8e6383b7118062c2f9fa056e861be140ad)
+++ backend/subjects/utils.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
@@ -23,11 +23,11 @@
     TAG_GRAPH = json.load(f)
 
-def get_recommendations_cache_key(student, season):
+def get_recommendations_cache_key(student, season, not_activated):
     passed_subjects_hash = hash(tuple(sorted(student.passed_subjects.values_list('id', flat=True))))
-    cache_key = (f"student_{student.id}_season_{season}_effort_{student.study_effort}"
+    cache_key = (f"student_{student.id}_season_{season}_not_activated{not_activated}_effort_{student.study_effort}"
                  f"_year_{student.current_year}_passed_{passed_subjects_hash}")
     return cache_key
 
-def get_eligible_subjects(student, season = 2):
+def get_eligible_subjects(student, season = 2, not_activated = 0):
     """
     determines and returns a list of subjects that a student is eligible to enroll in.
@@ -38,4 +38,7 @@
             - 1: winter
             - 2: all (default)
+        not_activated (int, optional): whether to exclude subjects that are not activated.
+            - 0: exclude not activated subjects (default)
+            - 1: include not activated subjects
     returns:
         list: a list of Subject instances that the student is eligible to enroll in.
@@ -60,5 +63,5 @@
     study_effort = student.study_effort
     current_year = student.current_year
-
+    
     all_subjects = (Subject.objects
         .exclude(id__in=passed_ids)
@@ -67,4 +70,7 @@
     )
 
+    if not_activated == 0:
+        all_subjects = all_subjects.filter(subject_info__activated=True)
+        
     if season == 0:
         all_subjects = all_subjects.exclude(subject_info__season='W')
@@ -252,5 +258,5 @@
     return subjects_tag_scores
 
-def get_recommendations(subjects_tag_scores):
+def get_recommended_subjects(subjects_tag_scores):
     """
     generates a list of recommended subjects based on weighted scores.
Index: backend/subjects/views.py
===================================================================
--- backend/subjects/views.py	(revision 770bcb8e6383b7118062c2f9fa056e861be140ad)
+++ backend/subjects/views.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
@@ -8,5 +8,5 @@
 from rest_framework.permissions import IsAuthenticated
 from django.db.models import Case, When
-from subjects.utils import get_eligible_subjects, get_recommendations, get_recommendations_cache_key, map_to_subjects_vector, score_for_preferences, get_student_vector
+from subjects.utils import get_eligible_subjects, get_recommendations_cache_key, get_recommended_subjects, map_to_subjects_vector, score_for_preferences, get_student_vector
 from .serializers import SubjectSerializer
 from .models import Subject
@@ -22,16 +22,17 @@
 
 @api_view(['GET'])
-def get_suggestions(request):
-    season = request.query_params.get('season')
-    if not season: season = 2 # 2 -> any season
+def get_recommendations(request):
+    season = request.query_params.get('season', 2)
+    not_activated = request.query_params.get('not_activated', 0)
     try:
+        not_activated = int(not_activated)
         season = int(season)
     except ValueError:
-        return Response({"message": "Invalid season"}, status=status.HTTP_400_BAD_REQUEST)
+        return Response({"message": "invalid params"}, status=status.HTTP_400_BAD_REQUEST)
     
     student = request.user.student
     if not student:
         return Response({"message": "Could not find student"}, status=status.HTTP_400_BAD_REQUEST)
-    cache_key = get_recommendations_cache_key(student, season)
+    cache_key = get_recommendations_cache_key(student, season, not_activated)
     if cache_key:
         cached_data = cache.get(cache_key)
@@ -39,9 +40,9 @@
             return Response({"data": json.loads(cached_data)}, status=status.HTTP_200_OK)
     try:
-        subjects = get_eligible_subjects(student, season=season)
+        subjects = get_eligible_subjects(student, season=season, not_activated=not_activated)
         subject_vectors = map_to_subjects_vector(subjects)
         student_vector = get_student_vector(student)
     
-        final_subjects = get_recommendations(score_for_preferences(student_vector, subject_vectors))
+        final_subjects = get_recommended_subjects(score_for_preferences(student_vector, subject_vectors))
 
         order = Case(*[When(name=subject_name, then=pos) for pos, subject_name in enumerate(final_subjects)])
Index: frontend/src/pages/Recommendations.tsx
===================================================================
--- frontend/src/pages/Recommendations.tsx	(revision 770bcb8e6383b7118062c2f9fa056e861be140ad)
+++ frontend/src/pages/Recommendations.tsx	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
@@ -23,4 +23,5 @@
 	const [recommendationsLoaded, setRecommendationsLoaded] = useState(true);
 	const [season_, setSeason] = useState<"winter" | "summer" | "all">("all");
+	const [includeNotActivated, setIncludeNotActivated] = useState(false);
 	const [showModal, setShowModal] = useState(false);
 	const [hasSearched, setHasSearched] = useState(false);
@@ -41,6 +42,7 @@
 		try {
 			const season = mapToSeasonInt(season_);
-			const response = await axiosInstance.get("/suggestion", {
-				params: { season },
+			const notActivated = includeNotActivated ? 1 : 0;
+			const response = await axiosInstance.get("/recommendations", {
+				params: { season, not_activated: notActivated },
 			});
 			setRecommendations(response.data.data);
@@ -161,4 +163,18 @@
 							)}
 						</button>
+
+						<div className="flex flex-col items-center space-y-2">
+							<label className="flex items-center space-x-2 cursor-pointer">
+								<input
+									type="checkbox"
+									checked={includeNotActivated}
+									onChange={() => setIncludeNotActivated(!includeNotActivated)}
+									className="form-checkbox h-5 w-5 text-blue-600"
+								/>
+								<span className="text-gray-700">
+									Сакам да добивам и неактивирани предмети
+								</span>
+							</label>
+						</div>
 					</div>
 
