diff --git a/src/libs/routes/transport.js b/src/libs/routes/transport.js
index a93de2e2995599e17d310a9dc498e7c62f03bcae..7af1b9907366b1de7be37f1db0c4d5d4d7dc8487 100644
--- a/src/libs/routes/transport.js
+++ b/src/libs/routes/transport.js
@@ -211,6 +211,26 @@ rqf.addField({
         type: 'integer',
         field: 'etapas_mod_ensino_segmento_id'
     }
+}).addValue({
+    name: 'service_type',
+    table: 'matricula',
+    tableField: 'tipo',
+    resultField: 'service_type_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'tipo'
+    }
+}).addValue({
+    name: 'service_type',
+    table: 'matricula',
+    tableField: 'tipo',
+    resultField: 'service_type_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'tipo'
+    }
 }).addValue({
     name: 'min_year',
     table: 'matricula',
@@ -280,13 +300,23 @@ transportApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     allEnrollment.field('COUNT(*)', 'total')
     .field("'Brasil'", 'name')
     .field('matricula.ano_censo', 'year')
+    .from('matricula')
+    .group('matricula.ano_censo')
+    .order('matricula.ano_censo')
+    .where('matricula.tipo <= 3');
+    req.queryIndex.allEnrollment = req.querySet.push(allEnrollment) - 1;
+
+    let allEnrollmentTransport = req.sql.clone()
+    allEnrollmentTransport.field('COUNT(*)', 'total')
+    .field("'Brasil'", 'name')
+    .field('matricula.ano_censo', 'year')
     .field('matricula.transporte_escolar_publico', 'use_transport_id')
     .from('matricula')
     .group('matricula.ano_censo')
     .group('matricula.transporte_escolar_publico')
     .order('matricula.ano_censo')
     .where('matricula.tipo <= 3');
-    req.queryIndex.allEnrollment = req.querySet.push(allEnrollment) - 1;
+    req.queryIndex.allEnrollmentTransport = req.querySet.push(allEnrollmentTransport) - 1;
 
 
     let allTransports = req.sql.clone()
@@ -379,33 +409,58 @@ transportApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     next();
 }, multiQuery, (req, res, next) => {
+    let transport_match = [];
+    let transport_match_0 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allTransports]));
+    let transport_match_1 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allTransports]));
+
+    let all_enrollment_match = [];
+    let all_enrollment_match_0 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allEnrollment]));
+    let all_enrollment_match_1 = JSON.parse(JSON.stringify(req.result[req.queryIndex.allEnrollment]));
+
+    //modifica adicionando use_transport_id=false, com os mesmos valores
+    //do transport_id=true, usado para dar o match e fazer a divisão.
+    for (let i = 0; i < transport_match_0.length; i++) {
+        transport_match_0[i].use_transport_id = true;
+        transport_match.push(transport_match_0[i])
+        transport_match_1[i].use_transport_id = false;
+        transport_match.push(transport_match_1[i])
+    }
+
+    //modifica adicionando use_transport_id=false, com os mesmos valores
+    //do transport_id=true, usado para dar o match e fazer a divisão.
+    for (let i = 0; i < all_enrollment_match_0.length; i++) {
+        all_enrollment_match_0[i].use_transport_id = true;
+        all_enrollment_match.push(all_enrollment_match_0[i])
+        all_enrollment_match_1[i].use_transport_id = false;
+        all_enrollment_match.push(all_enrollment_match_1[i])
+    }
 
-    let public_transport = req.result[req.queryIndex.allEnrollment];
-    let van_and_kombi = req.result[req.queryIndex.goVansAndKombi];
-    let micro_bus = req.result[req.queryIndex.goMicroBus];
-    let Bus = req.result[req.queryIndex.goBus];
-    let bike = req.result[req.queryIndex.goBikes];
-    let animal_traction = req.result[req.queryIndex.goAnimalTraction];
-    let other_vehicle = req.result[req.queryIndex.goOtherVehicle];
-    let waterway_5_Students = req.result[req.queryIndex.goWaterway_5_Students];
-    let waterway_15_Students = req.result[req.queryIndex.goWaterway_15_Students];
-    let waterway_35_Students = req.result[req.queryIndex.goWaterway_35_Students];
-    let waterway_More_Than_35 = req.result[req.queryIndex.goWaterwayMoreThan_35];
-    let subway_and_train = req.result[req.queryIndex.goSubwayAndTrain];
+    let public_transport = matchQueries(all_enrollment_match, req.result[req.queryIndex.allEnrollmentTransport]);
+    let van_and_kombi = matchQueries(transport_match, req.result[req.queryIndex.goVansAndKombi]);
+    let micro_bus = matchQueries(transport_match, req.result[req.queryIndex.goMicroBus]);
+    let bus = matchQueries(transport_match, req.result[req.queryIndex.goBus]);
+    let bike = matchQueries(transport_match, req.result[req.queryIndex.goBikes]);
+    let animal_traction = matchQueries(transport_match, req.result[req.queryIndex.goAnimalTraction]);
+    let other_vehicle = matchQueries(transport_match, req.result[req.queryIndex.goOtherVehicle]);
+    let waterway_5_Students = matchQueries(transport_match, req.result[req.queryIndex.goWaterway_5_Students]);
+    let waterway_15_Students = matchQueries(transport_match, req.result[req.queryIndex.goWaterway_15_Students]);
+    let waterway_35_Students = matchQueries(transport_match, req.result[req.queryIndex.goWaterway_35_Students]);
+    let waterway_More_Than_35 = matchQueries(transport_match, req.result[req.queryIndex.goWaterwayMoreThan_35]);
+    let subway_and_train = matchQueries(transport_match, req.result[req.queryIndex.goSubwayAndTrain]);
 
     req.result = [{
-          public_transport,
-          van_and_kombi,
-          micro_bus,
-          Bus,
-          bike,
-          animal_traction,
-          other_vehicle,
-          waterway_5_Students,
-          waterway_15_Students,
-          waterway_35_Students,
-          waterway_More_Than_35,
-          subway_and_train
+        public_transport,
+        van_and_kombi,
+        micro_bus,
+        bus,
+        bike,
+        animal_traction,
+        other_vehicle,
+        waterway_5_Students,
+        waterway_15_Students,
+        waterway_35_Students,
+        waterway_More_Than_35,
+        subway_and_train
     }];
     next();
 }, id2str.multitransform(false), response('transports'));