diff --git a/src/libs/app.js b/src/libs/app.js
index b8b953c1ca4b23d2cc743611d6570b1d500de1e1..5a1097988e77bf77b555095c51a5a9ef350a7aa3 100644
--- a/src/libs/app.js
+++ b/src/libs/app.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 const cookieParser = require('cookie-parser');
 const bodyParser = require('body-parser');
@@ -55,6 +75,7 @@ app.use((req, res, next) => {
         };
         return cloned;
     };
+
     next();
 });
 app.use(passport.initialize());
diff --git a/src/libs/config.js b/src/libs/config.js
index 2c07d19e94ba2505205d613a9ac6d5596c388502..cdc58c2f648e66d644c25c50da7a451c7e764ac1 100644
--- a/src/libs/config.js
+++ b/src/libs/config.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 let conf = require(`${process.cwd()}/config.json`);
 
 conf = conf[process.env.NODE_ENV];
diff --git a/src/libs/convert/admDependency.js b/src/libs/convert/admDependency.js
index 16017f06634d2d9b69ad1e605c4922c2b29ff243..fca63f3fba14afd01f482fbdc4222d4852c96fdf 100644
--- a/src/libs/convert/admDependency.js
+++ b/src/libs/convert/admDependency.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function admDependency(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/admDependencyPriv.js b/src/libs/convert/admDependencyPriv.js
index 62afaa8354d2ebabe30826e66aceeb2a8c036790..0c5036fb1b0a070497dfc268f1b851bfc1e48b43 100644
--- a/src/libs/convert/admDependencyPriv.js
+++ b/src/libs/convert/admDependencyPriv.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function admDependencyPriv(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/ageRange.js b/src/libs/convert/ageRange.js
index 30bc9f6c0cd64123a3673f248a222351634627ed..4a88182998b7af0f07713984f161dd3a6fb8125a 100644
--- a/src/libs/convert/ageRange.js
+++ b/src/libs/convert/ageRange.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function ageRange(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/ageRangeAll.js b/src/libs/convert/ageRangeAll.js
index 2b4cab9cbf786a1a568912d9b3f7085e2789d26a..1ad1c54ee82d26a9d93d9608b38e9cc624a82428 100644
--- a/src/libs/convert/ageRangeAll.js
+++ b/src/libs/convert/ageRangeAll.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function ageRange(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/agreement.js b/src/libs/convert/agreement.js
index e9c5c774b0af69ed5b47d23e20893d7a953b8a4c..3490ef69770686f6f48880f373e4125d71038a04 100644
--- a/src/libs/convert/agreement.js
+++ b/src/libs/convert/agreement.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function agreement(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/booleanVariable.js b/src/libs/convert/booleanVariable.js
index 8ed8e007e2597049009072955c46319e32891a1c..64966010de42b0da4a9f8381f0811e081c734596 100644
--- a/src/libs/convert/booleanVariable.js
+++ b/src/libs/convert/booleanVariable.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function booleanVariable(id) {
   if (id == null)
     return 'Não Declarado';
diff --git a/src/libs/convert/citySize.js b/src/libs/convert/citySize.js
index 3f50462b097d9340a0d7973460412a463aca7a17..9e1089b1bd4c25a8ea78b1ae5e7a6b6b8da08bc6 100644
--- a/src/libs/convert/citySize.js
+++ b/src/libs/convert/citySize.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function citySize(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/contractType.js b/src/libs/convert/contractType.js
index a20ab853531d6fde809b7f85ff197ab0a003a268..98ffcb84e02f2894a888d78a2d9422b670f841b0 100644
--- a/src/libs/convert/contractType.js
+++ b/src/libs/convert/contractType.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function contractType(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/educationLevel.js b/src/libs/convert/educationLevel.js
index e01c8be0f2a5ea682281bca1d95e396d9b2d9068..cc82319c491355d61b7a25d03335a34ead96a042 100644
--- a/src/libs/convert/educationLevel.js
+++ b/src/libs/convert/educationLevel.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function educationLevel(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/educationLevelBasic.js b/src/libs/convert/educationLevelBasic.js
index d667d09d57aa5cbe0b38d36f5f9a5aaece124fd8..3d166fe525019ab06f6ecbb59ede4e382ca57fa6 100644
--- a/src/libs/convert/educationLevelBasic.js
+++ b/src/libs/convert/educationLevelBasic.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function educationLevelBasic(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/educationLevelMod.js b/src/libs/convert/educationLevelMod.js
index f3797ee93a25085c444654923fe80d816ff671b3..e659517307f425170f8b5b5f0801388c4c2b55ae 100644
--- a/src/libs/convert/educationLevelMod.js
+++ b/src/libs/convert/educationLevelMod.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function educationLevelMod(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/educationLevelSchoolYear.js b/src/libs/convert/educationLevelSchoolYear.js
index f4fe43b73539fdf47650994f5773463d98f05a5f..07cc64f7f577d7984c1c1bfdee5cd55325d3d9be 100644
--- a/src/libs/convert/educationLevelSchoolYear.js
+++ b/src/libs/convert/educationLevelSchoolYear.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function educationLevelSchoolYear(id) {
     switch(id) {
         case 1: return 'Creche';
diff --git a/src/libs/convert/educationLevelShort.js b/src/libs/convert/educationLevelShort.js
index ee97e956453c30af7ae7d37d60a6e2708b5dab2c..96b67f1521694ba815b5fb84cce07630b5cfd0f4 100644
--- a/src/libs/convert/educationLevelShort.js
+++ b/src/libs/convert/educationLevelShort.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function educationLevelShort(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/educationType.js b/src/libs/convert/educationType.js
index 0fffb330c453b0c6f71cbdd9e25078f1ac6e246b..8686822e1904c2e6fd67b0557f4b95294800d573 100644
--- a/src/libs/convert/educationType.js
+++ b/src/libs/convert/educationType.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function educationType(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/ethnicGroup.js b/src/libs/convert/ethnicGroup.js
index dfa51c810879cdd3655b73939766c2eae29333dd..1b6b92ea5827ba63b6d6ec181394872cf78b69ba 100644
--- a/src/libs/convert/ethnicGroup.js
+++ b/src/libs/convert/ethnicGroup.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function ethnicGroup(id) {
     switch (id) {
         case 0:
diff --git a/src/libs/convert/ethnicGroupPnad.js b/src/libs/convert/ethnicGroupPnad.js
index 93428cd4440f4559dda7ff10c429c135e263960a..3110d2cba2ef83a8cc2d2dd749fc0055797f7f1a 100644
--- a/src/libs/convert/ethnicGroupPnad.js
+++ b/src/libs/convert/ethnicGroupPnad.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function ethnicGroupPnad(id) {
     switch (id) {
         case 0:
diff --git a/src/libs/convert/extremesHouseholdIncome.js b/src/libs/convert/extremesHouseholdIncome.js
index 67904c4ff2a4418f4dcb1f3516c8552bdabdcac7..2ef4ad9b158131898a0305e7b7db0ef1c7a5c1ac 100644
--- a/src/libs/convert/extremesHouseholdIncome.js
+++ b/src/libs/convert/extremesHouseholdIncome.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function extremesHouseholdIncome(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/fifthHouseholdIncome.js b/src/libs/convert/fifthHouseholdIncome.js
index ec7669a2a6180ce95d64888f1841fe2c017eeaa5..3b6a528d2fdace2ef4325d291e8a1c59e71496b4 100644
--- a/src/libs/convert/fifthHouseholdIncome.js
+++ b/src/libs/convert/fifthHouseholdIncome.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function fifthHouseholdIncome(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/fullAgeRange.js b/src/libs/convert/fullAgeRange.js
index e18b9156ed4e723fec83c939e8b01f148580d018..473de7656040aee942a84e663377c2f75715758e 100644
--- a/src/libs/convert/fullAgeRange.js
+++ b/src/libs/convert/fullAgeRange.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function ageRange(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/gender.js b/src/libs/convert/gender.js
index 085eb20e0aa7fa18c2e9c3106fc6c8869b0bd639..48ed9a1a88f04b9ebe68a3f1ef259f20fc1febbb 100644
--- a/src/libs/convert/gender.js
+++ b/src/libs/convert/gender.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function gender(id) {
     switch(id) {
         case 1:
diff --git a/src/libs/convert/genderPnad.js b/src/libs/convert/genderPnad.js
index 9d5da51e6e8115d4c7de9baacd14b4e77756c11a..67ae37fd14df5c94d6ebff688e751d3c414d46df 100644
--- a/src/libs/convert/genderPnad.js
+++ b/src/libs/convert/genderPnad.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function genderPnad(id) {
     switch(id) {
         case 2:
diff --git a/src/libs/convert/idhmLevel.js b/src/libs/convert/idhmLevel.js
index c9f1845c6147e4f59bbbcf7aaecd5934ac5c8017..f92729b7d1fb8a7e4d947c54fc9927d59572e568 100644
--- a/src/libs/convert/idhmLevel.js
+++ b/src/libs/convert/idhmLevel.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function idhmLevel(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/incomeLevel.js b/src/libs/convert/incomeLevel.js
index f80faf8692c93bee328e8051cb39ab5b05745deb..f834e0c6fa95510a764aafca87965756bdbebecf 100644
--- a/src/libs/convert/incomeLevel.js
+++ b/src/libs/convert/incomeLevel.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function incomeLevel(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/integralTime.js b/src/libs/convert/integralTime.js
index 48f69c43af8b570e131c70ed5a795727530b2e29..b231be33d51aca64227301d3eb4d05d10808b6aa 100644
--- a/src/libs/convert/integralTime.js
+++ b/src/libs/convert/integralTime.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function integralTime(id) {
   if (id == null)
     return 'Não se aplica (semi presencial e EaD)';
diff --git a/src/libs/convert/location.js b/src/libs/convert/location.js
index 606e06fc46a87bc5f1d1bf9c61aa8ad5ad06a353..da1dda6526b3686e25c39817b0823b5ad69d5604 100644
--- a/src/libs/convert/location.js
+++ b/src/libs/convert/location.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function location(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/period.js b/src/libs/convert/period.js
index 600a71dfde47d9a09421434fe5b9a29599063a53..8e15e74cb8b89a2ba62f07e379d2c76866260b65 100644
--- a/src/libs/convert/period.js
+++ b/src/libs/convert/period.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function period(id) {
     switch(id) {
         case 1:
diff --git a/src/libs/convert/pfe.js b/src/libs/convert/pfe.js
index 8ef82c87554dec7a6bb6246083c2bda7fd771d29..c67a7141af9779bac92b145a06d084753bcf9c49 100644
--- a/src/libs/convert/pfe.js
+++ b/src/libs/convert/pfe.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function pfeName(id) {
     switch(id) {
         case 1: return 'População fora da escola menor de 1 ano';
diff --git a/src/libs/convert/ruralLocation.js b/src/libs/convert/ruralLocation.js
index 7fa97d527a5001cf8d8ebf2f0a2fac4fcdd6cfe5..1c1bbc5ab41e86f2f39e1ff56a278ac7e4714728 100644
--- a/src/libs/convert/ruralLocation.js
+++ b/src/libs/convert/ruralLocation.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function ruralLocation(id) {
     switch (id) {
         case 1:
diff --git a/src/libs/convert/schoolYear.js b/src/libs/convert/schoolYear.js
index f6b677ccd7c9ac39b8439504b0495e5d0e6dcbf0..40d9e638399b6ca3e08042d05c2abe8b53613168 100644
--- a/src/libs/convert/schoolYear.js
+++ b/src/libs/convert/schoolYear.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function schoolYear(id) {
     switch(id) {
         case 11:
diff --git a/src/libs/convert/stateName.js b/src/libs/convert/stateName.js
index 3fdfdba4cf8ad67cda3b922a4ffd5f43e1e96011..4760d2424316c3d80220098ad2e356b6cce811d9 100644
--- a/src/libs/convert/stateName.js
+++ b/src/libs/convert/stateName.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function stateName(id) {
     switch (id) {
         case 11:
diff --git a/src/libs/convert/transportationManager.js b/src/libs/convert/transportationManager.js
index 28961db9f23316bc66730dc2c2554a904322c18f..f0ab70290001d3a6d7596511e483ad4573fccd7d 100644
--- a/src/libs/convert/transportationManager.js
+++ b/src/libs/convert/transportationManager.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function transportationManager(id) {
     switch(id) {
         case 1:
diff --git a/src/libs/db/monet.js b/src/libs/db/monet.js
index d19fb37dfac5ed68cc15c1762a822818dbbc82da..824a438c5d4956e8a0e601525c866feebac53e21 100644
--- a/src/libs/db/monet.js
+++ b/src/libs/db/monet.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const MonetDBPool = require('monetdb-pool');
 
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/db/mongoose.js b/src/libs/db/mongoose.js
index f9d2ed8ef59767e262f77fa21e2a93d444139145..e1927339fa242dfee3998f5fe04d96517d399bb9 100644
--- a/src/libs/db/mongoose.js
+++ b/src/libs/db/mongoose.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 
 const config = require(`${libs}/config`);
diff --git a/src/libs/db/query_exec.js b/src/libs/db/query_exec.js
index 691117c5672df92ed565c2d4db5e27937b34dfbf..0437bf24cc75e8343cb99ed4a4d844fcfb2299f5 100644
--- a/src/libs/db/query_exec.js
+++ b/src/libs/db/query_exec.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+   
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 
 const libs = `${process.cwd()}/libs`;
 
diff --git a/src/libs/log.js b/src/libs/log.js
index ddf0303f8481514b047aa6678894316500d25a96..58f8bfbab7ec0528070c387e310f60312fc975d6 100644
--- a/src/libs/log.js
+++ b/src/libs/log.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 const config = require(`${libs}/config`);
 
diff --git a/src/libs/middlewares/addMissing.js b/src/libs/middlewares/addMissing.js
index f3d1b300abb37b388532b65d8cc3abc344fcca26..6f5ef699eae671c659a66f26bb51e888ad5b62cd 100644
--- a/src/libs/middlewares/addMissing.js
+++ b/src/libs/middlewares/addMissing.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 module.exports = function addMissing(rqf){
     return (req, res, next) => {
         let dims = Object.keys(req.dims).filter(i => {return i !== 'size';});
diff --git a/src/libs/middlewares/checkVersion.js b/src/libs/middlewares/checkVersion.js
index c3187adba9081e2a992d09df36e839efc23dfca0..a103afa6d995b8213c9d424ca452128c037aeedc 100644
--- a/src/libs/middlewares/checkVersion.js
+++ b/src/libs/middlewares/checkVersion.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const curPath = process.cwd();
 const libs = `${process.cwd()}/libs`;
 const log = require(`${libs}/log`)(module);
diff --git a/src/libs/middlewares/downloadDatabase.js b/src/libs/middlewares/downloadDatabase.js
index c4672ff0bf5d925d7d8d0466a260d3025fbc4e09..ee1529228d1293939e260ea0d047260556f0ef63 100644
--- a/src/libs/middlewares/downloadDatabase.js
+++ b/src/libs/middlewares/downloadDatabase.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 
 const log = require(`${libs}/log`)(module);
diff --git a/src/libs/middlewares/email.js b/src/libs/middlewares/email.js
index 7e0403d423cebd1bd0a8c6c31f57eef5773860f4..66c4740cae8b649a711e3ad311c5ef894cc59517 100644
--- a/src/libs/middlewares/email.js
+++ b/src/libs/middlewares/email.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 const log = require(`${libs}/log`)(module);
 const config = require(`${libs}/config`);
diff --git a/src/libs/middlewares/id2str.js b/src/libs/middlewares/id2str.js
index cb4c8cc1553ae711719878eb84d30ec29d3e993c..65a8b3cab9ad06d15d013a264b8dc88bf376eacd 100644
--- a/src/libs/middlewares/id2str.js
+++ b/src/libs/middlewares/id2str.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 const gender = require(`${libs}/convert/gender`);
 const period = require(`${libs}/convert/period`);
diff --git a/src/libs/middlewares/multiQuery.js b/src/libs/middlewares/multiQuery.js
index 7bf37c5d9086f3a97405ef2bfbb61553afd0d2bf..9dc5b3df9833c897ba2ac9f9a2000b68112b5642 100644
--- a/src/libs/middlewares/multiQuery.js
+++ b/src/libs/middlewares/multiQuery.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 const log = require(`${libs}/log`)(module);
 const db = require(`${libs}/db/query_exec`);
diff --git a/src/libs/middlewares/oauth2.js b/src/libs/middlewares/oauth2.js
index cc9a45ede4a3158bc055166202c6d20fb84a6dff..e7f7b446ed037cdb0c4843084bf9626556c19c97 100644
--- a/src/libs/middlewares/oauth2.js
+++ b/src/libs/middlewares/oauth2.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const oauth2orize = require('oauth2orize');
 const passport = require('passport');
 const crypto = require('crypto');
diff --git a/src/libs/middlewares/passport.js b/src/libs/middlewares/passport.js
index ab895a9604072e3b77a6384ac0c0f9066dcf6753..ea4fd95c1945786946ea5e82128d7bfbb37850c6 100644
--- a/src/libs/middlewares/passport.js
+++ b/src/libs/middlewares/passport.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const passport = require('passport');
 const ClientPasswordStrategy = require('passport-oauth2-client-password');
 const BearerStrategy = require('passport-http-bearer').Strategy;
diff --git a/src/libs/middlewares/query.js b/src/libs/middlewares/query.js
index b724d93dd8e36709033eb171cceaafe9b6ff7659..68077aa982e4fe69760c9ab33d5150cbb6471e94 100644
--- a/src/libs/middlewares/query.js
+++ b/src/libs/middlewares/query.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 const log = require(`${libs}/log`)(module);
 const db = require(`${libs}/db/query_exec`);
diff --git a/src/libs/middlewares/reqQueryFields.js b/src/libs/middlewares/reqQueryFields.js
index e58f7a7b27c0c41e1d59fc887b90ead000cf97fb..424ef59b7137cb87a43871943aac95018e6f790e 100644
--- a/src/libs/middlewares/reqQueryFields.js
+++ b/src/libs/middlewares/reqQueryFields.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 
 const log = require(`${libs}/log`)(module);
diff --git a/src/libs/middlewares/response.js b/src/libs/middlewares/response.js
index 62e1d9601c971b67abcf3a596160c9087850df03..c7bb6ffee9d8fd6376cb9a4538d6dcb22a9d60d0 100644
--- a/src/libs/middlewares/response.js
+++ b/src/libs/middlewares/response.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const libs = `${process.cwd()}/libs`;
 const log = require(`${libs}/log`)(module);
 const xml = require('js2xmlparser');
diff --git a/src/libs/models/accessToken.js b/src/libs/models/accessToken.js
index daab5898a66b952f72359d9685e951b1acf980b7..b9c2a60ac4ce29ce45a944c2c23aa189db02cf72 100644
--- a/src/libs/models/accessToken.js
+++ b/src/libs/models/accessToken.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const Schema = mongoose.Schema;
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/client.js b/src/libs/models/client.js
index 8ac80d8d158705f63efbbecc72de37d1fef6a3ac..2ddae28075d6d2d35eba0798ad425b00580ebd12 100644
--- a/src/libs/models/client.js
+++ b/src/libs/models/client.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const Schema = mongoose.Schema;
 
diff --git a/src/libs/models/download.js b/src/libs/models/download.js
index 989896d9a2b6547c11c9b1bc71019db3bb7617a5..21fdf683c38dfcce176bd44b5ae456e6b0e80a3c 100644
--- a/src/libs/models/download.js
+++ b/src/libs/models/download.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const Schema = mongoose.Schema;
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/pqr.js b/src/libs/models/pqr.js
index f92703188323cef17807f70f1f2198b54a13aa1b..d8c71c6df182297dbddbb5f4a4a12eb0cf951cb2 100644
--- a/src/libs/models/pqr.js
+++ b/src/libs/models/pqr.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose')
 
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/refreshToken.js b/src/libs/models/refreshToken.js
index c5f8fd63cdd30733bb60f341e6617420d945b037..3a37ae96d69c08b698ebd6ab924ddb602d07722e 100644
--- a/src/libs/models/refreshToken.js
+++ b/src/libs/models/refreshToken.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const Schema = mongoose.Schema;
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/resetToken.js b/src/libs/models/resetToken.js
index 322d528188a78525b4e003a65c6355fc0c2039c6..d983436b9181a7f55aafd5eefcfc3f028038a345 100644
--- a/src/libs/models/resetToken.js
+++ b/src/libs/models/resetToken.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const Schema = mongoose.Schema;
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/simulation.js b/src/libs/models/simulation.js
index f1d3b0bd2448fe7640affd57e3d33d330ad7912c..a4a6cc3cd5b2c26aa28f68953b82d85243cd0144 100644
--- a/src/libs/models/simulation.js
+++ b/src/libs/models/simulation.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose')
 
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/user.js b/src/libs/models/user.js
index 0d54e4175fbf3336c4386bcc252d235dc6b478ce..7dc642e3cd6c81301677f89f27b8852751596cbc 100644
--- a/src/libs/models/user.js
+++ b/src/libs/models/user.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const crypto = require('crypto')
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/models/verificationToken.js b/src/libs/models/verificationToken.js
index ef7e109e16364874ea7d3f4b07b6e19ce74c3eae..1047e4d0795165041b0b06d2c86c2884ed3f7481 100644
--- a/src/libs/models/verificationToken.js
+++ b/src/libs/models/verificationToken.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const mongoose = require('mongoose');
 const Schema = mongoose.Schema;
 const libs = `${process.cwd()}/libs`;
diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js
index 69f5e2b4dd95adc912cb593bc69114b4d66e0631..916c154f29c7e573fb513e063401b4f965c0eaf7 100644
--- a/src/libs/routes/api.js
+++ b/src/libs/routes/api.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const api = express();
diff --git a/src/libs/routes/auxiliar.js b/src/libs/routes/auxiliar.js
index a52ce99d6cc55562bc719f93ccc11f92e0d72ecc..74e05c77be3b38ca81619635a19bb37b6aa9db9e 100644
--- a/src/libs/routes/auxiliar.js
+++ b/src/libs/routes/auxiliar.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const auxiliarApp = express.Router();
@@ -271,12 +291,12 @@ rqf.addField({
 }, 'filter').addValue({
     name: 'location',
     table: 'docente',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'min_year',
diff --git a/src/libs/routes/city.js b/src/libs/routes/city.js
index 1f6aee12630ba58b48f2f53bb17fc9ab10b4fad1..9342f64c92dbd1d1f1b3187606f7cd81fa00aa5d 100644
--- a/src/libs/routes/city.js
+++ b/src/libs/routes/city.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const cityApp = express.Router();
diff --git a/src/libs/routes/class.js b/src/libs/routes/class.js
index a01fa0ab2a1e6e347f994ff24f399835a29dbc48..9819a23ba4483c6b1c72c3a3a32f2c75da97f245 100644
--- a/src/libs/routes/class.js
+++ b/src/libs/routes/class.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const classApp = express.Router();
diff --git a/src/libs/routes/classCount.js b/src/libs/routes/classCount.js
index aba72e13eeeaa5c78d29ac42c3faba7d8dadb525..c7fa1d036eaa9f1b66988c52a14c1a8645f41ed1 100644
--- a/src/libs/routes/classCount.js
+++ b/src/libs/routes/classCount.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const classCountApp = express.Router();
diff --git a/src/libs/routes/classroom.js b/src/libs/routes/classroom.js
index 2a8ee3913344bd78c5ac43545c5ac7597be7a1ec..a445e9412d7edc8337186e4cc6b448eaaded7961 100644
--- a/src/libs/routes/classroom.js
+++ b/src/libs/routes/classroom.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const classroomApp = express.Router();
@@ -210,12 +230,12 @@ rqf.addField({
 }).addValue({
     name: 'location',
     table: 'escola',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 });
 
diff --git a/src/libs/routes/classroomCount.js b/src/libs/routes/classroomCount.js
index 71d6f54e24403ee4fef2b56d08a188ff46ba2f28..7489ddcbef1ee1422d77f10d4c95555dacb0e4cf 100644
--- a/src/libs/routes/classroomCount.js
+++ b/src/libs/routes/classroomCount.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const classroomCountApp = express.Router();
diff --git a/src/libs/routes/cub.js b/src/libs/routes/cub.js
index 5310f0be248f191f0e41325fb84d03525f638e40..b6bb034cb579e9df82ac6180220aa463bc8b8432 100644
--- a/src/libs/routes/cub.js
+++ b/src/libs/routes/cub.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const cubApp = express.Router();
diff --git a/src/libs/routes/dailyChargeAmount.js b/src/libs/routes/dailyChargeAmount.js
index d9a02d779ad0355683769910b40780d8bac77c3d..3588a5475a763e88fb92a07a9d52cb557e0cd508 100644
--- a/src/libs/routes/dailyChargeAmount.js
+++ b/src/libs/routes/dailyChargeAmount.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const dailyChargeAmountApp = express.Router();
@@ -407,21 +427,23 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
         let tableR = baseQ.clone();
         tableR.from('turma')
         .field('duracao_turma')
+        .field('etapas_mod_ensino_segmento_id')
         .field('ROW_NUMBER() OVER(PARTITION BY etapas_mod_ensino_segmento_id ORDER BY duracao_turma)', 'rowno')
         .where('tipo_turma_id <= 3')
 
         let tableG = baseQ.clone();
         tableG.from('turma')
         .field('1+COUNT(*)', 'counter')
+        .field('etapas_mod_ensino_segmento_id')
         .where('tipo_turma_id <= 3')
         .group('etapas_mod_ensino_segmento_id')
 
         let joinRG = squel.select();
         joinRG.from(tableR, 'R')
-        .field('R.education_level_mod_id')
+        .field('R.etapas_mod_ensino_segmento_id')
         .field('AVG(1.0*R.duracao_turma)/60', 'median_value')
-        .join(tableG, 'G', 'R.education_level_mod_id = G.education_level_mod_id AND R.rowNo BETWEEN G.counter/2 AND G.counter/2+G.counter%2')
-        .group('R.education_level_mod_id')
+        .join(tableG, 'G', 'R.etapas_mod_ensino_segmento_id = G.etapas_mod_ensino_segmento_id AND R.rowNo BETWEEN G.counter/2 AND G.counter/2+G.counter%2')
+        .group('R.etapas_mod_ensino_segmento_id')
 
         req.sql
         .from('turma')
@@ -437,7 +459,7 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
         .group('turma.etapas_mod_ensino_segmento_id')
         .order('turma.ano_censo')
         .order('turma.etapas_mod_ensino_segmento_id')
-        .where('turma.tipo_turma_id <= 3 and m.education_level_mod_id = turma.etapas_mod_ensino_segmento_id')
+        .where('turma.tipo_turma_id <= 3 and m.etapas_mod_ensino_segmento_id = turma.etapas_mod_ensino_segmento_id')
     } else {
         res.status(400);
         next({
diff --git a/src/libs/routes/distributionFactor.js b/src/libs/routes/distributionFactor.js
index df4d84b797884f71f92e55456ed365317d98679a..99e1a77a9e9dea2fc2b49551d2b9d9760ec680fa 100644
--- a/src/libs/routes/distributionFactor.js
+++ b/src/libs/routes/distributionFactor.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const distributionApp = express.Router();
diff --git a/src/libs/routes/downloads.js b/src/libs/routes/downloads.js
index 2ec83b9ee7ffa82bbaf3e873c949c842dd6b6ab1..9f01479dc051b04daef6c683742d0b2762eae5ef 100644
--- a/src/libs/routes/downloads.js
+++ b/src/libs/routes/downloads.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const downloadApp = express.Router();
diff --git a/src/libs/routes/educationYears.js b/src/libs/routes/educationYears.js
index 0d103883f53fc53dbd8770fa983dc5fe568564dd..b8173d060e8f29183ccc65926815dc3594a2ce24 100644
--- a/src/libs/routes/educationYears.js
+++ b/src/libs/routes/educationYears.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const educationYearsApp = express.Router();
diff --git a/src/libs/routes/employees.js b/src/libs/routes/employees.js
index 523eb6bc3cca09977153c7f75d6c31d24e671179..9aedbcb1de07e1e769806e57483981cb9530981a 100644
--- a/src/libs/routes/employees.js
+++ b/src/libs/routes/employees.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const employeesApp = express.Router();
@@ -208,12 +228,12 @@ rqfSchool.addField({
 }, 'filter').addValue({
     name: 'location',
     table: '@',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'rural_location',
@@ -368,12 +388,12 @@ rqfTeacher.addField({
 }, 'filter').addValue({
     name: 'location',
     table: '@',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'rural_location',
diff --git a/src/libs/routes/enrollment.js b/src/libs/routes/enrollment.js
index 66268b11409cf918ce8de61779a16b5323669639..65110003de781c01472300fe233dc03898c79d96 100644
--- a/src/libs/routes/enrollment.js
+++ b/src/libs/routes/enrollment.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const enrollmentApp = express.Router();
@@ -398,6 +418,31 @@ rqf.addField({
         foreign: ['escola_id', 'ano_censo'],
         foreignTable: 'matricula'
     }
+}, 'dims').addValueToField({
+    name: 'locale_id',
+    table: 'matricula',
+    tableField: 'localizacao_id',
+    resultField: 'locale_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'localizacao_id'
+    }
+}, 'dims').addValueToField({
+    name: 'school_id',
+    table: 'escola',
+    tableField: 'id',
+    resultField: 'school_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'id'
+    },
+    join: {
+        primary: ['id', 'ano_censo'],
+        foreign: ['escola_id', 'ano_censo'],
+        foreignTable: 'matricula'
+    }
 }, 'dims').addValueToField({
     name: 'school',
     table: 'escola',
@@ -517,7 +562,6 @@ rqf.addField({
 
 enrollmentApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.field('COUNT(*)', 'total')
-    .field("'Brasil'", 'name')
     .field('matricula.ano_censo', 'year')
     .from('matricula')
     .group('matricula.ano_censo')
diff --git a/src/libs/routes/enrollmentProjection.js b/src/libs/routes/enrollmentProjection.js
index 1bbe8ea3934a4fe59116ec0a3d96d292a446d59f..7ff2ab2379de73e63ff83f28399019accb7adb3a 100644
--- a/src/libs/routes/enrollmentProjection.js
+++ b/src/libs/routes/enrollmentProjection.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const enrollmentProjectionApp = express.Router();
diff --git a/src/libs/routes/financial.js b/src/libs/routes/financial.js
index 78c3b023f8991c64d813101c45cff2eeb62c468c..bfe272058ce1d385bce3934b49a094140c496f1e 100644
--- a/src/libs/routes/financial.js
+++ b/src/libs/routes/financial.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const financialApp = express.Router();
@@ -130,20 +150,36 @@ rqf.addField({
 });
 
 financialApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
-    req.sql.from('indicadores_financeiros')
-    .field('indicadores_financeiros.estado_id', 'state_id')
-    .field('indicadores_financeiros.ano_censo', 'year')
-    .field('estado.sigla', 'state_abbreviation')
-    .field('indicadores_financeiros.valor', 'valor')
-    .field('indicadores_financeiros.esfera_adm', 'sphere_adm_id')
-    .field('indicadores_financeiros.dados_financeiros', 'financial_data_id')
-    .join('estado', null, 'indicadores_financeiros.estado_id=estado.id')
-    .group('indicadores_financeiros.ano_censo')
-    .group('indicadores_financeiros.estado_id')
-    .group('estado.sigla')
-    .group('indicadores_financeiros.valor')
-    .group('indicadores_financeiros.dados_financeiros')
-    .group('indicadores_financeiros.esfera_adm')
+		if ("state" in req.filter) {
+	    req.sql.from('indicadores_financeiros')
+	    .field('indicadores_financeiros.estado_id', 'state_id')
+	    .field('indicadores_financeiros.ano_censo', 'year')
+	    .field('estado.sigla', 'state_abbreviation')
+	    .field('indicadores_financeiros.valor', 'valor')
+	    .field('indicadores_financeiros.esfera_adm', 'sphere_adm_id')
+	    .field('indicadores_financeiros.dados_financeiros', 'financial_data_id')
+	    .group('indicadores_financeiros.ano_censo')
+	    .group('indicadores_financeiros.estado_id')
+	    .group('estado.sigla')
+	    .group('indicadores_financeiros.valor')
+	    .group('indicadores_financeiros.dados_financeiros')
+	    .group('indicadores_financeiros.esfera_adm')
+		} else {
+	    req.sql.from('indicadores_financeiros')
+	    .field('indicadores_financeiros.estado_id', 'state_id')
+	    .field('indicadores_financeiros.ano_censo', 'year')
+	    .field('estado.sigla', 'state_abbreviation')
+	    .field('indicadores_financeiros.valor', 'valor')
+	    .field('indicadores_financeiros.esfera_adm', 'sphere_adm_id')
+	    .field('indicadores_financeiros.dados_financeiros', 'financial_data_id')
+	    .join('estado', null, 'indicadores_financeiros.estado_id=estado.id')
+	    .group('indicadores_financeiros.ano_censo')
+	    .group('indicadores_financeiros.estado_id')
+	    .group('estado.sigla')
+	    .group('indicadores_financeiros.valor')
+	    .group('indicadores_financeiros.dados_financeiros')
+	    .group('indicadores_financeiros.esfera_adm')
+		}
     next();
 }, query, addMissing(rqf), id2str.transform(), response('financial'));
 
diff --git a/src/libs/routes/glossEnrollmentRatio.js b/src/libs/routes/glossEnrollmentRatio.js
index 041a93ad4d025cd835066b60783d386acd13d0f9..7183715a1778fbe4ee9ee9d058ba1b3d6d897189 100644
--- a/src/libs/routes/glossEnrollmentRatio.js
+++ b/src/libs/routes/glossEnrollmentRatio.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const glossEnrollmentRatioApp = express.Router();
diff --git a/src/libs/routes/idhm.js b/src/libs/routes/idhm.js
index 45a193e7750aab100b417a25affae69b0678ea71..f21d2154506e28acbe9aa5dfb388d74debc2d164 100644
--- a/src/libs/routes/idhm.js
+++ b/src/libs/routes/idhm.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const idhmApp = express.Router();
diff --git a/src/libs/routes/idhme.js b/src/libs/routes/idhme.js
index 2a1f4d033fc61b8f96a50d4a42001fca4da52b60..25d9e682039f17f6c9059cab30802b1a3c929ba2 100644
--- a/src/libs/routes/idhme.js
+++ b/src/libs/routes/idhme.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const idhmeApp = express.Router();
diff --git a/src/libs/routes/idhml.js b/src/libs/routes/idhml.js
index 1fddee79146257c2f837a937bb5864fcdbab20af..aa811d8f0a4dee6febcede55f33468c75b49f338 100644
--- a/src/libs/routes/idhml.js
+++ b/src/libs/routes/idhml.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const idhmlApp = express.Router();
diff --git a/src/libs/routes/idhmr.js b/src/libs/routes/idhmr.js
index 938d58a93db62f00185c08a22a75f34403541c27..d140cc541e3e36f85334a68c8a3815a40c057196 100644
--- a/src/libs/routes/idhmr.js
+++ b/src/libs/routes/idhmr.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const idhmrApp = express.Router();
diff --git a/src/libs/routes/infrastructure.js b/src/libs/routes/infrastructure.js
index 8b01e338f0c7785a14fe29f93a7f54f2fc2c6582..8630cb947e57d07f48c75f1f6194a3be62f6d98e 100644
--- a/src/libs/routes/infrastructure.js
+++ b/src/libs/routes/infrastructure.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const infrastructureApp = express.Router();
@@ -178,12 +198,12 @@ rqf.addField({
 }).addValue({
     name: 'location',
     table: 'escola',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'rural_location',
@@ -296,7 +316,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Bibliotecas
     let allLibraries = allSchools.clone();
-    allLibraries.where('escola.func_predio_escolar = 1 AND escola.cod_localizacao = 1');
+    allLibraries.where('escola.func_predio_escolar = 1 AND escola.localizacao_id = 1');
     req.queryIndex.allLibraries = req.querySet.push(allLibraries) - 1;
 
     let haveLibraries = allLibraries.clone();
@@ -305,7 +325,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Bibliotecas/Sala de leitura
     let allLibrariesReadingRoom = allSchools.clone();
-    allLibrariesReadingRoom.where('escola.func_predio_escolar = 1 AND escola.cod_localizacao = 2');
+    allLibrariesReadingRoom.where('escola.func_predio_escolar = 1 AND escola.localizacao_id = 2');
     req.queryIndex.allLibrariesReadingRoom = req.querySet.push(allLibrariesReadingRoom) - 1;
 
     let haveLibrariesReadingRoom = allLibrariesReadingRoom.clone();
@@ -352,7 +372,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Quadra
     let allSportsCourt = allScienceLab.clone();
-    allSportsCourt.where('escola.cod_localizacao = 1');
+    allSportsCourt.where('escola.localizacao_id = 1');
     req.queryIndex.allSportsCourt = req.querySet.push(allSportsCourt) - 1;
 
     let haveSportsCourt = allSportsCourt.clone();
@@ -377,7 +397,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Sala de direção
     let allDirectorRoom = allSchools.clone();
-    allDirectorRoom.where('escola.func_predio_escolar = 1 AND escola.cod_localizacao = 1');
+    allDirectorRoom.where('escola.func_predio_escolar = 1 AND escola.localizacao_id = 1');
     req.queryIndex.allDirectorRoom = req.querySet.push(allDirectorRoom) - 1;
 
     let haveDirectorRoom = allDirectorRoom.clone();
diff --git a/src/libs/routes/liquidEnrollmentRatio.js b/src/libs/routes/liquidEnrollmentRatio.js
index 793e4f65309314f9ee12f53afa3230cb8e01bc84..fd06c5281c870eb8ae208a7312e234e3501940c7 100644
--- a/src/libs/routes/liquidEnrollmentRatio.js
+++ b/src/libs/routes/liquidEnrollmentRatio.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const liquidEnrollmentRatioApp = express.Router();
diff --git a/src/libs/routes/outOfSchool.js b/src/libs/routes/outOfSchool.js
index 3d8f33d9959d70906877f767ef242685f54f6350..16c5660f482cb1457c05ee81273d1847c1e55c81 100644
--- a/src/libs/routes/outOfSchool.js
+++ b/src/libs/routes/outOfSchool.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const outOfSchoolApp = express.Router();
diff --git a/src/libs/routes/pibpercapita.js b/src/libs/routes/pibpercapita.js
index de1ec7d60b1699675701ac8c7906a6b24052eaff..3cb91c5b17f7bba08022b5ad485b34fd06e8ce5f 100644
--- a/src/libs/routes/pibpercapita.js
+++ b/src/libs/routes/pibpercapita.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const pibpercapitaApp = express.Router();
diff --git a/src/libs/routes/population.js b/src/libs/routes/population.js
index f0402daa73c13eb6453b4e3d584bfe11b8145a01..ed644e9ee94259de5a484a9a43e951afb8d23043 100644
--- a/src/libs/routes/population.js
+++ b/src/libs/routes/population.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const populationApp = express.Router();
diff --git a/src/libs/routes/portalMec.js b/src/libs/routes/portalMec.js
index afd84e8e019d27135b9e246580ed1c941e5b4acd..29a1be6b39fae2f62351e000bf3e80dd11df1fb0 100644
--- a/src/libs/routes/portalMec.js
+++ b/src/libs/routes/portalMec.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const portalMecApp = express.Router();
diff --git a/src/libs/routes/portalMecInep.js b/src/libs/routes/portalMecInep.js
index 2b23589130d1775c89520af1b8ee2827ac31add7..f8108ce46b77928357fa5cdd8232e11a9de9d414 100644
--- a/src/libs/routes/portalMecInep.js
+++ b/src/libs/routes/portalMecInep.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const portalMecInepApp = express.Router();
diff --git a/src/libs/routes/rateSchool.js b/src/libs/routes/rateSchool.js
index a45865a9337e027cdbec45bd8b0163bd4477112c..a8e9253e38a7241721a61c262ede57c0d1d0562c 100644
--- a/src/libs/routes/rateSchool.js
+++ b/src/libs/routes/rateSchool.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const rateSchoolApp = express.Router();
diff --git a/src/libs/routes/region.js b/src/libs/routes/region.js
index b1076e6484836b8a4911b8d0ada3631f1304e3c0..f36760f3ba4f45ad56c98a95463ab370f5a6261a 100644
--- a/src/libs/routes/region.js
+++ b/src/libs/routes/region.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const regionApp = express.Router();
diff --git a/src/libs/routes/resetToken.js b/src/libs/routes/resetToken.js
index 34ece8455adf7b77208dc200a95641ed04638609..5fa96b018c68f827e9ea203d5a652e04b0329704 100644
--- a/src/libs/routes/resetToken.js
+++ b/src/libs/routes/resetToken.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const resetTokenApp = express.Router();
diff --git a/src/libs/routes/school.js b/src/libs/routes/school.js
index 3f4dd7141f6ce4c374969f37aaa5ee5335ee3498..13abdfa8b8ee17f10af1f3c946f903f9353eef9c 100644
--- a/src/libs/routes/school.js
+++ b/src/libs/routes/school.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const schoolApp = express.Router();
@@ -364,12 +384,12 @@ rqfCount.addField({
 }).addValue({
     name: 'location',
     table: 'escola',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'rural_location',
diff --git a/src/libs/routes/schoolInfrastructure.js b/src/libs/routes/schoolInfrastructure.js
index 65c4677b4381b106b044f9e4fe129ce8691c0686..f805e8827768eec1c4c6122c25da4be2672d43ce 100644
--- a/src/libs/routes/schoolInfrastructure.js
+++ b/src/libs/routes/schoolInfrastructure.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const infrastructureApp = express.Router();
@@ -67,19 +87,26 @@ infrastructureApp.get('/rural_location', (req, res, next) => {
 }, response('rural_location'));
 
 infrastructureApp.get('/adm_dependency', (req, res, next) => {
-    req.sql.from('dependencia_adm')
-    .field('id')
-    .field('nome', 'name')
-    .where('id <= 4');
+    req.result = [];
+    for(let i = 1; i <= 4; ++i) {
+        req.result.push({
+            id: i,
+            name: id2str.admDependency(i)
+        });
+    };
     next();
-}, query, response('adm_dependency'));
+}, response('adm_dependency'));
 
 infrastructureApp.get('/adm_dependency_detailed', (req, res, next) => {
-    req.sql.from('dependencia_adm_priv')
-    .field('id', 'id')
-    .field('nome', 'name');
+    req.result = [];
+    for(let i = 1; i <= 6; ++i) {
+        req.result.push({
+            id: i,
+            name: id2str.admDependencyPriv(i)
+        });
+    };
     next();
-}, query, response('adm_dependency_detailed'));
+}, response('adm_dependency_detailed'));
 
 rqf.addField({
     name: 'filter',
@@ -171,12 +198,12 @@ rqf.addField({
 }).addValue({
     name: 'location',
     table: 'escola',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'rural_location',
@@ -316,11 +343,11 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allSchools = req.querySet.push(allSchools) - 1;
 
     let allUrbanSchools = allSchools.clone();
-    allUrbanSchools.where('escola.cod_localizacao = 1');
+    allUrbanSchools.where('escola.localizacao_id = 1');
     req.queryIndex.allUrbanSchools = req.querySet.push(allUrbanSchools) - 1;
 
     let allCountrySchools = allSchools.clone();
-    allCountrySchools.where('escola.cod_localizacao = 2');
+    allCountrySchools.where('escola.localizacao_id = 2');
     req.queryIndex.allCountrySchools = req.querySet.push(allCountrySchools) - 1;
 
     let allSchoolsNotSchoolBuilding = req.sql.clone();
diff --git a/src/libs/routes/simulation.js b/src/libs/routes/simulation.js
index 4b2e40c33dd1855116353f618a7c87c13078eb84..8003b54dcdf7eea11d98e051de865c919b896744 100644
--- a/src/libs/routes/simulation.js
+++ b/src/libs/routes/simulation.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const simulationApp = express();
diff --git a/src/libs/routes/siope.js b/src/libs/routes/siope.js
index 51c1c36833b99ff097cf8a85a0c90c20598f737b..615e2225477a1631df2b862f3e75276632a183b0 100644
--- a/src/libs/routes/siope.js
+++ b/src/libs/routes/siope.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const siopeApp = express.Router();
diff --git a/src/libs/routes/spatial.js b/src/libs/routes/spatial.js
index 5523de7ad8fa79fa357f16dce588cc53782bc2ff..dd7fe97a5b21eb49997866353ce3dc4e7513844b 100644
--- a/src/libs/routes/spatial.js
+++ b/src/libs/routes/spatial.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const libs = `${process.cwd()}/libs`;
@@ -203,11 +223,11 @@ spatialApp.get('/educational', rqf.parse(), rqf.build(), (req, res, next) => {
         .from('localizacao')
         .from('turma')
         .from('escola')
-        .where('escola.cod_localizacao=localizacao.id')
+        .where('escola.localizacao_id=localizacao.id')
         .where('escola.ano_censo=turma.ano_censo AND escola.id=turma.escola_id')
         .where(`escola.ano_censo IN (${censusYearQry})`)
         .where('turma.tipo_turma_id = 0')
-        .group('escola.cod_localizacao')
+        .group('escola.localizacao_id')
         .group('escola.ano_censo')
         .group('localizacao.descricao')
         .order('localizacao.descricao');
diff --git a/src/libs/routes/state.js b/src/libs/routes/state.js
index 33778869342216fe40e8e5104f327d4f2de804ef..cb84a09662e886ffcc3b28a3d602d9192b5d1c14 100644
--- a/src/libs/routes/state.js
+++ b/src/libs/routes/state.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const stateApp = express.Router();
diff --git a/src/libs/routes/teacher.js b/src/libs/routes/teacher.js
index f3b2af7e3504e94eb62d75a4b7974563e68dcdd6..b9a862269ab4cfa76f2ac8d576b227bbd1be10bd 100644
--- a/src/libs/routes/teacher.js
+++ b/src/libs/routes/teacher.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const teacherApp = express.Router();
@@ -329,12 +349,12 @@ rqf.addField({
 }, 'filter').addValue({
     name: 'location',
     table: 'docente',
-    tableField: 'cod_localizacao',
+    tableField: 'localizacao_id',
     resultField: 'location_id',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'cod_localizacao'
+        field: 'localizacao_id'
     }
 }).addValue({
     name: 'rural_location',
diff --git a/src/libs/routes/transport.js b/src/libs/routes/transport.js
index 409cb216c6cd62ea334df6eafce40c3f165dd7e0..6435833b591e75e3af451aeb4cce420904fb2449 100644
--- a/src/libs/routes/transport.js
+++ b/src/libs/routes/transport.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const transportApp = express.Router();
@@ -267,16 +287,6 @@ rqf.addField({
         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',
diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js
index af123a588d41a37c1e64fb0cfa20abe3928a84b4..f32f41ab602dfe3c0c119dcb89b5cfff02edb0ad 100644
--- a/src/libs/routes/user.js
+++ b/src/libs/routes/user.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const userApp = express();
diff --git a/src/libs/routes/verifyToken.js b/src/libs/routes/verifyToken.js
index d54f64aa162c767c765784398dbcab455a9d666e..a2a278c549c6ef095cab09ee243a48772e11ea5b 100644
--- a/src/libs/routes/verifyToken.js
+++ b/src/libs/routes/verifyToken.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const express = require('express');
 
 const verifyTokenApp = express.Router();
diff --git a/src/server.js b/src/server.js
index 889151c27370bdcce968e3b3c76689288405f689..37c55df65e5cfcc79b74b5cd357e17c559b472d7 100644
--- a/src/server.js
+++ b/src/server.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 const debug = require('debug')('simcaq-api');
 const libs = `${process.cwd()}/libs`;
 const config = require(`${libs}/config`);
diff --git a/src/test/api.js b/src/test/api.js
index b5476ea6352d086cb8d43f8e1f091686bc4f91c4..cd37a5f76b18d22d01d45943b339e496f35416fb 100644
--- a/src/test/api.js
+++ b/src/test/api.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/auxiliar.js b/src/test/auxiliar.js
index 1bb0d309c8fa5ef6165fabae2018f5a6bbd1a090..9732499d6065dd637f48744c649344ac9dcc22b1 100644
--- a/src/test/auxiliar.js
+++ b/src/test/auxiliar.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/city.js b/src/test/city.js
index 1ea61a62f5d31be3c2789df5bc577a137ea50afa..9defbeb61c352b37690f6f97d1c79b44f92d9a5b 100644
--- a/src/test/city.js
+++ b/src/test/city.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/class.js b/src/test/class.js
index 3000476ce8f5008dae9e9d8b51132a7512081a9d..dd283b55ac5a0bb84378ff49d14c5254135b76d2 100644
--- a/src/test/class.js
+++ b/src/test/class.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -107,7 +127,7 @@ describe('request class', () => {
             });
     });
 
-    it('should list the administrative dependencies', (done) => {
+    it('should list the administrative dependencies detailed', (done) => {
         chai.request(server)
             .get('/api/v1/class/adm_dependency_detailed')
             .end((err, res) => {
@@ -121,7 +141,7 @@ describe('request class', () => {
             });
     });
 
-    it('should list the administrative dependencies detailed', (done) => {
+    it('should list the administrative dependencies', (done) => {
         chai.request(server)
             .get('/api/v1/class/adm_dependency')
             .end((err, res) => {
diff --git a/src/test/classCount.js b/src/test/classCount.js
new file mode 100644
index 0000000000000000000000000000000000000000..9880db28f2468054dd9cf54cc149b9b32a002838
--- /dev/null
+++ b/src/test/classCount.js
@@ -0,0 +1,318 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+process.env.NODE_ENV = 'test';
+
+const chai = require('chai');
+
+const dirtyChai = require('dirty-chai');
+
+chai.use(dirtyChai);
+
+const chaiXml = require('chai-xml');
+
+chai.use(chaiXml);
+
+const chaiHttp = require('chai-http');
+
+const assert = chai.assert;
+
+const expect = chai.expect;
+
+const should = chai.should(); // actually call the function
+
+const libs = `${process.cwd()}/libs`;
+
+const server = require(`${libs}/app`);
+
+chai.use(chaiHttp);
+describe('request classCount', () => {
+    it('should return 400 with no filters', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/')
+            .end((err, res) => {
+                res.should.have.status(400);
+                res.should.be.json;
+                res.body.should.have.property('error');
+                res.body.error.should.be.equal('Wrong/No filter specified');
+                done();
+            });
+    });
+
+    it('should list the rural locations', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/rural_location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the education level mod', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/education_level_mod')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the education level short', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/education_level_short')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the year range', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/year_range')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('start_year');
+                res.body.result[0].should.have.property('end_year');
+                done();
+            });
+    });
+
+    it('should list the years', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/years')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                done();
+            });
+    });
+
+    it('should list the administrative dependencies', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/adm_dependency')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the administrative dependencies detailed', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/adm_dependency_detailed')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the locations', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/source')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('source');
+                done();
+            });
+    });
+
+    it('should list the simcaq class count', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/count')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                done();
+            });
+    });
+
+    it('should list the simcaq class count with valid filter', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/count?filter=state:14')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                done();
+            });
+    });
+
+    it('should list the simcaq class count with valid dim', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count/count?dims=region')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                res.body.result[0].should.have.property('region_name');
+                done();
+            });
+    });
+
+    it('should list class count with education level filter', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count?filter=education_level_mod:["1"]')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                done();
+            });
+    });
+
+    it('should list class count with education level dims', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count?dims=education_level_mod')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                res.body.result[0].should.have.property('education_level_mod_id');
+                res.body.result[0].should.have.property('education_level_mod_name');
+                done();
+            });
+    });
+
+    it('should list class count with valid dims', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count?dims=education_level_mod,location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                res.body.result[0].should.have.property('education_level_mod_id');
+                res.body.result[0].should.have.property('education_level_mod_name');
+                res.body.result[0].should.have.property('location_id');
+                res.body.result[0].should.have.property('location_name');
+                done();
+            });
+    });
+
+    it('should list class count with education level year limiter', (done) => {
+        chai.request(server)
+            .get('/api/v1/class_count?dims=education_level_mod&filter=min_year:2014,max_year:2014')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('average');
+                res.body.result[0].should.have.property('median');
+                res.body.result[0].should.have.property('stddev');
+                res.body.result[0].should.have.property('first_qt');
+                res.body.result[0].should.have.property('third_qt');
+                res.body.result[0].should.have.property('education_level_mod_id');
+                res.body.result[0].should.have.property('education_level_mod_name');
+                done();
+            });
+    });
+
+});    
diff --git a/src/test/classroom.js b/src/test/classroom.js
index 9a6fd00a18afe4f1c584bea4f033dd0dcb3a84a6..3f1d60f201dbc696c8d669e4d81f0ea04c052fd9 100644
--- a/src/test/classroom.js
+++ b/src/test/classroom.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/cub.js b/src/test/cub.js
index 751ca40a2a77ff9fe7275f0a2f3c769c5318e4f3..475e718f920bd51ce78d5b4150983d84a3d36fc5 100644
--- a/src/test/cub.js
+++ b/src/test/cub.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -80,29 +100,46 @@ describe('request cub', () => {
             });
     });
 
-    it('should list the years and months', (done) => {
+    it('should list the price type', (done) => {
         chai.request(server)
-            .get('/api/v1/cub/year_range')
+            .get('/api/v1/cub/price_type')
             .end((err, res) => {
                 res.should.have.status(200);
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('year');
-                res.body.result[0].should.have.property('month');
+                res.body.result[0].should.have.property('price_type');
                 done();
             });
     });
 
-    it('should list the price type', (done) => {
+    it('should return query cub wtih state dim', (done) => {
         chai.request(server)
-            .get('/api/v1/cub/price_type')
+            .get('/api/v1/cub?dims=state')
             .end((err, res) => {
                 res.should.have.status(200);
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('price_type');
+                res.body.result[0].should.have.property('cod_uf');
+                res.body.result[0].should.have.property('sigla_uf');
+                res.body.result[0].should.have.property('tipo_preco');
+                res.body.result[0].should.have.property('preco');
+                done();
+            });
+    });
+
+    it('should return query cub wtih valid filter', (done) => {
+        chai.request(server)
+            .get('/api/v1/cub?filter=min_year:2017')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('sigla_uf');
+                res.body.result[0].should.have.property('tipo_preco');
+                res.body.result[0].should.have.property('preco');
                 done();
             });
     });
diff --git a/src/test/dailyChargeAmount.js b/src/test/dailyChargeAmount.js
index 6cef69f46622bb13cc031234dc19279e5ca7ddb4..2c37d2749a1661b307cc37b64b643f8c76f2cb41 100644
--- a/src/test/dailyChargeAmount.js
+++ b/src/test/dailyChargeAmount.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -38,7 +58,7 @@ describe('request daily charge amount', () => {
             });
     });
 
-    it('should list the year range', (done) => {
+    it('should list the years', (done) => {
         chai.request(server)
             .get('/api/v1/daily_charge_amount/years')
             .end((err, res) => {
@@ -51,6 +71,47 @@ describe('request daily charge amount', () => {
             });
     });
 
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount/source')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('source');
+                done();
+            });
+    });
+
+    it('should list the adm dependency', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount/adm_dependency')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the adm dependency detailed', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount/adm_dependency_detailed')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
     it('should list the locations', (done) => {
         chai.request(server)
             .get('/api/v1/daily_charge_amount/location')
@@ -65,6 +126,21 @@ describe('request daily charge amount', () => {
             });
     });
 
+    it('should list the rural locations', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount/rural_location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+
     it('should list education level short', (done) => {
         chai.request(server)
             .get('/api/v1/daily_charge_amount/education_level_short')
@@ -81,7 +157,21 @@ describe('request daily charge amount', () => {
 
     it('should list education level mod', (done) => {
         chai.request(server)
-            .get('/api/v1/daily_charge_amount/education_level_mod')
+            .get('/api/v1/daily_charge_amount/average/education_level_mod')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the periods', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount/period')
             .end((err, res) => {
                 res.should.have.status(200);
                 res.should.be.json;
@@ -144,16 +234,53 @@ describe('request daily charge amount', () => {
     it('should return 400 with no filters', (done) => {
         chai.request(server)
             .get('/api/v1/daily_charge_amount/average?filter=education_level_mod:["3","4","5","6"]')
+            .end((err, res) => {
+                res.should.have.status(400);
+                res.should.be.json;
+                res.body.should.have.property('error');
+                res.body.error.should.be.equal('Wrong/No filter specified');
+                done();
+            });
+    });
+
+    it('should list the filter of integral time', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount?filter=integral_time:"1"')
             .end((err, res) => {
                 res.should.have.status(200);
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
                 res.body.result[0].should.have.property('year');
-                res.body.result[0].should.have.property('education_level_mod_id');
-                res.body.result[0].should.have.property('education_level_mod_name');
+                res.body.result[0].should.have.property('education_level_short_id');
                 res.body.result[0].should.have.property('average_class_duration');
+                res.body.result[0].should.have.property('median_class_duration');
+                res.body.result[0].should.have.property('std_class_duration');
+                res.body.result[0].should.have.property('fstqt_class_duration');
+                res.body.result[0].should.have.property('thdqt_class_duration');
+                res.body.result[0].should.have.property('education_level_short_name');
                 done();
             });
     });
+
+    it('should list daily charge amount for period 2', (done) => {
+        chai.request(server)
+            .get('/api/v1/daily_charge_amount?filter=integral_time:"0",period:["2"]')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('education_level_short_id');
+                res.body.result[0].should.have.property('average_class_duration');
+                res.body.result[0].should.have.property('median_class_duration');
+                res.body.result[0].should.have.property('std_class_duration');
+                res.body.result[0].should.have.property('fstqt_class_duration');
+                res.body.result[0].should.have.property('thdqt_class_duration');
+                res.body.result[0].should.have.property('education_level_short_name');
+                done();
+            });
+    });
+
 });
diff --git a/src/test/distributionFactor.js b/src/test/distributionFactor.js
index e733fc5908cd0791490645abed718ffb5aa0dcfb..1233ad85dc265790167baec390aa870d9ba21a8a 100644
--- a/src/test/distributionFactor.js
+++ b/src/test/distributionFactor.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/educationYears.js b/src/test/educationYears.js
index 7a47b3079c827bf9e47d1392e08522ce74874402..7d21d8ef56eebfb0a7670db22fe7f8179698b60a 100644
--- a/src/test/educationYears.js
+++ b/src/test/educationYears.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/employees.js b/src/test/employees.js
new file mode 100644
index 0000000000000000000000000000000000000000..2eff61c43f4aef2db2adf562548f9fcfa4259146
--- /dev/null
+++ b/src/test/employees.js
@@ -0,0 +1,215 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+process.env.NODE_ENV = 'test';
+
+const chai = require('chai');
+
+const dirtyChai = require('dirty-chai');
+
+chai.use(dirtyChai);
+
+const chaiXml = require('chai-xml');
+
+chai.use(chaiXml);
+
+const chaiHttp = require('chai-http');
+
+const assert = chai.assert;
+
+const expect = chai.expect;
+
+const should = chai.should(); // actually call the function
+
+const libs = `${process.cwd()}/libs`;
+
+const server = require(`${libs}/app`);
+
+chai.use(chaiHttp);
+describe('request employees', () => {
+    it('should list the employees default query', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('total_employees');
+                res.body.result[0].should.have.property('total_teachers');
+                done();
+            });
+    });
+
+    it('should list the year range', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/year_range')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('start_year');
+                res.body.result[0].should.have.property('end_year');
+                done();
+            });
+    });
+
+    it('should list the years', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/years')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                done();
+            });
+    });
+
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/source')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('source');
+                done();
+            });
+    });
+
+
+    it('should list the adm dependency', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/adm_dependency')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the adm dependency detailed', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/adm_dependency_detailed')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the location', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the rural location', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees/rural_location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list employees with valid filter', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees?filter=min_year:2017')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('total_employees');
+                res.body.result[0].should.have.property('total_teachers');
+                done();
+            });
+    });
+
+    it('should list employees with school dim', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees?dims=school&filter=state:11')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('total_employees');
+                res.body.result[0].should.have.property('total_teachers');
+                res.body.result[0].should.have.property('school_name');
+                res.body.result[0].should.have.property('school_id');
+                done();
+            });
+    });
+
+
+    it('should list employees with school filter', (done) => {
+        chai.request(server)
+            .get('/api/v1/employees?filter=school:41126882')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('total_employees');
+                res.body.result[0].should.have.property('total_teachers');
+                done();
+            });
+    });
+
+});
\ No newline at end of file
diff --git a/src/test/enrollment.js b/src/test/enrollment.js
index 997e5f70077c2d4b008845d33f452e0b7a9df679..9ec5cba3314877483999f29be2ef700eba35646f 100644
--- a/src/test/enrollment.js
+++ b/src/test/enrollment.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -240,8 +260,8 @@ describe('request enrollments', () => {
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('name');
                 res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('year');
                 done();
             });
     });
@@ -254,8 +274,8 @@ describe('request enrollments', () => {
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('name');
                 res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('year');
                 done();
             });
     });
@@ -268,7 +288,7 @@ describe('request enrollments', () => {
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
                 res.body.result[0].should.have.property('total');
                 done();
             });
@@ -282,7 +302,7 @@ describe('request enrollments', () => {
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
                 res.body.result[0].should.have.property('total');
                 done();
             });
@@ -296,7 +316,7 @@ describe('request enrollments', () => {
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('name');
+                res.body.result[0].should.have.property('year');
                 res.body.result[0].should.have.property('total');
                 done();
             });
@@ -445,7 +465,7 @@ describe('request enrollments', () => {
                 res.should.be.json;
                 res.body.should.have.property('result');
                 res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('ethnic_group_name');
+                res.body.result[0].should.have.property('ethnic_group_id');
                 done();
             });
     });
@@ -475,4 +495,18 @@ describe('request enrollments', () => {
                 done();
             });
     });
+
+    it('should list the age range', (done) => {
+        chai.request(server)
+            .get('/api/v1/enrollment/age_range_all')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
 });
diff --git a/src/test/glossEnrollmentRatio.js b/src/test/glossEnrollmentRatio.js
index 4043bf4a670b72864de89210b933eb992abd024c..39859b708082af41cdad78482b92a22aadcec21b 100644
--- a/src/test/glossEnrollmentRatio.js
+++ b/src/test/glossEnrollmentRatio.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -24,6 +44,19 @@ const server = require(`${libs}/app`);
 
 chai.use(chaiHttp);
 describe('request gloss enrollment ratio', () => {
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/gloss_enrollment_ratio/source')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('source');
+                done();
+            });
+    });
+
     it('should list the year range', (done) => {
         chai.request(server)
             .get('/api/v1/gloss_enrollment_ratio/year_range')
diff --git a/src/test/id2str.js b/src/test/id2str.js
index 8d6f5457fac34c031612fd4cf8a9732a66690f67..5b0fd1150c9dc5b7071cbe6fd44eefb69cced72a 100644
--- a/src/test/id2str.js
+++ b/src/test/id2str.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -120,17 +140,17 @@ describe('id2str middleware', () => {
     });
 
     it('should transform a full age range id', (done) => {
-        expect(id2str.fullAgeRange(1)).to.deep.equal('0-3');
-        expect(id2str.fullAgeRange(2)).to.deep.equal('4-5');
-        expect(id2str.fullAgeRange(3)).to.deep.equal('6-10');
-        expect(id2str.fullAgeRange(4)).to.deep.equal('11-14');
-        expect(id2str.fullAgeRange(5)).to.deep.equal('15-17');
-        expect(id2str.fullAgeRange(6)).to.deep.equal('18-24');
-        expect(id2str.fullAgeRange(7)).to.deep.equal('25-29');
-        expect(id2str.fullAgeRange(8)).to.deep.equal('30-40');
-        expect(id2str.fullAgeRange(9)).to.deep.equal('41-50');
-        expect(id2str.fullAgeRange(10)).to.deep.equal('51-64');
-        expect(id2str.fullAgeRange(11)).to.deep.equal('64+');
+        expect(id2str.fullAgeRange(1)).to.deep.equal('0 a 3 anos');
+        expect(id2str.fullAgeRange(2)).to.deep.equal('4 a 5 anos');
+        expect(id2str.fullAgeRange(3)).to.deep.equal('6 a 10 anos');
+        expect(id2str.fullAgeRange(4)).to.deep.equal('11 a 14 anos');
+        expect(id2str.fullAgeRange(5)).to.deep.equal('15 a 17 anos');
+        expect(id2str.fullAgeRange(6)).to.deep.equal('18 a 24 anos');
+        expect(id2str.fullAgeRange(7)).to.deep.equal('25 a 29 anos');
+        expect(id2str.fullAgeRange(8)).to.deep.equal('30 a 40 anos');
+        expect(id2str.fullAgeRange(9)).to.deep.equal('41 a 50 anos');
+        expect(id2str.fullAgeRange(10)).to.deep.equal('51 a 64 anos');
+        expect(id2str.fullAgeRange(11)).to.deep.equal('Mais de 64 anos');
         expect(id2str.fullAgeRange(12)).to.deep.equal('Não declarada');
 
         done();
diff --git a/src/test/idhm.js b/src/test/idhm.js
index cea8893e9a4bbe92b6028615f3c8c841d9abdca1..82c06142102f0314a25badfcdae54e858ad363e7 100644
--- a/src/test/idhm.js
+++ b/src/test/idhm.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/idhme.js b/src/test/idhme.js
index dc338d38adbbb0ce8362a0a9f1e950671b49295b..767e788eb3404e483256200c9a2533e07cd3474d 100644
--- a/src/test/idhme.js
+++ b/src/test/idhme.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/idhml.js b/src/test/idhml.js
index 90312b0684f5b033d98e4f1b281a5e716a372cbd..c3bfd5dcb5c5f2f5f5e57735cf87d91c99af0a7c 100644
--- a/src/test/idhml.js
+++ b/src/test/idhml.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/idhmr.js b/src/test/idhmr.js
index eb06b37d0da0e2c5b03cf245906a4edb4e3c035e..4f7a308c0a36ccb65c45b41078de8d5d9c687bf0 100644
--- a/src/test/idhmr.js
+++ b/src/test/idhmr.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/infrastructure.js b/src/test/infrastructure.js
index 8714a73cd12a73ba81652ff13a9f3feacc661dc9..a600d8c3bc99d632f95ede395d16e94b1c89aa72 100644
--- a/src/test/infrastructure.js
+++ b/src/test/infrastructure.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/liquidEnrollmentRatio.js b/src/test/liquidEnrollmentRatio.js
index ec0489e905f1fd8360200adbdb603f4d888233a0..b61a8d8f144b383e41e1fbffe567db3080f7a93e 100644
--- a/src/test/liquidEnrollmentRatio.js
+++ b/src/test/liquidEnrollmentRatio.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -24,6 +44,19 @@ const server = require(`${libs}/app`);
 
 chai.use(chaiHttp);
 describe('request liquid enrollment ratio', () => {
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/liquid_enrollment_ratio/source')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('source');
+                done();
+            });
+    });
+
     it('should list the year range', (done) => {
         chai.request(server)
             .get('/api/v1/liquid_enrollment_ratio/year_range')
@@ -159,25 +192,9 @@ describe('request liquid enrollment ratio', () => {
             });
     });
 
-    it('should list the filter of education level basic', (done) => {
-        chai.request(server)
-            .get('/api/v1/liquid_enrollment_ratio?filter=education_level_basic:["1"]')
-            .end((err, res) => {
-                res.should.have.status(200);
-                res.should.be.json;
-                res.body.should.have.property('result');
-                res.body.result.should.be.a('array');
-                res.body.result[0].should.have.property('total');
-                res.body.result[0].should.have.property('year');
-                res.body.result[0].should.have.property('partial');
-                res.body.result[0].should.have.property('denominator');
-                done();
-            });
-    });
-
-    it('should list the filter of education level basic', (done) => {
+    it('should list liquid ratio with education level basic filter', (done) => {
         chai.request(server)
-            .get('/api/v1/liquid_enrollment_ratio?filter=education_level_basic:["1","2"]')
+            .get('/api/v1/liquid_enrollment_ratio?dims=education_level_basic&filter=education_level_basic:["1","2","4","5","6"]')
             .end((err, res) => {
                 res.should.have.status(200);
                 res.should.be.json;
@@ -185,6 +202,9 @@ describe('request liquid enrollment ratio', () => {
                 res.body.result.should.be.a('array');
                 res.body.result[0].should.have.property('total');
                 res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('age_range');
+                res.body.result[0].should.have.property('education_level_basic_id');
+                res.body.result[0].should.have.property('education_level_basic_name');
                 res.body.result[0].should.have.property('partial');
                 res.body.result[0].should.have.property('denominator');
                 done();
diff --git a/src/test/outOfSchool.js b/src/test/outOfSchool.js
new file mode 100644
index 0000000000000000000000000000000000000000..bd265f39fc6d7f445648d5f562c2f178df44a66d
--- /dev/null
+++ b/src/test/outOfSchool.js
@@ -0,0 +1,232 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+process.env.NODE_ENV = 'test';
+
+const chai = require('chai');
+
+const dirtyChai = require('dirty-chai');
+
+chai.use(dirtyChai);
+
+const chaiXml = require('chai-xml');
+
+chai.use(chaiXml);
+
+const chaiHttp = require('chai-http');
+
+const assert = chai.assert;
+
+const expect = chai.expect;
+
+const should = chai.should(); // actually call the function
+
+const libs = `${process.cwd()}/libs`;
+
+const server = require(`${libs}/app`);
+
+chai.use(chaiHttp);
+
+describe('request out of school', () => {
+    it('should list the year range', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/year_range')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('start_year');
+                res.body.result[0].should.have.property('end_year');
+                done();
+            });
+    });
+
+    it('should list the years', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/years')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                done();
+            });
+    });
+
+    it('should list the full age range', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/full_age_range')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the ethnic_group', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/ethnic_group')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the location', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the gender', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/gender')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the fifth household income', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/fifth_household_income')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the extremes household income', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/extremes_household_income')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list default query out of school', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('year');
+                done();
+            });
+    });
+
+    it('should list out of school with valid filters', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school?filter=max_year:2010')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                res.body.result[0].should.have.property('total');
+                done();
+            });
+    });
+
+    it('should list the simcaq default query for out of school', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/simcaq')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('ano_censo');
+                done();
+            });
+    });
+
+    it('should list simcaq out of school with valid filters', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/simcaq?filter=state:41')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('ano_censo');
+                res.body.result[0].should.have.property('total');
+                done();
+            });
+    });
+
+    it('should list simcaq out of school with valid dimensions', (done) => {
+        chai.request(server)
+            .get('/api/v1/out_of_school/simcaq?dims=state,pfe')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('pfe_id');
+                res.body.result[0].should.have.property('pfe_name');
+                res.body.result[0].should.have.property('ano_censo');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('state_id');
+                done();
+            });
+    });
+
+});
\ No newline at end of file
diff --git a/src/test/pibpercapita.js b/src/test/pibpercapita.js
index e044b1c0ad631c7f236a9a67b9a50c2a111863f8..bd693bdcd1379902816845946d6b8394e739c2f3 100644
--- a/src/test/pibpercapita.js
+++ b/src/test/pibpercapita.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/population.js b/src/test/population.js
index 37be404fceaa84eb4e1b6d6a763096b2d557c675..785149464d492fe560ca0ba64ef8b499e82fcaa6 100644
--- a/src/test/population.js
+++ b/src/test/population.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/query.js b/src/test/query.js
index cad0102ff882c4eb2121cb99c804b3b8b84f0fa4..2bc37621a4fe7028ff8b2eb06fd34c7773c2901a 100644
--- a/src/test/query.js
+++ b/src/test/query.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/rateSchool.js b/src/test/rateSchool.js
index b029fa42e87e76aca2a65c95bd17400abcd4e40c..725dd5e61cdfbe377434fd447955a4749ae5fec5 100644
--- a/src/test/rateSchool.js
+++ b/src/test/rateSchool.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/region.js b/src/test/region.js
index daf45685c7a5298523afdf3e95446a715442429a..fc530c28e07a3ba60bc5402cbb8e9329001733d0 100644
--- a/src/test/region.js
+++ b/src/test/region.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/response.js b/src/test/response.js
index bdafc9d89eefa01966bc4171ebcbd373924479cf..c0c0855721cf69598cdd1f0306cace12531eb63a 100644
--- a/src/test/response.js
+++ b/src/test/response.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/school.js b/src/test/school.js
index 0ca4c78b47b93addb3aa5970588bfa1fc060d87f..7f05a6748c08e7c6a7eea711b74ecbe9d5057a66 100644
--- a/src/test/school.js
+++ b/src/test/school.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -126,15 +146,4 @@ describe('request schools', () => {
             });
     });
 
