diff --git a/src/libs/routes_v1/classroomCount.js b/src/libs/routes_v1/classroomCount.js
index 0edb08630754a72df0d5f25a683ecffea5e6526c..a1dbc69cfedcf13265c49baa6020a01cde7e4ab9 100644
--- a/src/libs/routes_v1/classroomCount.js
+++ b/src/libs/routes_v1/classroomCount.js
@@ -255,6 +255,36 @@ rqf.addField({
     }
 });
 
+function minimunClasses(education_level_short_id) {
+    switch(education_level_short_id) {
+        case 3: // Ensino Fundamental - anos iniciais
+            return 5;
+        case 4: // Ensino Fundamental - anos finais
+            return 4;
+        case 5: // Ensino Médio
+            return 3;
+        case 6: // EJA
+            return 2;
+        default:
+            return 0;
+    }
+}
+
+function minimunEnrollment (ed_level) {
+    switch (ed_level) {
+        case 3: // Ensino Fundamental - anos iniciais
+            return 60;
+        case 4: // Ensino Fundamental - anos finais
+            return 52;
+        case 5: // Ensino Médio
+            return 39;
+        case 6: // EJA
+            return 24;
+        default:
+            return 0;
+    }
+}
+
 classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
     let classSize = JSON.parse(req.body.class_size) || null;
     let integralTime = JSON.parse(req.body.integral_time) || null;
@@ -784,6 +814,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
                     educationLevel.enrollment.full_period_classes = educationLevel.classes_school_year.reduce(reducer('full_period_classes'), 0);
                     educationLevel.enrollment.day_classes = educationLevel.classes_school_year.reduce(reducer('day_classes'), 0);
                     educationLevel.enrollment.total_classrooms_needed = educationLevel.classes_school_year.reduce(reducer('total_classrooms_needed'), 0);
+
                 }
 
                 enrollment = enrollments[j];
@@ -1123,6 +1154,32 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
                 }
 
                 else {
+
+                    let ed_level = educationLevel.education_level_short_id;
+                    let minimun_enrollment = minimunEnrollment(ed_level);
+                    let minimun_classes = minimunClasses(ed_level);
+                    let partial_day_enrollment = educationLevel.enrollment.total_enrollment_day - educationLevel.enrollment.integral_time;
+                    
+                    
+                    // Matrículas diurnas
+                    if (partial_day_enrollment >= minimun_enrollment) {
+                        if (educationLevel.enrollment.day_classes < minimun_classes) {
+                            educationLevel.enrollment.day_classes = minimun_classes;
+                        }
+                    }
+                    // Matrículas integrais
+                    if (educationLevel.enrollment.integral_time >= minimun_enrollment) {
+                        if (educationLevel.enrollment.full_period_classes < minimun_classes) {
+                            educationLevel.enrollment.full_period_classes = minimun_classes;
+                        }
+                    }
+                    // Matrículas noturnas
+                    if (educationLevel.enrollment.total_enrollment_night >= minimun_enrollment) {
+                        if (educationLevel.enrollment.night_classes < minimun_classes) {
+                            educationLevel.enrollment.night_classes = minimun_classes;
+                        }
+                    }
+
                     let teachingTimeFullPeriod = educationLevel.enrollment.full_period_classes * currentTeachingHours[2].value * req.schoolDays[educationLevelId-1].value;
                     let teachingTimeNight = educationLevel.enrollment.night_classes * currentTeachingHours[1].value * req.schoolDays[educationLevelId-1].value;
                     let teachingTimeDay = educationLevel.enrollment.day_classes * currentTeachingHours[0].value * req.schoolDays[educationLevelId-1].value;
diff --git a/src/libs/routes_v2/school.js b/src/libs/routes_v2/school.js
index 097006cd1f16cd526ad8cc4ee6cc914c86852b5f..8a44a234bb15fe8daa9612169e4f150a04708a93 100644
--- a/src/libs/routes_v2/school.js
+++ b/src/libs/routes_v2/school.js
@@ -294,6 +294,26 @@ rqf.addField({
         type: 'integer',
         field: 'dependencia_adm_id'
     }
+}).addValue({
+    name: 'min_year',
+    table: 'escola_agregada',
+    tableField: 'ano_censo',
+    resultField: 'year',
+    where: {
+        relation: '>=',
+        type: 'integer',
+        field: 'ano_censo'
+    }
+}).addValue({
+    name: 'max_year',
+    table: 'escola_agregada',
+    tableField: 'ano_censo',
+    resultField: 'year',
+    where: {
+        relation: '<=',
+        type: 'integer',
+        field: 'ano_censo'
+    }
 }).addField({
     name: 'search',
     field: true,