diff --git a/ChatService/app/routes.js b/ChatService/app/routes.js
index 376ebb01dbe641a3bd9a0d6256361c87cf4b3219..45e19693e17a55dd0b47e0dd9e271a4c7f046a58 100644
--- a/ChatService/app/routes.js
+++ b/ChatService/app/routes.js
@@ -107,7 +107,7 @@ module.exports = function(app) {
 
         // driver want to find order
         app.post('/findorder', function(req, res){
-            Driver.findOne({"idDriver" : req.body.id}, function(err, foundDriver){
+            Driver.findOne({"idDriver" : Number (req.body.id)}, function(err, foundDriver){
                 if (err){
                     var response = {"status" : 503, "message" : "Database error detected"};
                     res.json(response);
@@ -132,7 +132,7 @@ module.exports = function(app) {
 
         // user select certain driver
         app.post('/selectdriver', function(req, res){
-            Driver.findOne({"idDriver" : req.body.id, "status" : "available"}, function(err, foundDriver){
+            Driver.findOne({"idDriver" : Number (req.body.id), "status" : "available"}, function(err, foundDriver){
                 if (!err && foundDriver){
                     foundDriver["status"] = "acceptorder";
                     foundDriver.save();
@@ -148,7 +148,7 @@ module.exports = function(app) {
 
         // user finishes their order
         app.post('/finishorder', function(req, res){
-            Driver.findOne({"idDriver" : req.body.id, "status" : "acceptorder"}, function(err, foundDriver){
+            Driver.findOne({"idDriver" : Number (req.body.id), "status" : "acceptorder"}, function(err, foundDriver){
                 if (!err && foundDriver){
                     foundDriver["status"] = "available";
                     foundDriver.save();
@@ -165,14 +165,14 @@ module.exports = function(app) {
         // FOR HANDLING FCM TOKEN USER
         // add user fcm token
         app.post('/addfcmtoken', function(req, res){
-            FcmToken.findOne({"id" : req.body.id}, function(err, foundUser){
+            FcmToken.findOne({"id" : Number (req.body.id)}, function(err, foundUser){
                 if (err){
                     var response = {"status" : 503, "message" : "Database error detected"};
                     res.json(response);
                 }
                 else {
                     if (!foundUser){
-                        FcmToken.create({"id" : req.body.id, "token" : req.body.token}, function(error, addUser){
+                        FcmToken.create({"id" : Number (req.body.id), "token" : req.body.token}, function(error, addUser){
                             if(!error && addUser){
                                 var response = {"status" : 200, "message" : "User token has been added to token list"};
                                 res.json(response);    
@@ -190,7 +190,7 @@ module.exports = function(app) {
 
         // delete user fcm token
         app.post('/deletefcmtoken', function(req, res){
-            FcmToken.findOne({"id" : req.body.id}, function(err, foundUser){
+            FcmToken.findOne({"id" : Number (req.body.id)}, function(err, foundUser){
                 if (err){
                     var response = {"status" : 503, "message" : "Database error detected"};
                     res.json(response);
@@ -217,6 +217,19 @@ module.exports = function(app) {
         })
 
         // CHAT SERVICE
+        // Get chat history
+        app.get('/chathistory', function(req, res){
+            var idUser = Number (req.query.idUser);
+            var idDriver = Number (req.query.idDriver);
+            Chat.findOne({"idUser" : idUser, "idDriver" : idDriver}, function(err, chat){
+                if(err){
+                    res.json({"error" : "yes"});
+                } else {
+                    res.json(chat.history);
+                }
+            });
+        });
+
         // Send message from passangger
         app.post('/sendmessagefrompassangger', function(req, res){
             var senderToken = req.body.token;
diff --git a/ChatService/server.js b/ChatService/server.js
index b5484984c6c569b528be2dc2dc9a19b2b58d908a..8edddf9b9df29d0d94f4d74ba84da031eaa3f6a4 100644
--- a/ChatService/server.js
+++ b/ChatService/server.js
@@ -24,7 +24,24 @@ app.use(bodyParser.urlencoded({ extended: true })); // parse application/x-www-f
 
 app.use(methodOverride('X-HTTP-Method-Override')); // override with the X-HTTP-Method-Override header in the request. simulate DELETE/PUT
 app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users
+app.use(function (req, res, next) {
 
+    // Website you wish to allow to connect
+    res.setHeader('Access-Control-Allow-Origin', '*');
+
+    // Request methods you wish to allow
+    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
+
+    // Request headers you wish to allow
+    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
+
+    // Set to true if you need the website to include cookies in the requests sent
+    // to the API (e.g. in case you use sessions)
+    res.setHeader('Access-Control-Allow-Credentials', true);
+
+    // Pass to next layer of middleware
+    next();
+});
 // routes ==================================================
 require('./app/routes')(app); // pass our application into our routes (comment out if routes has been made)