diff --git a/application/controllers/Api.php b/application/controllers/Api.php
index 65945c7..f645666 100644
--- a/application/controllers/Api.php
+++ b/application/controllers/Api.php
@@ -156,7 +156,8 @@ class Api extends CI_Controller {
   public function bookedlist() {    
     $data = (array) json_decode(file_get_contents('php://input'));
     $data['auth_token'] = $this->auth_token;
-    $res = $this->Api_model->bookedlist($data);
+    $res_count = $this->Webservice_model->bookedlist($data,0,0);
+    $res = $this->Api_model->bookedlist($data,10,'',$res_count);
     if($res['status']!=0){
       $this->response($res['data']);
     }
diff --git a/application/controllers/Webservice.php b/application/controllers/Webservice.php
index b4613a9..fae3470 100644
--- a/application/controllers/Webservice.php
+++ b/application/controllers/Webservice.php
@@ -311,7 +311,8 @@ class Webservice extends CI_Controller {
   public function get_booking_list() {    
     $data = $_GET;
     $data['auth_token'] = $this->auth_token;
-    $res = $this->Webservice_model->bookedlist($data);
+    $res_count = $this->Webservice_model->bookedlist($data,0,0);
+    $res = $this->Webservice_model->bookedlist($data,10,'',$res_count);
     if(sizeof($res['data']) && $res['status']!=0){
       $this->responseBookList($res['data']);
     }elseif(sizeof($res['data'] == 0) && $res['status']!=0){
diff --git a/application/models/Api_model.php b/application/models/Api_model.php
index f7a4227..39a0b51 100644
--- a/application/models/Api_model.php
+++ b/application/models/Api_model.php
@@ -367,52 +367,50 @@ class Api_model extends CI_Model {
  		return $res;
  	}
 
- 	function bookedlist($data) {
+ 	function bookedlist($data,$per_page='',$page ='',$count ='') {
  		try {
- 			$per_page = 10;
  			$user_id = $this->auth_token_get($data['auth_token']);
  			if($user_id > 0) {
- 				$sql = "SELECT id FROM booking 
- 						WHERE customer_id='$user_id' AND status IN (0,1,2) 
- 						GROUP BY booking.id";
- 				$count = $this->db->query($sql)->num_rows();
-				
- 				if($count > 0) {
- 					$page = 1;
- 					if(isset($data['page'])) {
- 						$page = $data['page']; 						
- 					}
- 					$page_limit = ($page - 1) * $per_page;
-
- 					if($count > $page_limit) {
- 						$sql = "SELECT booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,
- 									   booking.qrcode,booking.no_of_ticket,booking.amount,venue.location,
- 									   booking.status AS book_status,event_gallery.media_url,
- 									   venue.id AS venue_id,event_date_time.date AS event_date,
- 									   event_date_time.time AS event_time 
- 								FROM booking 
- 								JOIN events ON booking.event_id=events.event_id 
- 								JOIN event_date_time ON booking.event_date_id=event_date_time.id 
- 								JOIN venue ON venue.id=events.venue_id 
- 								LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND 
- 														   event_gallery.media_type=0 
- 								WHERE customer_id='$user_id' AND booking.status IN(0,1,2,6)
- 								GROUP BY booking.id ORDER BY booking.id DESC LIMIT 10";
- 						$result = $this->db->query($sql)->result_array();
-
- 						if(!empty($result)){
- 							foreach ($result AS $key => $data) {
- 								$eData  = langTranslator($data['event_id'],'EVT');
-			 					$result[$key] = array_merge($result[$key],$eData);
-			 					$vData  = langTranslator($data['venue_id'],'VEN');
-			 					$result[$key] = array_merge($result[$key],$vData);
- 							}
- 						}
- 						
+				if($page == 0 && $per_page == 0){
+					$page = $page;
+				}else{
+					$page = (isset($data['page']))? $data['page']:1;
+				}
+				$page_limit = ($page - 1) * $per_page;
+				$cond =($per_page == 0 && $page == 0)?'':"LIMIT $page_limit, $per_page";
+
+				$bookedData = $this->db->query("
+ 					SELECT ODR.order_id,ODR.order_type,ODR.booking_id FROM orders AS ODR
+ 						LEFT JOIN booking AS BOK ON 
+							(ODR.booking_id=BOK.bookId AND BOK.status IN (0,1,2,3,5,6) AND 
+							 BOK.customer_id='$user_id')
+ 						LEFT JOIN flight_booking AS FBK ON 
+							(ODR.booking_id=FBK.flight_book_id AND FBK.status IN (0,1,2,3,5) AND 
+							 FBK.customer_id='$user_id')
+ 						LEFT JOIN hotel_booking AS HBK ON 
+							(ODR.booking_id=HBK.hotel_book_id AND HBK.status IN (0,1,2,3,5) AND 
+							 HBK.customer_id='$user_id')
+ 					GROUP BY ODR.order_id $cond");
+				if($per_page == 0 && $page == 0){
+					return $bookedData->num_rows();
+				}
+				if(count($bookedData) > 0) {
+					if($count > $page_limit) {
+						$bookData = array();
+						foreach (($bookedData = $bookedData->result_array()) as $key => $value) {
+							switch($value['order_type']){
+								case 1 : $resp = $this->getEventData($value['booking_id'],$user_id);break;
+								case 2 : $resp = $this->getHotelData($value['booking_id'],$user_id);break;
+								case 3 : $resp = $this->getFlightData($value['booking_id'],$user_id);break;
+							}
+							if(!empty($resp)){
+								$bookData[] = $resp;
+							}
+						}
  						$meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,
  									  'current_page'=>$page,'per_page'=>$per_page);
 
- 						$response = array('data'=>$result,'meta'=>$meta);
+ 						$response = array('data'=>$bookData,'meta'=>$meta);
  						$res = array('status'=>1,'data'=>$response);
  					} else {
  						$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
@@ -429,6 +427,79 @@ class Api_model extends CI_Model {
  		return $res;
  	}
 
+ 	function getEventData($booking_id='',$user_id=''){
+		$countryData = $this->getCountryData($user_id);
+		$lang = $countryData['language_code'];
+		$sql = "SELECT booking.id AS book_id,booking.bookId AS bookingCode,booking.amount,
+					   event_date_time.date AS event_date,translator_event.event_name,booking.qrcode,
+					   venue.location,event_date_time.time AS event_time,booking.event_id,
+					   event_gallery.media_url,booking.no_of_ticket,events.has_payment,
+					   venue.id AS venue_id,booking.status AS book_status
+				FROM booking
+				INNER JOIN events ON booking.event_id = events.event_id
+				INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
+				INNER JOIN venue ON venue.id = events.venue_id
+				LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND 
+ 														   event_gallery.media_type=0 
+				INNER JOIN translator_event ON translator_event.event_id=events.event_id
+				INNER JOIN translator_venue ON translator_venue.venue_id = events.venue_id
+				-- LEFT JOIN transaction ON transaction.booking_id=booking.bookId
+				WHERE (translator_event.language_code='$lang' OR translator_event.language_code='EN').
+					  AND booking.bookId='$booking_id' AND events.has_payment != '1' 
+					  AND transaction.status = '1'";
+
+		return $this->db->query($sql)->row_array();
+	}
+
+	function getHotelData($booking_id='',$user_id=''){
+		$sql = "SELECT HBK.id AS event_id, HBK.hotel_book_id AS bookingCode,HBK.price AS amount,
+					   HBK.checkin AS event_date,HBK.hotel_name AS event_name,HBK.qrcode,
+					   HBK.hotel_image AS media_url,HBK.status AS book_status,HBK.traveller_details
+				FROM hotel_booking AS HBK
+				-- LEFT JOIN transaction AS TRS ON TRS.booking_id=HBK.hotel_book_id
+				WHERE HBK.hotel_book_id='$booking_id'";
+
+		$hotelData =  $this->db->query($sql)->row_array();
+		if(empty($hotelData)){
+			return;
+		}
+		$trvlDtls = (isset($hotelData['traveller_details']) && !empty($hotelData['traveller_details']))?json_decode($hotelData['traveller_details']):'';
+		$hotelData['location'] = (!empty($trvlDtls) && isset($trvlDtls->hotel_address))?$trvlDtls->hotel_address:'';
+		$hotelData['no_of_ticket'] = (!empty($trvlDtls) && isset($trvlDtls->roomDetails->room))?$trvlDtls->roomDetails->room.' Room':'';
+		$hotelData['event_time'] = '11:00';
+		$hotelData['book_id'] = $hotelData['event_id'];
+		$hotelData['venue_id'] = $hotelData['event_id'];
+		$hotelData['has_payment'] = 1;
+		unset($hotelData['traveller_details']);
+		return $hotelData;
+	}
+
+	function getFlightData($booking_id='',$user_id=''){
+		$sql = "SELECT FBK.id AS event_id,FBK.flight_book_id AS bookingCode,HBK.price AS amount,
+					   FBK.departure_date AS event_date,FBK.flight_name AS event_name,FBK.qrcode,
+					   FBK.flight_image AS media_url,FBK.status AS booking_status,
+					   FBK.traveller_details 
+				FROM flight_booking AS FBK
+				-- LEFT JOIN transaction AS TRS ON TRS.booking_id=FBK.flight_book_id
+				WHERE FBK.flight_book_id='$booking_id'";
+
+		$flightData =  $this->db->query($sql)->row_array();
+		if(empty($flightData)){
+			return;
+		}
+		$trvlDtls = (isset($flightData['traveller_details']) && !empty($flightData['traveller_details']))?json_decode($flightData['traveller_details']):'';
+		$flightData['location'] = (!empty($trvlDtls))?$trvlDtls->fromAirportCity.' - '.$trvlDtls->toAirportCity:'';
+		$flightData['ticket_count'] = (!empty($trvlDtls))?(int)$trvlDtls->passengerDetails->adult + (int)$trvlDtls->passengerDetails->children + (int)$trvlDtls->passengerDetails->infant:'';
+		$fghtTme = explode("T",$flightData['date']); 
+		unset($flightData['traveller_details'],$flightData['date']);
+		$flightData['date'] = (isset($fghtTme[0]) && !empty($fghtTme[0]))?$fghtTme[0]:'';
+		$flightData['time'] = (isset($fghtTme[1]) && !empty($fghtTme[1]))?$fghtTme[1]:'';
+		$flightData['has_payment'] = 1;
+		$flightData['book_id'] = $flightData['event_id'];
+		$flightData['venue_id'] = $flightData['event_id'];
+		return $flightData;
+	}
+
  	function bookingdetails($data) {
  		try {
  			$user_id = $this->auth_token_get($data['auth_token']);
@@ -1806,13 +1877,14 @@ class Api_model extends CI_Model {
  					return;
  				}
  				$bookId = 'HTL'.date('ymd').str_pad(rand(1111,9999),4,0,STR_PAD_LEFT);
-
- 				$trvlerDtls = array("roomDetails"=>array("room"=>$bookData['roomCount'],"adult"=>$bookData['adultCount'],"children"=>$bookData['childCount']),"checkin"=>$bookData['checkin'],"checkout"=>$bookData['checkout'],"hotel_address"=>$bookData['hotelAddress']);
+ 				$qrcode = genQRcode($bookId);
+ 				$trvlerDtls = array("roomDetails"=>array("room"=>$bookData['rooms'],"adult"=>$bookData['adult'],"children"=>$bookData['child']),"checkin"=>$bookData['checkin'],"checkout"=>$bookData['checkout'],"hotel_address"=>$bookData['hotelAddress']);
 
 				$insert = array('hotel_book_id'=>$bookId,'customer_id'=>$user_id,'hotel_name'=>
 								$bookData['hotelName'],'hotel_image'=>$bookData['hotelImage'],'checkin'=>
 								$bookData['checkin'],'checkout'=>$bookData['checkout'],'price'=>
-								$bookData['amount'],'request_data'=>json_encode($bookData['requestData']),'traveller_details'=>$trvlerDtls));
+								$bookData['amount'],'request_data'=>json_encode($bookData['requestData']),'traveller_details'=>json_encode($trvlerDtls),
+								'qrcode'=>$qrcode);
 				$this->db->insert('hotel_booking',$insert);
 				$this->db->insert('orders',array('booking_id'=>$bookId,'order_type'=>'2','created_date'=>date('Y-m-d h:i:s')));
 				return array('status'=>1,'transaction_id'=>$bookId);
@@ -1851,11 +1923,11 @@ class Api_model extends CI_Model {
  					return;
  				}
  				$bookId = 'FBK'.date('ymd').str_pad(rand(1111,9999),4,0,STR_PAD_LEFT);
+ 				$qrcode = genQRcode($bookId);
 				$insert = array('flight_book_id'=>$bookId,'customer_id'=>$user_id,'flight_name'=>
-					$bookData['flightName'],'flight_image'=>$bookData['flightImage'],'departure_date'=>
-					$bookData['departure_date'],'arrival_date'=>$bookData['arrival_date'],'price'=>
-					$bookData['amount'],'request_data'=>json_encode($bookData['requestData']),
-					'traveller_details'=>json_encode($bookData['requestData']['traveller_details']));
+					$bookData['flightName'],'flight_image'=>$bookData['flightImage'],
+					'departure_date'=>$bookData['departure_date'],'price'=>$bookData['amount'],
+					'arrival_date'=>$bookData['arrival_date'],'request_data'=>json_encode($bookData['requestData']),'traveller_details'=>json_encode($bookData['requestData']['traveller_details']),'qrcode'=>$qrcode);
 				$this->db->insert('flight_booking',$insert);
 				$this->db->insert('orders',array('booking_id'=>$bookId,'order_type'=>'3','created_date'=>date('Y-m-d h:i:s')));
 				return array('status'=>1,'transaction_id'=>$bookId);
diff --git a/application/models/Webservice_model.php b/application/models/Webservice_model.php
index 937bd89..b0fb48f 100644
--- a/application/models/Webservice_model.php
+++ b/application/models/Webservice_model.php
@@ -1428,66 +1428,50 @@ class Webservice_model extends CI_Model {
 		return $res;
 	}
 
-	function bookedlist($data) {
+	
+	function bookedlist($data,$per_page='',$page ='',$count ='') {
 		try {
-			$per_page = 10;
 			$user_id = $this->auth_token_get($data['auth_token']);
 			if($user_id > 0) {
-				$count = $this->db->query("
- 					SELECT ODR.order_id FROM orders AS ODR
- 					INNER JOIN booking AS BOK ON 
- 								(ODR.booking_id=BOK.bookId AND BOK.status IN (0,1,2,3,5,6))
- 					INNER JOIN flight_booking AS FBK ON 
- 								(ODR.booking_id=FBK.flight_book_id AND FBK.status IN (0,1,2,3,5))
- 					INNER JOIN hotel_booking AS HBK ON 
- 								(ODR.booking_id=HBK.hotel_book_id AND HBK.status IN (0,1,2,3,5))
- 					WHERE BOK.customer_id='$user_id' AND EVT.status='1'
- 					GROUP BY ODR.order_id")->num_rows();
-
-				if($count > 0) {
-					if(isset($data['page'])) {
-						$page = $data['page']; 						
-					} else {
-						$page = 1;
-					} 
-					$page_limit = ($page - 1) * $per_page;
+				if($page == 0 && $per_page == 0){
+					$page = $page;
+				}else{
+					$page = (isset($data['page']))? $data['page']:1;
+				}
+				
+				$page_limit = ($page - 1) * $per_page;
+				$cond =($per_page == 0 && $page == 0)?'':"LIMIT $page_limit, $per_page";
+
+				$bookedData = $this->db->query("
+ 					SELECT ODR.order_id,ODR.order_type,ODR.booking_id FROM orders AS ODR
+ 						LEFT JOIN booking AS BOK ON 
+							(ODR.booking_id=BOK.bookId AND BOK.status IN (0,1,2,3,5,6) AND 
+							 BOK.customer_id='$user_id')
+ 						LEFT JOIN flight_booking AS FBK ON 
+							(ODR.booking_id=FBK.flight_book_id AND FBK.status IN (0,1,2,3,5) AND 
+							 FBK.customer_id='$user_id')
+ 						LEFT JOIN hotel_booking AS HBK ON 
+							(ODR.booking_id=HBK.hotel_book_id AND HBK.status IN (0,1,2,3,5) AND 
+							 HBK.customer_id='$user_id')
+ 					GROUP BY ODR.order_id $cond");
+				if($per_page == 0 && $page == 0){
+					return $bookedData->num_rows();
+				}
+				if(count($bookedData) > 0) {
 					if($count > $page_limit) {
-						$countryData = $this->getCountryData($user_id);
-						$lang = $countryData['language_code'];
-
-						$sql = "SELECT booking.bookId AS booking_id,event_date_time.date,
-									   translator_event.event_name,booking.qrcode AS event_image,
-									   venue.location,event_date_time.time,booking.event_id,
-									   booking.no_of_ticket AS ticket_count,events.has_payment,
-									   booking.status AS booking_status,transaction.status AS transaction_status
-								FROM booking
-								INNER JOIN events ON booking.event_id = events.event_id
-								INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
-								INNER JOIN venue ON venue.id = events.venue_id
-								INNER JOIN translator_event ON translator_event.event_id=events.event_id
-								LEFT JOIN transaction ON transaction.booking_id=booking.bookId
-								WHERE booking.customer_id = '$user_id' AND booking.status IN (0,1,2,6) 
-									  AND (translator_event.language_code='$lang' OR 
-									       translator_event.language_code='EN')
-								GROUP BY booking.id
-								ORDER BY booking.id DESC
-								LIMIT $page_limit, $per_page";
-						$result = $this->db->query($sql)->result_array();
-						if(!empty($result)){
-							foreach ($result AS $key => $value) {
-								if($value['has_payment'] == '1' && $value['transaction_status'] != '1'){
-									unset($result[$key]);
-								}
+						$bookData = array();
+						foreach (($bookedData = $bookedData->result_array()) as $key => $value) {
+							switch($value['order_type']){
+								case 1 : $resp = $this->getEventData($value['booking_id'],$user_id);break;
+								case 2 : $resp = $this->getHotelData($value['booking_id'],$user_id);break;
+								case 3 : $resp = $this->getFlightData($value['booking_id'],$user_id);break;
+							}
+							if(!empty($resp)){
+								$bookData[] = $resp;
 							}
-							$result = array_values($result);
 						}
-						$meta = array('total_pages'=>ceil($count/$per_page),
-							'total'=>$count,
-							'current_page'=>$page,
-							'per_page'=>$per_page
-						);
-						$response = array('bookings'=>$result,'meta'=>$meta);
-						$res = array('status'=>1,'data'=>$response);
+						$meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,'current_page'=>$page,'per_page'=>$per_page);
+						$res = array('status'=>1,'data'=>array('bookings'=>$bookData,'meta'=>$meta));
 					} else {
 						$res = array('status'=>1,'data' => []);
 					}
@@ -1503,6 +1487,73 @@ class Webservice_model extends CI_Model {
 		return $res;
 	}
 
+	function getEventData($booking_id='',$user_id=''){
+		$countryData = $this->getCountryData($user_id);
+		$lang = $countryData['language_code'];
+		$sql = "SELECT booking.bookId AS booking_id,event_date_time.date,
+					   translator_event.event_name,booking.qrcode AS event_image,
+					   venue.location,event_date_time.time,booking.event_id,
+					   booking.no_of_ticket AS ticket_count,events.has_payment,
+					   booking.status AS booking_status,transaction.status AS transaction_status
+				FROM booking
+				INNER JOIN events ON booking.event_id = events.event_id
+				INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
+				INNER JOIN venue ON venue.id = events.venue_id
+				INNER JOIN translator_event ON translator_event.event_id=events.event_id
+				LEFT JOIN transaction ON transaction.booking_id=booking.bookId
+				WHERE (translator_event.language_code='$lang' OR translator_event.language_code='EN').
+					  AND booking.bookId='$booking_id' AND events.has_payment != '1' 
+					  AND transaction.status = '1'";
+
+		return $this->db->query($sql)->row_array();
+	}
+
+	function getHotelData($booking_id='',$user_id=''){
+		$sql = "SELECT HBK.hotel_book_id AS bookId,HBK.hotel_name AS event_name, 
+					   HBK.qrcode AS event_image,HBK.checkin AS date, HBK.id AS event_id,
+					   HBK.status AS booking_status,TRS.status AS transaction_status,
+					   HBK.traveller_details 
+				FROM hotel_booking AS HBK
+				LEFT JOIN transaction AS TRS ON TRS.booking_id=HBK.hotel_book_id
+				WHERE HBK.hotel_book_id='$booking_id'";
+
+		$hotelData =  $this->db->query($sql)->row_array();
+		if(empty($hotelData)){
+			return;
+		}
+		$trvlDtls = (isset($hotelData['traveller_details']) && !empty($hotelData['traveller_details']))?json_decode($hotelData['traveller_details']):'';
+		$hotelData['location'] = (!empty($trvlDtls) && isset($trvlDtls->hotel_address))?$trvlDtls->hotel_address:'';
+		$hotelData['ticket_count'] = (!empty($trvlDtls) && isset($trvlDtls->roomDetails->room))?$trvlDtls->roomDetails->room.' Room':'';
+		$hotelData['time'] = '11:00';
+		$hotelData['has_payment'] = 1;
+		unset($hotelData['traveller_details']);
+		return $hotelData;
+	}
+
+	function getFlightData($booking_id='',$user_id=''){
+		$sql = "SELECT FBK.flight_book_id AS bookId,FBK.flight_name AS event_name,FBK.id AS event_id,
+					   FBK.qrcode AS event_image,FBK.departure_date AS date,
+					   FBK.status AS booking_status,TRS.status AS transaction_status,
+					   FBK.traveller_details 
+				FROM flight_booking AS FBK
+				LEFT JOIN transaction AS TRS ON TRS.booking_id=FBK.flight_book_id
+				WHERE FBK.flight_book_id='$booking_id'";
+
+		$flightData =  $this->db->query($sql)->row_array();
+		if(empty($flightData)){
+			return;
+		}
+		$trvlDtls = (isset($flightData['traveller_details']) && !empty($flightData['traveller_details']))?json_decode($flightData['traveller_details']):'';
+		$flightData['location'] = (!empty($trvlDtls))?$trvlDtls->fromAirportCity.' - '.$trvlDtls->toAirportCity:'';
+		$flightData['ticket_count'] = (!empty($trvlDtls))?(int)$trvlDtls->passengerDetails->adult + (int)$trvlDtls->passengerDetails->children + (int)$trvlDtls->passengerDetails->infant:'';
+		$fghtTme = explode("T",$flightData['date']); 
+		unset($flightData['traveller_details'],$flightData['date']);
+		$flightData['date'] = (isset($fghtTme[0]) && !empty($fghtTme[0]))?$fghtTme[0]:'';
+		$flightData['time'] = (isset($fghtTme[1]) && !empty($fghtTme[1]))?$fghtTme[1]:'';
+		$flightData['has_payment'] = 1;
+		return $flightData;
+	}
+
 	function get_settings($data) {
 		try {
 			$user_id = $this->auth_token_get($data['auth_token']);