-    it('should return 400 with no filters', (done) => {
-        chai.request(server)
-            .get('/api/v1/school')
-            .end((err, res) => {
-                res.should.have.status(400);
-                res.should.be.json;
-                res.body.should.have.property('error');
-                res.body.error.should.be.equal('Wrong/No filter specified');
-                done();
-            })
-    });
 });
diff --git a/src/test/schoolCount.js b/src/test/schoolCount.js
index 305045894b410b0c4215ce2d3d4d85aa065860c2..839415abbb8f0da1829573ddf9be65c71e56d299 100644
--- a/src/test/schoolCount.js
+++ b/src/test/schoolCount.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/schoolInfrastructure.js b/src/test/schoolInfrastructure.js
new file mode 100644
index 0000000000000000000000000000000000000000..f167fb1ff2aa7521a5018066e40616ff5b56f10b
--- /dev/null
+++ b/src/test/schoolInfrastructure.js
@@ -0,0 +1,183 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+process.env.NODE_ENV = 'test';
+
+const chai = require('chai');
+
+const dirtyChai = require('dirty-chai');
+
+chai.use(dirtyChai);
+
+const chaiXml = require('chai-xml');
+
+chai.use(chaiXml);
+
+const chaiHttp = require('chai-http');
+
+const assert = chai.assert;
+
+const expect = chai.expect;
+
+const should = chai.should(); // actually call the function
+
+const libs = `${process.cwd()}/libs`;
+
+const server = require(`${libs}/app`);
+
+chai.use(chaiHttp);
+describe('request school infrastructure', () => {
+    it('should list the default school insfrastructure query', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('schools_in_school_buildings');
+                res.body.result[0].should.have.property('urban_schools_in_school_buildings');
+                res.body.result[0].should.have.property('country_schools_in_school_buildings');
+                res.body.result[0].should.have.property('schools_not_in_school_buildings');
+                res.body.result[0].should.have.property('libraries');
+                res.body.result[0].should.have.property('libraries_reading_room');
+                res.body.result[0].should.have.property('computer_lab');
+                res.body.result[0].should.have.property('science_lab');
+                res.body.result[0].should.have.property('kids_park');
+                res.body.result[0].should.have.property('nursery');
+                res.body.result[0].should.have.property('sports_court');
+                res.body.result[0].should.have.property('sports_court_coverage');
+                res.body.result[0].should.have.property('courtyard');
+                res.body.result[0].should.have.property('courtyard_coverage');
+                res.body.result[0].should.have.property('director_room');
+                res.body.result[0].should.have.property('secretary');
+                res.body.result[0].should.have.property('teacher_room');
+                res.body.result[0].should.have.property('kitchen');
+                res.body.result[0].should.have.property('storeroom');
+                res.body.result[0].should.have.property('warehouse');
+                res.body.result[0].should.have.property('internet');
+                res.body.result[0].should.have.property('broadband_internet');
+                res.body.result[0].should.have.property('inside_bathroom');
+                res.body.result[0].should.have.property('inside_kids_bathroom');
+                res.body.result[0].should.have.property('eletric_energy');
+                res.body.result[0].should.have.property('water_supply');
+                res.body.result[0].should.have.property('filtered_water');
+                res.body.result[0].should.have.property('sewage_treatment');
+                res.body.result[0].should.have.property('adapted_building');
+                res.body.result[0].should.have.property('special_bathroom');
+                done();
+            });
+    });
+    it('should list the year range', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/year_range')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('start_year');
+                res.body.result[0].should.have.property('end_year');
+                done();
+            });
+    });
+    
+    it('should list the years', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/years')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('year');
+                done();
+            });
+    });
+
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/source')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('source');
+                done();
+            });
+    });
+
+    it('should list the location', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the rural location', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/rural_location')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the adm dependency', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/adm_dependency')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the adm dependency detailed', (done) => {
+        chai.request(server)
+            .get('/api/v1/school_infrastructure/adm_dependency_detailed')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+});
\ No newline at end of file
diff --git a/src/test/simulation.js b/src/test/simulation.js
index cd68d68048984fb7c23d22f20a64ce5fe3ab73f2..d7a99a970a7f0b5f886c0d20b9df28a0291e35ce 100644
--- a/src/test/simulation.js
+++ b/src/test/simulation.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/siope.js b/src/test/siope.js
index ac13ead5ba92f76c6294f18fb324b90ed52396fd..4f88f314cb212ffe36164addae2afc073acf6c58 100644
--- a/src/test/siope.js
+++ b/src/test/siope.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/state.js b/src/test/state.js
index 5cea7a4f69d6169208367df71571ebefa541a13a..30a2548890a6aee921a6863f709c569514000d03 100644
--- a/src/test/state.js
+++ b/src/test/state.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/teacher.js b/src/test/teacher.js
index 30eddee8a20e6654c2db5f595c44e37f99868a5f..c6ed6508a6cc0ad176538aef1681fd7d2ef577d8 100644
--- a/src/test/teacher.js
+++ b/src/test/teacher.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
diff --git a/src/test/transport.js b/src/test/transport.js
index 78a4075b9dbc56a8fadcc3d55581f3338cbe613c..217d688f51abfadfcf3d1d14aee2dccfc9d0b4f6 100644
--- a/src/test/transport.js
+++ b/src/test/transport.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');
@@ -37,7 +57,7 @@ describe('request transport', () => {
             });
     });
 
