diff --git a/src/libs/routes_v2/infrastructure.js b/src/libs/routes_v2/infrastructure.js
index 01cc926488259aa89906f4830ae4f0b7c776be24..89d7e2787c53908876fd22822397ceb9c38694a1 100644
--- a/src/libs/routes_v2/infrastructure.js
+++ b/src/libs/routes_v2/infrastructure.js
@@ -518,12 +518,6 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     haveAdaptedBuilding.where('escola_agregada.dependencias_pne = 1');
     req.queryIndex.haveAdaptedBuilding = req.querySet.push(haveAdaptedBuilding) - 1;
 
-    // Adicionar pátio
-    /*
-    patio = 1 ou 2 -- patio existe, 1 -- a ser coberto, 2 -- é coberto
-    func_predio_escolar = 1
-    localizacao_id = 1 ou 2
-    */
 
     next();
 }, multiQuery, (req, res, next) => {
diff --git a/src/libs/routes_v2/schoolInfrastructure.js b/src/libs/routes_v2/schoolInfrastructure.js
index da4d459304b20b86c8528b95e1fc32f301265085..00b87e03d8a405acf14a686f27b24582a7c8a2b6 100644
--- a/src/libs/routes_v2/schoolInfrastructure.js
+++ b/src/libs/routes_v2/schoolInfrastructure.js
@@ -387,7 +387,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     // ( reg_fund_ai_t1=1 | reg_fund_af_t1=1 | reg_medio_medio_t1=1 | ensino_eja_fund= 1 |     ensino_eja_medio= 1 | ensino_eja_prof= 1 | esp_eja_fund=1 | 
     // esp_eja_medio=1 | ensino_esp_exclusiva_eja_prof=1) então conta id
     let allInfLab = allSchools.clone();
-    allInfLab.where('reg_fund_ai_t1=1 OR reg_fund_af_t1=1 OR reg_medio_medio_t1=1 OR ensino_eja_fund=1 OR ensino_eja_medio=1 OR ensino_eja_prof=1 OR esp_eja_fund=1 OR esp_eja_medio=1 OR ensino_esp_exclusiva_eja_prof=1');
+    allInfLab.where('etapa_en_fundamental_anos_iniciais = 1 OR etapa_en_fundamental_anos_finais = 1 OR etapa_en_medio = 1');
     req.queryIndex.allInfLab = req.querySet.push(allInfLab) - 1;
 
     let haveInfLab = allInfLab.clone();
@@ -404,7 +404,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allScienceLab = req.querySet.push(allScienceLab) - 1;
 
     let haveScienceLab = allScienceLab.clone();
-    haveScienceLab.where('escola_agregada.lab_ciencias = true');
+    haveScienceLab.where('escola_agregada.lab_ciencias = 1 AND (etapa_en_fundamental_anos_finais = 1 OR etapa_en_medio = 1)');
     req.queryIndex.haveScienceLab = req.querySet.push(haveScienceLab) - 1;
 
     let needScienceLab = allScienceLab.clone();
@@ -415,7 +415,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     // Se (situacao_de_funcionamento=1) and (ensino_regular=1 OR ensino_eja=1 OR educacao_profissional=1) and 
     // (local_func_predio_escolar=1) and (dependencia_adm_id<=3) and (reg_infantil_creche_t1=1 or reg_infantil_preescola_t1=1 or reg_fund_ai_t1=1) então conta id
     let allKidsPark = allSchools.clone();
-    allKidsPark.where('reg_infantil_creche_t1=1 OR reg_infantil_preescola_t1=1 OR reg_fund_ai_t1=1');
+    allKidsPark.where('escola_agregada.etapa_ed_infantil_creche = 1 OR escola_agregada.etapa_en_fundamental_anos_iniciais = 1');
     req.queryIndex.allKidsPark = req.querySet.push(allKidsPark) - 1;
 
     let haveKidsPark = allKidsPark.clone();
@@ -441,15 +441,15 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Quadra de esportes
     let allSportsCourt = allSchools.clone();
-    allSportsCourt.where('reg_fund_ai_t1=1  or reg_fund_af_t1=1 or  reg_medio_medio_t1=1  or  ensino_eja_fund= 1 or ensino_eja_medio= 1 or ensino_eja_prof= 1 or esp_eja_fund=1 or esp_eja_medio=1 or ensino_esp_exclusiva_eja_prof=1');
+    allSportsCourt.where('escola_agregada.localizacao_id = 1 AND (etapa_en_fundamental_anos_iniciais = 1 OR etapa_en_fundamental_anos_finais = 1 OR etapa_en_medio = 1)');
     req.queryIndex.allSportsCourt = req.querySet.push(allSportsCourt) - 1;
 
     let haveSportsCourt = allSportsCourt.clone();
-    haveSportsCourt.where('escola_agregada.quadra_esportes = 1');
+    haveSportsCourt.where('escola_agregada.quadra_esportes = 1 AND (etapa_en_fundamental_anos_iniciais = 1 OR etapa_en_fundamental_anos_finais = 1 OR etapa_en_medio = 1)');
     req.queryIndex.haveSportsCourt = req.querySet.push(haveSportsCourt) - 1;
 
     let needSportsCourt = allSportsCourt.clone();
-    needSportsCourt.where('escola_agregada.quadra_esportes = 0');
+    needSportsCourt.where('escola_agregada.quadra_esportes = 0 AND (etapa_en_fundamental_anos_iniciais = 1 OR etapa_en_fundamental_anos_finais = 1 OR etapa_en_medio = 1)');
     req.queryIndex.needSportsCourt = req.querySet.push(needSportsCourt) - 1;
 
     // Quadras a serem cobertas
@@ -468,11 +468,11 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allCourtyard = req.queryIndex.allSchools;
 
     let haveCourtyard = allSchools.clone();
-    haveCourtyard.where('escola_agregada.patio = 1 OR escola_agregada.patio = 2');
+    haveCourtyard.where('escola_agregada.func_predio_escolar = 1 AND (escola_agregada.patio = 1 OR escola_agregada.patio = 2)');
     req.queryIndex.haveCourtyard = req.querySet.push(haveCourtyard) - 1;
 
     let needCourtyard = allSchools.clone();
-    needCourtyard.where('escola_agregada.patio = 0');
+    needCourtyard.where('escola_agregada.func_predio_escolar = 1 AND escola_agregada.patio = 0');
     req.queryIndex.needCourtyard = req.querySet.push(needCourtyard) - 1;
 
     // Pátios a serem cobertos
@@ -554,11 +554,11 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allInternet = req.queryIndex.allCountrySchools;
 
     let haveInternet = allCountrySchools.clone();
-    haveInternet.where('escola_agregada.internet = 1');
+    haveInternet.where('escola_agregada.internet = 1 AND localizacao_id = 2');
     req.queryIndex.haveInternet = req.querySet.push(haveInternet) - 1;
 
     let needInternet = allCountrySchools.clone();
-    needInternet.where('escola_agregada.internet = 0');
+    needInternet.where('escola_agregada.internet = 0 AND localizacao_id = 2');
     req.queryIndex.needInternet = req.querySet.push(needInternet) - 1;
 
     // Internet banda larga
@@ -567,11 +567,11 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allBroadbandInternet = req.queryIndex.allUrbanSchools;
 
     let haveBroadbandInternet = allUrbanSchools.clone();
-    haveBroadbandInternet.where('escola_agregada.internet_banda_larga = 1');
+    haveBroadbandInternet.where('escola_agregada.internet_banda_larga = 1 AND localizacao_id = 1');
     req.queryIndex.haveBroadbandInternet = req.querySet.push(haveBroadbandInternet) - 1;
 
     let needBroadbandInternet = allUrbanSchools.clone();
-    needBroadbandInternet.where('escola_agregada.internet_banda_larga = 0');
+    needBroadbandInternet.where('escola_agregada.internet_banda_larga = 0 AND localizacao_id = 1');
     req.queryIndex.needBroadbandInternet = req.querySet.push(needBroadbandInternet) - 1;
 
     // Banheiro
@@ -593,11 +593,11 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allInsideKidsBathroom = req.querySet.push(allInsideKidsBathroom) - 1;
 
     let haveInsideKidsBathroom = allInsideKidsBathroom.clone();
-    haveInsideKidsBathroom.where('escola_agregada.sanitario_ei = 1');
+    haveInsideKidsBathroom.where('escola_agregada.sanitario_ei = 1 AND (escola_agregada.etapa_ed_infantil_creche = 1 OR escola_agregada.etapa_en_fundamental_anos_iniciais = 1) AND localizacao_id IN (1, 2)');
     req.queryIndex.haveInsideKidsBathroom = req.querySet.push(haveInsideKidsBathroom) - 1;
 
     let needInsideKidsBathroom = allInsideKidsBathroom.clone();
-    needInsideKidsBathroom.where('escola_agregada.sanitario_ei = 0');
+    needInsideKidsBathroom.where('escola_agregada.sanitario_ei = 0 AND (escola_agregada.etapa_ed_infantil_creche = 1 OR escola_agregada.etapa_en_fundamental_anos_iniciais = 1) AND localizacao_id IN (1, 2)');
     req.queryIndex.needInsideKidsBathroom = req.querySet.push(needInsideKidsBathroom) - 1;
 
     // Fornecimento de energia