diff --git a/src/app/hirebike/hirebike.page.html b/src/app/hirebike/hirebike.page.html
index 6cf9048104da46afb90fb4c4bf5e31fe89cdab84..a3a2cae519b9ddde3c3abe4d6703c642377b9418 100644
--- a/src/app/hirebike/hirebike.page.html
+++ b/src/app/hirebike/hirebike.page.html
@@ -25,7 +25,22 @@
   <div class="bike-details-container">
     <div class="inner">
       <div class="button-container">
-        <ion-grid>
+
+        <ion-grid *ngIf="isBikeHired" class="directions">
+          <ion-item class="waypoint-wrapper">
+            <span [innerHTML]="wayPointsInfo"></span>
+          </ion-item>
+          <ion-list class="my-ion-list">
+            <ion-item *ngFor="let maneuver of maneuverList">
+              <li><span [className]="'arrow '+ maneuver.action"></span><span [innerHTML]="maneuver.instruction"></span>
+              </li>
+            </ion-item>
+            <ion-item>
+              <li><span [innerHTML]="routeSummary"></span></li>
+            </ion-item>
+          </ion-list>
+        </ion-grid>
+        <ion-grid *ngIf="!isBikeHired">
           <ion-row>
             <ion-col>Bike Name</ion-col>
             <ion-col>{{bikeDetails.name}}</ion-col>
@@ -34,6 +49,8 @@
             <ion-col>Bike Location</ion-col>
             <ion-col>{{address}}</ion-col>
           </ion-row>
+        </ion-grid>
+        <ion-grid>
           <ion-row *ngIf="!isBikeHired">
             <ion-col>
               <ion-button size="medium" expand="block" (click)="startTrip()">Start Trip</ion-button>
diff --git a/src/app/hirebike/hirebike.page.ts b/src/app/hirebike/hirebike.page.ts
index 4843ca6dde8c25f9322a547bf22c502d6d4b7c04..b0ccdd363eddb47a5f4c9d43d3eb0d2866ee02dd 100644
--- a/src/app/hirebike/hirebike.page.ts
+++ b/src/app/hirebike/hirebike.page.ts
@@ -7,7 +7,9 @@ import { HttpClient, HttpHeaders } from '@angular/common/http';
 import { Storage } from '@ionic/storage';
 import { ToastService } from '../services/toast.service';
 import { Router } from '@angular/router';
+import { MapDataService } from '../services/map-data.service';
 declare var H: any;
+
 @Component({
   selector: 'app-hirebike',
   templateUrl: './hirebike.page.html',
@@ -23,18 +25,39 @@ export class HirebikePage implements OnInit {
   isBikeHired = false;
   noReservation = true;
 
+  currentRoute: any;
+  routeSummary: any;
+  wayPointsInfo:any;
+
   startRideSubject: Subject<any> = new Subject();
   gotReservedBikeSubject: Subject<any> = new Subject();
+  maneuverList: any = [];
 
   constructor(private geolocation: Geolocation,
     public restService: RestService,
     public httpClient: HttpClient,
     private storage: Storage,
     private toastService: ToastService,
-    private router: Router) {
-      this.platform = new H.service.Platform({
-        'apikey': 'tiVTgBnPbgV1spie5U2MSy-obhD9r2sGiOCbBzFY2_k'
-      });
+    private router: Router,
+    private mapDataService: MapDataService) {
+    this.platform = new H.service.Platform({
+      'apikey': 'tiVTgBnPbgV1spie5U2MSy-obhD9r2sGiOCbBzFY2_k'
+    });
+    this.mapDataService.mapDataSubject.subscribe(receiveddata => {
+      console.log('data received ');
+      console.log(receiveddata);
+      this.currentRoute = receiveddata;
+      let content = '';
+      content += 'Total distance: ' + receiveddata.summary.distance + 'm. ';
+      content += 'Travel Time: ' + Math.floor(receiveddata.summary.travelTime / 60) + ' minutes ' + (receiveddata.summary.travelTime % 60) + ' seconds.' + ' (in current traffic)';
+      this.routeSummary = content;
+      this.showRouteInfoPanel(receiveddata);
+      let waypointLabels = [];
+      for (let i = 0; i < receiveddata.waypoint.length; i += 1) {
+        waypointLabels.push(receiveddata.waypoint[i].label)
+      }
+      this.wayPointsInfo = waypointLabels.join(' - ');
+    });
   }
 
   ngOnInit() {
@@ -45,6 +68,31 @@ export class HirebikePage implements OnInit {
 
   }
 
+  showRouteInfoPanel(route) {
+    // Add a marker for each maneuver
+    let maneuverList = [];
+    for (let i = 0; i < route.leg.length; i += 1) {
+      for (let j = 0; j < route.leg[i].maneuver.length; j += 1) {
+        // Get the next maneuver.
+        let maneuver = route.leg[i].maneuver[j];
+        maneuverList.push(maneuver);
+
+        // var li = document.createElement('li'),
+        //   spanArrow = document.createElement('span'),
+        //   spanInstruction = document.createElement('span');
+
+        // spanArrow.className = 'arrow ' + maneuver.action;
+        // spanInstruction.innerHTML = maneuver.instruction;
+        // li.appendChild(spanArrow);
+        // li.appendChild(spanInstruction);
+
+        // nodeOL.appendChild(li);
+      }
+    }
+
+    this.maneuverList = maneuverList;
+  }
+
   getReservedBike() {
     this.storage.get('token').then((token) => {
       const headers = new HttpHeaders().set("Authorization", "Bearer " + token);
@@ -64,7 +112,7 @@ export class HirebikePage implements OnInit {
             this.bikeDetails = resp.data;
             this.noReservation = false;
             this.reverseGeocode(this.platform, this.bikeDetails.lat, this.bikeDetails.lon);
-            
+
             //pass reserved bike subject here map
             this.gotReservedBikeSubject.next(resp.data);
           }, (reservedBikeError) => console.log(reservedBikeError));