-    it('should list the year range', (done) => {
+    it('should list the years', (done) => {
         chai.request(server)
             .get('/api/v1/transport/years')
             .end((err, res) => {
@@ -50,7 +70,7 @@ describe('request transport', () => {
             });
     });
 
-    it('should list the years', (done) => {
+    it('should list the year range', (done) => {
         chai.request(server)
             .get('/api/v1/transport/year_range')
             .end((err, res) => {
@@ -147,9 +167,23 @@ describe('request transport', () => {
             });
     });
 
-    it('should list the education level basic', (done) => {
+    it('should list the education level mod', (done) => {
+        chai.request(server)
+            .get('/api/v1/transport/education_level_mod')
+            .end((err, res) => {
+                res.should.have.status(200);
+                res.should.be.json;
+                res.body.should.have.property('result');
+                res.body.result.should.be.a('array');
+                res.body.result[0].should.have.property('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the service type', (done) => {
         chai.request(server)
-            .get('/api/v1/transport/education_level_basic')
+            .get('/api/v1/transport/service_type')
             .end((err, res) => {
                 res.should.have.status(200);
                 res.should.be.json;
diff --git a/src/test/user.js b/src/test/user.js
index 3109960bd98dfec2727c5ba7bf87b28148046ae7..ab44a78ddcd71b20d7c9944d6bf5cea7cd359f9d 100644
--- a/src/test/user.js
+++ b/src/test/user.js
@@ -1,3 +1,23 @@
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
 process.env.NODE_ENV = 'test';
 
 const chai = require('chai');