diff --git a/application/controllers/Api.php b/application/controllers/Api.php
index 3986833..99e478d 100644
--- a/application/controllers/Api.php
+++ b/application/controllers/Api.php
@@ -232,6 +232,11 @@ class Api extends CI_Controller {
     $data['auth_token'] = $this->auth_token;
     $res = $this->Api_model->tempbooking($data);
     if($res['status']!=0){
+      if(isset($res['data']['reqData']) && !empty($res['data']['reqData'])){
+        $reqData = $this->encrypt(json_encode($res['data']['reqData']),$this->local_key,$this->local_iv);
+        $reqData = urlencode(base64_encode($reqData));
+        $res['data']['reqData'] = $reqData;
+      }
       $this->response($res['data']);
     }
     else{
@@ -320,34 +325,68 @@ class Api extends CI_Controller {
     }  
   }
 
-  public function payNow($auth_token='',$amount=0,$booking_id='',$event_id='',$cardData=''){
+  public function payNow($reqData=''){
     $settings   = getSettings();
     $redUrl     = $settings['web_base_url'];
 
-    if(empty($auth_token) || empty($amount) || empty($booking_id)){
+    if(empty($reqData) || empty($reqData = urldecode($reqData)) || 
+       empty($reqData = base64_decode($reqData))){
+      redirect($redUrl.'failure');
+    }
+    $reqData = $this->decrypt($reqData,$this->local_key,$this->local_iv);
+
+    if(empty($reqData) || empty($reqData = json_decode($reqData,true)) || 
+       !isset($reqData['amount']) || empty($amount = $reqData['amount']) || 
+       !isset($reqData['event_id']) || empty($event_id = $reqData['event_id']) || 
+       !isset($reqData['cardData']) || empty($cardData = $reqData['cardData']) || 
+       !isset($reqData['auth_token']) || empty($auth_token = $reqData['auth_token']) || 
+       !isset($reqData['booking_id']) || empty($booking_id = $reqData['booking_id'])){
       redirect($redUrl.'failure');
     }
+
     $payData = array('auth_token'=>$auth_token,'amount'=>$amount,'booking_id'=>$booking_id);
     $res = $this->Api_model->payNow($payData);
 
     if($res['status']==1){
-      $this->paymentGateway($amount,$res['transaction_id'],$event_id,$booking_id,$res['custData'],$cardData);
-    }
-    else{
-      redirect($redUrl.'failure?event_id='.$eventid);
+      $params = array('amount'=>$amount,'last_id'=>$res['transaction_id'],'event_id'=>$event_id,
+                      'booking_id'=>$booking_id,'custData'=>$res['custData'],'cardData'=>$cardData);
+
+      $reqData = $this->encrypt(json_encode($params),$this->local_key,$this->local_iv);
+      $reqData = urlencode(base64_encode($reqData));
+      $this->paymentGateway($reqData);
+    } else {
+      redirect($redUrl.'failure?event_id='.$event_id);
     }
   }
 
-  public function paymentGateway($amount='0',$last_id='0',$event_id='0',$booking_id='0',
-                                 $custData=array(),$cardData=''){
+  public function paymentGateway($reqData=''){
+    $settings   = getSettings();
+    $redUrl     = $settings['web_base_url'];
+
+    if(empty($reqData) || empty($reqData = urldecode($reqData)) || 
+       empty($reqData = base64_decode($reqData))){
+      redirect($redUrl.'failure');
+    }
     $customerName = array();
-    if(isset($custData->name) && !empty($custData->name)){
-      $customerName = explode(' ',$custData->name);
+    $reqData = $this->decrypt($reqData,$this->local_key,$this->local_iv);
+
+    if(empty($reqData) || empty($reqData = json_decode($reqData,true)) || 
+       !isset($reqData['amount']) || empty($amount = $reqData['amount']) || 
+       !isset($reqData['last_id']) || empty($last_id = $reqData['last_id']) || 
+       !isset($reqData['event_id']) || empty($event_id = $reqData['event_id']) || 
+       !isset($reqData['custData']) || empty($custData = $reqData['custData']) ||  
+       !isset($reqData['cardData']) || empty($cardData = $reqData['cardData']) || 
+       !isset($reqData['booking_id']) || empty($booking_id = $reqData['booking_id'])){
+      redirect($redUrl.'failure');
+    } 
+
+    if(isset($custData['name']) && !empty($custData['name'])){
+      $customerName = explode(' ',$custData['name']);
     }
     $amount   = $amount;
-    $phone    = (isset($custData->phone))?$custData->phone:'';
-    $email    = (isset($custData->email))?$custData->email:'';
-    $userId   = (isset($custData->userId))?$custData->userId:'';
+    $phone    = (isset($custData['phone']))?$custData['phone']:'';
+    $email    = (isset($custData['email']))?$custData['email']:'';
+    $userId   = (isset($custData['userId']))?$custData['userId']:'';
     $f_Name   = (isset($customerName[0]))?$customerName[0]:'';
     $l_Name   = (isset($customerName[1]))?$customerName[1]:'T';
     $add1     = $add2 = $city = $state = 'Saudi Arabia';
@@ -355,41 +394,39 @@ class Api extends CI_Controller {
 
     $saveCard  = 1;
     $savedCard = 0;
+    $cardMode = 'DD';
     $cvv = $token = $cardNo = $holder = $cardType = $expMonth = $expYear = '';
-    if(!empty($cardData) && !empty($cardData = urldecode($cardData))){
-      $cardData = $this->decrypt($cardData,$this->local_key,$this->local_iv);
-      if(empty($cardData) || empty($cardData = json_decode($cardData,true))){
-        redirect($redUrl.'failure');
-      } else if (isset($cardData['cvv']) && !empty($cardData['cvv']) && 
-                 isset($cardData['token']) && !empty($cardData['token'])){
-        $cvv        = $cardData['cvv'];
-        $token      = $cardData['token'];
-        $savedCard  = 1;
-      } else if(isset($cardData['cvv']) && !empty($cardData['cvv']) || 
-                isset($cardData['cardType']) && !empty($cardData['cardType']) || 
-                isset($cardData['cardNumber']) && !empty($cardData['cardNumber']) || 
-                isset($cardData['expMonthYear']) && !empty($cardData['expMonthYear']) || 
-                isset($cardData['cardHolderName']) && !empty($cardData['cardHolderName'])){
-
-        $cvv      = $cardData['cvv'];
-        $cardNo   = $cardData['cardNumber'];
-        $holder   = $cardData['cardHolderName'];
-        $cardType = $cardData['cardType'];
-        $expMonth = substr($cardData['expMonthYear'],0,2);
-        $expYear  = '20'.substr($cardData['expMonthYear'],2,2);
-        $saveCard = (isset($cardData['saveCard']) && $cardData['saveCard'] == 0)?0:1;
-      } else {
-        redirect($redUrl.'failure');
-      }
+
+    if (isset($cardData['cvv']) && !empty($cardData['cvv']) && 
+        isset($cardData['token']) && !empty($cardData['token'])){
+      $cvv        = $cardData['cvv'];
+      $token      = $cardData['token'];
+      $savedCard  = 1;
+    } else if(isset($cardData['cvv']) && !empty($cardData['cvv']) || 
+              isset($cardData['cardType']) && !empty($cardData['cardType']) || 
+              isset($cardData['cardMode']) && !empty($cardData['cardMode']) || 
+              isset($cardData['cardNumber']) && !empty($cardData['cardNumber']) || 
+              isset($cardData['expMonthYear']) && !empty($cardData['expMonthYear']) || 
+              isset($cardData['cardHolderName']) && !empty($cardData['cardHolderName'])){
+
+      $cvv      = $cardData['cvv'];
+      $cardNo   = $cardData['cardNumber'];
+      $holder   = $cardData['cardHolderName'];
+      $cardType = $cardData['cardType'];
+      $cardMode = $cardData['cardMode'];
+      $expMonth = substr($cardData['expMonthYear'],0,2);
+      $expYear  = '20'.substr($cardData['expMonthYear'],2,2);
+      $saveCard = (isset($cardData['saveCard']) && $cardData['saveCard'] == 0)?0:1;
     } else {
-      redirect($redUrl.'failure');
+      redirect($redUrl.'failure?event_id='.$event_id);
     }
 
     $failureUrl = base_url('Api/paymentFailureUrl');
     $successUrl = base_url('Api/paymentSuccessUrl');
       
     $pText  = '1111110||';
-    $pText .= '11111111|'.$last_id.'|'.$amount.'|'.$successUrl.'|'.$failureUrl.'|INTERNET|DD|01|SAR||';
+    $pText .= '11111111|'.$last_id.'|'.$amount.'|'.$successUrl.'|'.$failureUrl.'|INTERNET|'.$cardMode.'
+               |01|SAR||';
     $pText .= '1111111111111|'.$f_Name.'|'.$l_Name.'|'.$add1.'|'.$add2.'|'.$city.'|'.$state.'|'.$pincode.
               '|SA|'.$email.'|'.$phone.'|34|344|34355344||';
     $pText .= '111111111111|'.$f_Name.'|'.$l_Name.'|'.$add1.'|'.$add2.'|'.$city.'|'.$state.'|'.$pincode.
@@ -663,24 +700,22 @@ class Api extends CI_Controller {
 
   public function addCard(){
     $data = (array) json_decode(file_get_contents('php://input'));
-    // $dmyData = '{"auth_token":"cc731b6bd572eb452d85c96aaec77898","cardNumber":"5111111111111118",
-    //           "expMonthYear":"0622","cardHolderName":"John","cvv":"100","cardType":"MasterCard"}';
-    // $data['requestData'] = $this->encrypt($dmyData,$this->local_key,$this->local_iv);
-
-    $settings     = getSettings();
-    $merchant_iv  = $settings['merchant_iv'];
-    $merchant_key = $settings['merchant_key'];
-
     $reqData = $this->decrypt($data['requestData'],$this->local_key,$this->local_iv);
-    if(empty($reqData) || empty($reqData=json_decode($reqData,true))){
+    if(empty($reqData) || empty($reqData = json_decode($reqData,true)) || 
+       !isset($reqData['auth_token']) || empty($reqData['auth_token'])){
       redirect($redUrl.'failure');
     }
     $payData = array('auth_token'=>$reqData['auth_token'],'amount'=>'1','booking_id'=>'ADD_CARD');
     $res = $this->Api_model->payNow($payData);
 
     if($res['status']==1){
-      unset($reqData['auth_token']);
-      $this->paymentGateway(1,$res['transaction_id'],'test','ADD_CARD',$res['custData'],$reqData);
+      $params = array('amount'=>1,'last_id'=>$res['transaction_id'],'event_id'=>'test',
+                      'booking_id'=>'ADD_CARD','custData'=>$res['custData'],'cardData'=>$reqData);
+
+      $reqData = $this->encrypt(json_encode($params),$this->local_key,$this->local_iv);
+      $reqData = urlencode(base64_encode($reqData));
+
+      $this->paymentGateway($reqData);
     }else{
       redirect($redUrl.'failure');
     }
diff --git a/application/controllers/Webservice.php b/application/controllers/Webservice.php
index 424d6ef..4e1fe22 100644
--- a/application/controllers/Webservice.php
+++ b/application/controllers/Webservice.php
@@ -593,6 +593,28 @@ class Webservice extends CI_Controller {
     }
   }
 
+  public function update_user_location(){
+    $data = (array)json_decode(file_get_contents('php://input'));
+    $data['auth_token'] = $this->auth_token;
+    $res = $this->Webservice_model->update_user_location($data);
+    if($res['status'] != 0){
+      $this->successResponse();
+    }else{
+      $this->errorResponse($res['code'],$res['message']);
+    }
+  }
+
+  public function get_nearby_users(){
+    $data = (array)json_decode(file_get_contents('php://input'));
+    $data['auth_token'] = $this->auth_token;
+    $res = $this->Webservice_model->get_nearby_users($data);
+    if($res['status'] == 'success'){
+      $this->response($res['data']);
+    }else{
+      $this->errorResponse($res['code'],$res['message']);
+    }
+  }
+
   public function get_hotel_city_list(){
     $data = $_GET;
     $data['auth_token'] = $this->auth_token;
@@ -717,6 +739,50 @@ class Webservice extends CI_Controller {
     }
   }
 
+  public function flight_book(){
+    $data = (array)json_decode(file_get_contents('php://input'));
+    $data['auth_token'] = $this->auth_token;
+    $res = $thia->Webservice_model->flight_book($data);
+    if($res['status'] == 1){
+      $this->response($res['data']);
+    }else{
+      $this->errorResponse($res['code'],$res['message']);
+    }
+  }
+
+  public function flight_ticket_order(){
+    $data = (array)json_decode(file_get_contents('php://input'));
+    $data['auth_token'] = $this->auth_token;
+    $res = $this->Webservice_model->flight_ticket_order($data);
+    if($res['status'] == 1){
+      $this->response($res['data']);
+    }else{
+      $this->errorResponse($res['code'],$res['message']);
+    }
+  }
+
+  public function flight_trip_details(){
+    $data = (array)json_decode(file_get_contents('php://input'));
+    $data['auth_token'] = $this->auth_token;
+    $res = $this->Webservice_model->flight_trip_details($data);
+    if($res['status'] == 1){
+      $this->response($res['data']);
+    }else{
+      $this->errorResponse($res['code'],$res['message']);
+    }
+  }
+
+  public function cancel_flights(){
+    $data = (array)json_decode(file_get_contents('php://input'));
+    $data['auth_token'] = $this->auth_token;
+    $res = $this->Webservice_model->cancel_flights($data);
+    if($res['status'] == 1){
+      $this->response($res['data']);
+    }else{
+      $this->errorResponse($res['code'],$res['message']);
+    }
+  }
+
 
 
 
diff --git a/application/models/Api_model.php b/application/models/Api_model.php
index 280b370..a26e8c9 100644
--- a/application/models/Api_model.php
+++ b/application/models/Api_model.php
@@ -626,7 +626,9 @@ class Api_model extends CI_Model {
 										   'redeem_amount'=>$post_data['redeem_amount'],
 										   'created_date'=>date('Y-m-d H:i:s'),'status'=>$promoStatus);
 				}
- 				unset($post_data['auth_token'],$post_data['has_payment'],
+				$card_data = $post_data['cardData'];
+				$auth_token = $post_data['auth_token'];
+ 				unset($post_data['auth_token'],$post_data['has_payment'],$post_data['cardData'],
  					  $post_data['promocode_id'],$post_data['redeem_amount']);
 
 				$rs = $this->db->insert('booking', $post_data);
@@ -634,8 +636,34 @@ class Api_model extends CI_Model {
 					if(!empty($promocodeData)){
 						$this->db->insert('promocode_used',$promocodeData);
 					}
+					$cardDetails = array();
+					if(!empty($card_data)){
+						// (CC)-Credit ,(DC)-Debit ,(DD)-Direct Debit,(PAYPAL)-PayPal,(NB)-Net Banking 
+						switch($card_data->card_type) {
+							case '1': $cardDetails['cardMode'] = 'CC'; break;
+							case '2': $cardDetails['cardMode'] = 'DC'; break;
+							case '3': $cardDetails['cardMode'] = 'DD'; break;
+							default : $cardDetails['cardMode'] = 'DD'; break;
+						}
+
+						switch(substr($card_data->card_number,0,1)) {
+							case '4': $cardDetails['cardType'] = 'VisaCard'; break;
+							case '5': $cardDetails['cardType'] = 'Mastercard'; break;
+							case '6': $cardDetails['cardType'] = 'DiscoverCard'; break;
+							default : $cardDetails['cardType'] = 'Mastercard'; break;
+						}
+
+						$cardDetails['cvv'] = $card_data->card_cvv;
+						$cardDetails['cardNumber'] = $card_data->card_number;
+						$cardDetails['expMonthYear'] = $card_data->exp_date.$card_data->exp_year;
+						$cardDetails['cardHolderName'] = $card_data->holder_name;
+					}
+		 			$reqData = array('amount'=>$post_data['amount'],'event_id'=>$post_data['event_id'],
+		 							 'cardData'=>$cardDetails,'auth_token'=>$auth_token,
+		 							 'booking_id'=>$post_data['bookId']);
+
 		 			$res = array('status'=>1,'data'=>array('user_id'=>$user_id,
-		 						 'bookingCode'=>$post_data['bookId']));
+		 						 'bookingCode'=>$post_data['bookId'],'reqData'=>$reqData));
 
 		 			if($status == 1){
 		 				$sql = "SELECT TEVT.event_name,CUST.name,CUST.email,CUST.phone,
@@ -932,8 +960,7 @@ class Api_model extends CI_Model {
 		 	} 	
 		 	
  			if(!empty($user_id)) {
- 				$sql = "SELECT SUM(no_of_ticket) AS bookCount
-						FROM booking AS BOK
+ 				$sql = "SELECT SUM(no_of_ticket) AS bookCount FROM booking AS BOK
 						WHERE event_id='$event_id' AND customer_id='$user_id' AND status IN (1)";
 				$result = $this->db->query($sql)->row_array();
 				if(!empty($result)){
diff --git a/application/models/Organizer_model.php b/application/models/Organizer_model.php
index cb33dce..6b33be2 100644
--- a/application/models/Organizer_model.php
+++ b/application/models/Organizer_model.php
@@ -164,9 +164,9 @@ class Organizer_model extends CI_Model {
  			set_time_limit(0);
  			$languages = getLanguages();
  			$postData['seat_pricing'] = $postData['custom_seat_layout'] = '';
-	        if(isset($postData['layout_type']) && $postData['layout_type'] == 1){
+	        if(isset($postData['layout_type'],$postData['fare_type']) && $postData['layout_type'] == 1 && $postData['fare_type'] == 2){
 	            $postData['custom_seat_layout'] = $postData['layout'];
-	        } else {
+	        } else if($postData['layout_type'] == 2) {
 	            $postData['seat_pricing'] =  $postData['layout'];
 	        }
 	        $eventData = array('venue_id'=>(!empty($postData['venue_id']))?$postData['venue_id']:'',
@@ -464,7 +464,12 @@ class Organizer_model extends CI_Model {
  	public function signIn($data){
  		try{
  			if($data['user_type'] == '2'){
- 				$sql = $this->db->query("SELECT USR.* FROM users AS USR INNER JOIN provider AS PDR ON (PDR.provider_id = USR.id) WHERE USR.password='".md5($data['password'])."' AND PDR.email='".$data['email_id']."' AND USR.user_type='".$data['user_type']."'");
+ 				$sql = $this->db->query("SELECT USR.* FROM users AS USR 
+ 										 INNER JOIN provider AS PDR ON (PDR.provider_id = USR.id) 
+ 										 WHERE USR.password='".md5($data['password'])."' AND 
+ 										       PDR.email='".$data['email_id']."' AND 
+ 										       USR.user_type='".$data['user_type']."' AND 
+ 										       USR.status='1'");
  			}else{
  				$sql = $this->db->query("SELECT * FROM checker WHERE username='".$data['email_id']."' AND password='".md5($data['password'])."' AND status='1'");
  			}
@@ -485,11 +490,20 @@ class Organizer_model extends CI_Model {
  				$res = array('status'=>0,'message'=>'New Password and Confirm Password Doesnot Match','code'=>'ER10');
  				return $res;
  			}
- 			if($data['user_type'] == '2'){
-				$status = $this->db->query("UPDATE users SET password='".md5($data['confirm_password'])."' WHERE id='".$data['user_id']."' AND user_type='".$data['user_type']."'");
- 			}else{
- 				$status = $this->db->query("UPDATE checker SET password ='".md5($data['confirm_password'])."' WHERE id='".$data['user_id']."'");
+ 			$sql = "SELECT * FROM provider AS PDR 
+ 					INNER JOIN users AS USR ON (USR.id=PDR.provider_id) 
+ 					WHERE phone LIKE '%".$data['phone_number']."' AND 
+ 						  USR.user_type='2' AND USR.status='1'";
+ 			$usrData = $this->db->query($sql);
+
+ 			if(empty($usrData) || empty($usrData = $usrData->row_array())){
+ 				$res = array('status'=>0,'message'=>'Provider Doesnot Exist','code'=>'ER08');
+ 				return $res;
  			}
+ 			$sql = "UPDATE users SET password='".md5($data['confirm_password'])."' 
+ 					WHERE id='".$usrData['provider_id']."' AND user_type='".$data['user_type']."'";
+			$status = $this->db->query($sql);
+
  			if($status){
 				$res = array('status'=>1,'message'=>'Password Updated Successfully');
  			}
@@ -854,7 +868,7 @@ class Organizer_model extends CI_Model {
 
     public function getCountryCode(){
     	try{
-    		$sql = "SELECT country_id,country_name,country_code,phone_code FROM country WHERE status='1'";
+    		$sql = "SELECT country_id,country_name,country_code,phone_code FROM country WHERE status=1";
     		$ctryData = $this->db->query($sql);
     		if(empty($ctryData) || empty($ctryData = $ctryData->result_array())){
     			$res = array('status'=>0,'message'=>'No Data Found','code'=>'ER06');
@@ -865,7 +879,7 @@ class Organizer_model extends CI_Model {
     		$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER08');
     	}
     	return $res;
-    }
+    } 
 
     public function getCheckerList($data){
     	try{
diff --git a/application/models/Validation_app_model.php b/application/models/Validation_app_model.php
index 73d4915..136d5d4 100644
--- a/application/models/Validation_app_model.php
+++ b/application/models/Validation_app_model.php
@@ -415,15 +415,6 @@ class Validation_app_model extends CI_Model {
 					'code' => 'ER02',
 					'message' => 'User id is null or empty'
 				)
-			),
-			'create_guest_user' => array(),
-			'update_user_visibility' => array(
-				'visible' => array(
-					'required' => array(
-						'code' => 'ER18',
-						'message' => 'Required field is null or empty'
-					)
-				)
 			)
 		),
 		'upload_audio_message' => array(
@@ -914,6 +905,369 @@ class Validation_app_model extends CI_Model {
 				)
 			),
 		),
+		'update_user_location'=>array(
+			'auth_token' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'User Id is null or empty'
+				)
+			),
+			'latitude' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Latitude Field is null or empty'
+				)
+			),
+			'longitude' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Longitude Field is null or empty'
+				)
+			),
+		),
+		'get_nearby_users'=>array(
+			'auth_token' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'User Id is null or empty'
+				)
+			),
+			'latitude' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Latitude Field is null or empty'
+				)
+			),
+			'longitude' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Longitude Field is null or empty'
+				)
+			),
+		),
+		'flight_book'=>array(
+			'auth_token' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'User Id is null or empty'
+				)
+			),
+			'target' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Target Field is null or empty'
+				)
+			),
+			'session_id' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Session Id is null or empty'
+				)
+			),
+			'area_code' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Area Code is null or empty'
+				)
+			),
+			'country_code' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Country Code is null or empty'
+				)
+			),
+			'first_name' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'First Name is null or empty'
+				)
+			),
+			'last_name' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Last Name is null or empty'
+				)
+			),
+			'title' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Title Field is null or empty'
+				)
+			),
+			'email_id' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Email ID is null or empty'
+				)
+			),
+			'mobile_no' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Mobile Number is null or empty'
+				)
+			),
+			'dob' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'DOB is null or empty'
+				)
+			),
+			'gender' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Gender is null or empty'
+				)
+			),
+			'issue_country' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Issue Country is null or empty'
+				)
+			),
+			'passport_expiry' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Passport Expiry Field is null or empty'
+				)
+			),
+			'passport_no' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Passport Number is null or empty'
+				)
+			),
+			'type' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Type Field is null or empty'
+				)
+			),
+			'IsPassportMandatory' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Is Passport Mandatory Field is null or empty'
+				)
+			),
+			'adult_flight' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Adult flight is null or empty'
+				)
+			),
+			'child_flight' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Flight is null or empty'
+				)
+			),
+			'infant_flight' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant Flight is null or empty'
+				)
+			),
+			'frequentFlyrNum' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Frequent Flyr Number Field is null or empty'
+				)
+			),
+			'adultmealplan' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Adult Meal Plan Field is null or empty'
+				)
+			),
+			'child_dob' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Dob is null or empty'
+				)
+			),
+			'child_gender' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Gender is null or empty'
+				)
+			),
+			'child_title' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Title is null or empty'
+				)
+			),
+			'child_first_name' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child First Name is null or empty'
+				)
+			),
+			'child_last_name' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Last Name is null or empty'
+				)
+			),
+			'child_passport_expiry_date' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Passport Expiry Date is null or empty'
+				)
+			),
+			'child_passport_no' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Passport Number is null or empty'
+				)
+			),
+			'child_frequentFlyrNum' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Frequent Flyr Number is null or empty'
+				)
+			),
+			'childMealplan' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Child Meal Plan is null or empty'
+				)
+			),
+			'infant_dob' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant Dob is null or empty'
+				)
+			),
+			'infant_gender' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant Gender is null or empty'
+				)
+			),
+			'infant_first_name' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant First Name is null or empty'
+				)
+			),
+			'infant_last_name' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant Last Name is null or empty'
+				)
+			),
+			'infant_title' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant Title is null or empty'
+				)
+			),
+			'infantMealplan' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Infant Meal Plan is null or empty'
+				)
+			),
+			'FareSourceCode' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Fare Source Code is null or empty'
+				)
+			),
+			'PostCode' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'PostCode is null or empty'
+				)
+			),
+		),
+		'flight_ticket_order'=>array(
+			'auth_token' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'User Id is null or empty'
+				)
+			),
+			'target' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Target Field is null or empty'
+				)
+			),
+			'session_id' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Session Id is null or empty'
+				)
+			),
+			'UniqueID' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Unique Id is null or empty'
+				)
+			),
+		),
+		'flight_trip_details'=>array(
+			'auth_token' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'User Id is null or empty'
+				)
+			),
+			'target' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Target Field is null or empty'
+				)
+			),
+			'session_id' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Session Id is null or empty'
+				)
+			),
+			'UniqueID' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Unique Id is null or empty'
+				)
+			),
+		),
+		'cancel_flights'=>array(
+			'auth_token' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'User Id is null or empty'
+				)
+			),
+			'target' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Target Field is null or empty'
+				)
+			),
+			'session_id' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Session Field is null or empty'
+				)
+			),
+			'UniqueID' => array(
+				'required' => array(
+					'code' => 'ER02',
+					'message' => 'Unique ID is null or empty'
+				)
+			),
+		),
+		'create_guest_user' => array(),
+		'update_user_visibility' => array(
+			'visible' => array(
+				'required' => array(
+					'code' => 'ER18',
+					'message' => 'Required field is null or empty'
+				)
+			)
+		)
 	);
 
 	public function validation_check($method_name, $parms) {
diff --git a/application/models/Validation_model.php b/application/models/Validation_model.php
index 2c7b8ec..aba6b7d 100644
--- a/application/models/Validation_model.php
+++ b/application/models/Validation_model.php
@@ -428,4 +428,4 @@ class Validation_model extends CI_Model {
  	} 	
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/application/models/Validation_organizer_model.php b/application/models/Validation_organizer_model.php
index 088e1ef..231f584 100644
--- a/application/models/Validation_organizer_model.php
+++ b/application/models/Validation_organizer_model.php
@@ -166,10 +166,10 @@ class Validation_organizer_model extends CI_Model {
 					'message' => 'Confirm Password is null or empty'
 				)
 			),
-			'user_id' => array(
+			'phone_number' => array(
 				'required' => array(
 					'code' => 'ER18',
-					'message' => 'User Id is null or empty'
+					'message' => 'Phone Number is null or empty'
 				)
 			),
 			'user_type' => array(
diff --git a/application/models/Webservice_model.php b/application/models/Webservice_model.php
index c48bd46..8cbee03 100644
--- a/application/models/Webservice_model.php
+++ b/application/models/Webservice_model.php
@@ -224,7 +224,8 @@ class Webservice_model extends CI_Model {
 				$lang = $countryData['language_code'];
 
 				$settings = getSettings();
-				$sql = "SELECT faq FROM translator_policies WHERE language_code='$lang'";
+				$sql = "SELECT faq FROM translator_policies 
+					    WHERE language_code='$lang' OR language_code='EN'";
 				$settingsDetails = $this->db->query($sql)->row_array();
 				$settingsDetails['contact_number'] = $settings['contact_number'];
 
@@ -388,7 +389,8 @@ class Webservice_model extends CI_Model {
 					if($count > $page_limit) {
 						$this->db->query("SET SESSION group_concat_max_len = 200000");
 						$result = $this->db->query("
-							SELECT events.seat_pricing,events.custom_seat_layout,event_category.cat_id,venue.id AS venue_id,venue.location_lat AS latitude,venue.location_lng AS longitude,venue.layout,venue.layout_details,events.event_id AS event_id,event_gallery.media_url AS image, (SELECT SUM(booking.no_of_ticket) FROM booking WHERE booking.event_id = events.event_id AND booking.status IN (1,2)) AS attendees,CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating,venue.location, IF(events.avg_price = 0, '100','150') AS rate, IF(events.provider_id = 1,'true','false') AS is_editors_choice, IF(favourite.is_favorite = 1, 'true','false') AS is_favorite, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time 
+							SELECT events.seat_pricing,events.custom_seat_layout,event_category.cat_id,venue.id AS venue_id,venue.location_lat AS latitude,venue.location_lng AS longitude,venue.layout,venue.layout_details,events.event_id AS event_id,event_gallery.media_url AS image, (SELECT SUM(booking.no_of_ticket) FROM booking WHERE booking.event_id = events.event_id AND booking.status IN (1,2)) AS attendees,CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating,venue.location, IF(events.avg_price = 0, '100','150') AS rate, IF(events.provider_id = 1,'true','false') AS is_editors_choice, IF(favourite.is_favorite = 1, 'true','false') AS is_favorite, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time,
+								events.has_payment
 							FROM events 
 							INNER JOIN venue ON venue.id = events.venue_id 
 							INNER JOIN event_date_time ON events.event_id = event_date_time.event_id 
@@ -452,6 +454,7 @@ class Webservice_model extends CI_Model {
 								'is_favorite'=>$rs->is_favorite === 'true'? true: false,
 								'latitude'=>$rs->latitude,
 								'longitude'=>$rs->longitude,
+								'has_payment'=>$rs->has_payment,
 								'currency_symbol'=>$countryData['currency_symbol']
 							);
 							array_push($response, $resData);
@@ -719,7 +722,8 @@ class Webservice_model extends CI_Model {
 				$sql = "SELECT TC.category_id,TC.category_name,TC.category_image
 						FROM translator_category AS TC 
 						INNER JOIN event_category AS ECAT ON (ECAT.cat_id=TC.category_id)
-						WHERE ECAT.status = 1 AND (TC.language_code='$lang' OR TC.language_code='EN') $where 
+						WHERE ECAT.status = 1 AND (TC.language_code='$lang' OR TC.language_code='EN') 
+							  $where 
 						GROUP BY ECAT.cat_id ORDER BY ECAT.priority";
 				$result = $this->db->query($sql)->result();
 				if(count($result) > 0){
@@ -771,7 +775,13 @@ class Webservice_model extends CI_Model {
 				$countryData = $this->getCountryData($user_id);
 				$lang = $countryData['language_code'];
 				
-				$result = $this->db->query("SELECT REG.id AS city_id, REG.region_icon AS city_image,TREG.region_name AS city_name FROM region AS REG INNER JOIN translator_region AS TREG ON (TREG.region_id = REG.id) WHERE REG.status = 1 AND TREG.language_code='$lang' GROUP BY city_name")->result();
+				$sql = "SELECT REG.id AS city_id, REG.region_icon AS city_image,
+							   TREG.region_name AS city_name 
+					   	FROM region AS REG 
+					   	INNER JOIN translator_region AS TREG ON (TREG.region_id = REG.id) 
+					   	WHERE REG.status=1 AND (TREG.language_code='$lang' OR TREG.language_code='EN') 
+					   	GROUP BY city_name";
+				$result = $this->db->query($sql)->result();
 				if(count($result)>0){
 					$res = array('status'=>1,'data'=>array('cities'=>$result));
 				} else {
@@ -793,11 +803,13 @@ class Webservice_model extends CI_Model {
 			$lang = $countryData['language_code'];
 			if($user_id > 0) {
 				if(isset($data['city_id']) && !empty($data['city_id'])){
-					$re = $this->db->query("SELECT TREG.region_name FROM region AS REG 
-											INNER JOIN translator_region AS TREG ON (TREG.region_id = REG.id) 
-											WHERE REG.status='1' AND TREG.language_code='$lang' AND 
-												  REG.id='".$data['city_id']."'
-										    GROUP BY REG.id")->row();
+					$city_id = $data['city_id'];
+					$sql = "SELECT TREG.region_name FROM region AS REG 
+							INNER JOIN translator_region AS TREG ON (TREG.region_id = REG.id) 
+							WHERE REG.status='1' AND REG.id='$city_id' AND 
+								  (TREG.language_code='$lang' OR TREG.language_code='EN')
+						    GROUP BY REG.id";
+					$re = $this->db->query($sql)->row();
 					$cityName = $re->region_name;
 					$cityId = $data['city_id'];
 				}else{
@@ -806,7 +818,8 @@ class Webservice_model extends CI_Model {
 						SELECT REG.id,TREG.region_name,REG.status, (((acos(sin((".$data['latitude']."*pi()/180)) * sin((region_lat*pi()/180)) + cos((".$data['latitude']."*pi()/180)) * cos((region_lat*pi()/180)) * cos(((".$data['longitude']." - region_lng)*pi()/180))))*180/pi())*60*1.1515) as distance 
 						FROM region AS REG 
 						INNER JOIN translator_region AS TREG ON (TREG.region_id = REG.id) 
-						WHERE REG.status = '1' AND TREG.language_code='$lang' 
+						WHERE REG.status = '1' AND 
+							 (TREG.language_code='$lang' OR TREG.language_code='EN') 
 						HAVING distance < ".$radius." 
 						ORDER BY distance ASC LIMIT 1")->row_array();
 					if(!empty($data)){
@@ -848,7 +861,8 @@ class Webservice_model extends CI_Model {
 				}
 
 				$settings = getSettings();
-				$sql = "SELECT instruction FROM translator_policies WHERE language_code='$lang'";
+				$sql = "SELECT instruction FROM translator_policies 
+						WHERE language_code='$lang' OR language_code='EN'";
 				$settingsDetails = $this->db->query($sql)->row_array();
 				$settingsDetails['contact_number'] = $settings['contact_number'];
 
@@ -1138,18 +1152,21 @@ class Webservice_model extends CI_Model {
 
 					if($status == 1){
 						$countryData = $this->getCountryData($user_id);
-						$lang = $countryData['language_code'];
 
-		          		$bkData = $this->db->query("
-						            SELECT TEVT.event_name,CUST.name,CUST.email,CUST.phone,
-						            	   CONCAT(EDATE.date,' ',EDATE.time) AS show_time
-						            FROM booking AS BK 
-						            INNER JOIN events AS EVT ON (EVT.event_id=BK.event_id)
-						            INNER JOIN translator_event AS TEVT ON (TEVT.event_id=EVT.event_id)
-						            INNER JOIN customer AS CUST ON (CUST.customer_id=BK.customer_id)
-						            INNER JOIN event_date_time AS EDATE ON (EDATE.id=BK.event_date_id)
-						            WHERE BK.bookId='".$post_data['bookId']."' AND EVT.status='1' AND 
-						                  BK.status='1' AND EDATE.status='1' AND TEVT.language_code='$lang'")->row_array();
+						$bookId = $post_data['bookId'];
+						$lang = $countryData['language_code'];
+						$sql = "SELECT TEVT.event_name,CUST.name,CUST.email,CUST.phone,
+					            	   CONCAT(EDATE.date,' ',EDATE.time) AS show_time
+					            FROM booking AS BK 
+					            INNER JOIN events AS EVT ON (EVT.event_id=BK.event_id)
+					            INNER JOIN translator_event AS TEVT ON (TEVT.event_id=EVT.event_id)
+					            INNER JOIN customer AS CUST ON (CUST.customer_id=BK.customer_id)
+					            INNER JOIN event_date_time AS EDATE ON (EDATE.id=BK.event_date_id)
+					            WHERE BK.bookId='$bookId' AND EVT.status='1' AND 
+					                  BK.status='1' AND EDATE.status='1' AND 
+					                  (TEVT.language_code='$lang' OR TEVT.language_code='EN')";
+
+		          		$bkData = $this->db->query($sql)->row_array();
 					    $subject    = "Your Tickets - TimeOut";
 					    $showTime   = date("d'S F Y - h:i, (l)",strtotime($bkData['show_time']));
 					    $msgContent = "Hi, Your booking is confirmed for the event '".
@@ -1396,15 +1413,15 @@ class Webservice_model extends CI_Model {
 									   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,
-									   (CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 
-									    ELSE 2 END) AS booking_status
+									   booking.status AS booking_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
-								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')
+								INNER JOIN translator_event ON translator_event.event_id=events.event_id
+								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";
@@ -1440,7 +1457,7 @@ class Webservice_model extends CI_Model {
 				$lang = $countryData['language_code'];
 
 				$sql = "SELECT privacy_policy,terms_and_conditions 
-						FROM translator_policies WHERE language_code='$lang'";
+						FROM translator_policies WHERE (language_code='$lang' OR language_code='EN')";
 				$setDetails = $this->db->query($sql)->row_array();
 				$setDetails['contact_number'] = $settings['contact_number'];
 
@@ -1553,7 +1570,8 @@ class Webservice_model extends CI_Model {
 						FROM locality AS LOC
 						INNER JOIN customer AS CUST ON (CUST.city=LOC.region_id)
 						INNER JOIN translator_locality AS TLOC ON (TLOC.locality_id=LOC.id)
-						WHERE CUST.customer_id='$user_id' AND LOC.status='1' AND TLOC.language_code='$lang'
+						WHERE CUST.customer_id='$user_id' AND LOC.status='1' AND 
+							  (TLOC.language_code='$lang' OR TLOC.language_code='EN')
 						GROUP BY LOC.id";
 				$locality = $this->db->query($sql)->result();
 
@@ -2106,6 +2124,47 @@ class Webservice_model extends CI_Model {
  		return $res;
  	}
 
+ 	public function update_user_location($data){
+ 		$res = array('status'=>0,'message'=>'Ohh No!! Something Went South!!','code'=>'ER06');
+ 		try{
+ 			$user_id = $this->auth_token_get($data['auth_token']);
+ 			if($user_id > 0){
+ 				$this->db->update('customer',array('cust_lat'=>$data['latitude'],'cust_lng'=>$data['longitude']),array('customer_id'=>$user_id));
+ 				$res = array('status'=>1);
+ 			}else{
+ 				$res = array('status'=>0,'message'=>'User Authentication Error','code'=>'ER06');
+ 			}
+ 		}catch(Exception $e){
+ 			$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER06');
+ 		}
+ 		return $res;
+ 	}
+
+ 	public function get_nearby_users($data){
+ 		$res = array('status'=>'error','message'=>'Ohh No!! Something Went South!!','code'=>'ER06');
+ 		try{
+ 			$user_id = $this->auth_token_get($data['auth_token']);
+ 			if($user_id > 0){
+ 				$sql = "SELECT CUST.customer_id AS user_id,CUST.name,CUST.profile_image AS user_image,CUST.cust_lat AS latitude,CUST.cust_lng AS longitude, (((acos(sin((".$data['latitude']."*pi()/180)) * sin((CUST.cust_lat*pi()/180)) + cos((".$data['latitude']."*pi()/180)) * cos((CUST.cust_lat*pi()/180)) * cos(((".$data['longitude']." - CUST.cust_lng)*pi()/180))))*180/pi())*60*1.1515) as distance 
+		 				FROM customer AS CUST 
+		 				INNER JOIN users AS USR ON (USR.id = CUST.customer_id) 
+		 				WHERE USR.user_type='3' AND USR.status='1' AND CUST.customer_id != '$user_id'
+		 				HAVING distance < 5";
+		 		$result = $this->db->query($sql);
+		 		if(!empty($result) && !empty($result = $result->result_array())){
+		 			$res = array('status'=>'success','data'=>$result);	
+		 		} else {
+		 			$res = array('status'=>'error','message'=>'No Data Found','code'=>'ER12');	
+		 		}
+ 			}else{
+ 				$res = array('status'=>'error','message'=>'Invalid User','code'=>'ER010');
+ 			}
+ 		}catch(Exception $e){
+ 			$res = array('status'=>'error','message'=>'Ohh No!! Something Went South','code'=>'ER08');
+ 		}
+ 		return $res;
+ 	}
+
     public function get_hotel_city_list($data){ 
     	try{
     		$user_id = $this->auth_token_get($data['auth_token']);
@@ -2442,6 +2501,96 @@ class Webservice_model extends CI_Model {
     	return $res;
     }
 
+    public function flight_book($data){
+    	try{
+    		$user_id = $this->auth_token_get($data['auth_token']);
+    		if($user_id > 0){
+    			$settings = getSettings();
+    			$data['first_name'] = str_replace(" ","<br>",$data['first_name']);
+    			$data['last_name'] = str_replace(" ","<br>",$data['last_name']);
+    			$data['title'] = str_replace(" ","<br>",$data['title']);
+    			$data['dob'] = str_replace(" ","<br>",$data['dob']);
+    			$data['gender'] = str_replace(" ","<br>",$data['gender']);
+    			$data['issue_country'] = str_replace(" ","<br>",$data['issue_country']);
+    			$data['passport_expiry'] = str_replace(" ","<br>",$data['passport_expiry']);
+    			$data['passport_no'] = str_replace(" ","<br>",$data['passport_no']);
+
+    			$url = "https://trawex.biz/api/flight_trawex/book?user_id=".$settings['trawex_user_id']."&user_password=".$settings['trawex_user_password']."&access=".$settings['trawex_access']."&ip_address=".$settings['trawex_ip_address']."&target=".$data['target']."&session_id=".$data['session_id']."&area_code=".$data['area_code']."&country_code=".$data['country_code']."&first_name=".$data['first_name']."&last_name=".$data['last_name']."&title=".$data['title']."&email_id=".$data['email_id']."&mobile_no=".$data['mobile_no']."&dob=".$data['dob']."&gender=".$data['gender']."&issue_country=".$data['issue_country']."&passport_expiry=".$data['passport_expiry']."&passport_no=".$data['passport_no']."&type=".$data['type']."&IsPassportMandatory=".$data['IsPassportMandatory']."&adult_flight=".$data['adult_flight']."&child_flight=".$data['child_flight']."&infant_flight=".$data['infant_flight']."&frequentFlyrNum=".$data['frequentFlyrNum']."&adultmealplan=".$data['adultmealplan']."&child_dob=".$data['child_dob']."&child_gender=".$data['child_gender']."&child_title=".$data['child_title']."&child_first_name=".$data['child_first_name']."&child_last_name=".$data['child_last_name']."&child_passport_expiry_date=".$data['child_passport_expiry_date']."&child_passport_no=".$data['child_passport_no']."&child_frequentFlyrNum=".$data['child_frequentFlyrNum']."&childMealplan=".$data['childMealplan']."&infant_dob=".$data['infant_dob']."&infant_gender=".$data['infant_gender']."&infant_first_name=".$data['infant_first_name']."&infant_last_name=".$data['infant_last_name']."&infant_title=".$data['infant_title']."&infantMealplan=".$data['infantMealplan']."&FareSourceCode=".$data['FareSourceCode']."&PostCode=".$data['PostCode']."";
+    			$result = $this->passToJsonCurl($url,'');
+    			if(!empty($result)){
+    				$result = json_decode($result);
+    				$res = array('status'=>1,'result'=>$result);
+    			}else{
+    				$res = array('status'=>0,'message'=>'No Data Found','code'=>'ER08');
+    			}
+    		}else{
+    			$res = array('status'=>0,'message'=>'User Authentication Error','code'=>'ER06');
+    		}
+    	}catch(Exception $e){
+    		$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER10');
+    	}
+    	return $res;
+    }
+
+    public function flight_ticket_order($data){
+    	try{
+    		$user_id = $this->auth_token_get($data['auth_token']);
+    		if($user_id > 0){
+    			$settings = getSettings();
+    			$url = "https://trawex.biz/api/flight_trawex/ticket_order?user_id=".$settings['trawex_user_id']."&user_password=".$settings['trawex_user_password']."&access=".$settings['trawex_access']."&ip_address=".$settings['trawex_ip_address']."&UniqueID=".$data['UniqueID']."&target=".$data['target']."&session_id=".$data['session_id']."";
+    			$result = $this->passToJsonCurl($url,'');
+    			if(!empty($result)){
+    				$result = json_decode($result);
+    				$res = array('status'=>1,'result'=>$result);
+    			}else{
+    				$res = array('status'=>0,'message'=>'No data Found','code'=>'ER08');
+    			}
+    		}else{
+    			$res = array('status'=>0,'message'=>'User Authentication Error','code'=>'ER06');
+    		}
+    	}catch(Exception $e){
+    		$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER10');
+    	}
+    	return $res;
+    }
+
+    public function flight_trip_details($data){
+    	try{
+    		$user_id = $this->auth_token_get($data['auth_token']);
+    		if($user_id > 0){
+    			$settings = getSettings();
+    			$url = "https://trawex.biz/api/flight_trawex/trip_details?user_id=".$settings['trawex_user_id']."&user_password=".$settings['trawex_user_password']."&access=".$settings['trawex_access']."&ip_address=".$settings['trawex_ip_address']."&UniqueID=".$data['UniqueID']."&target=".$data['target']."&session_id=".$data['session_id']."";
+    			$result = $this->passToJsonCurl($url,'');
+    			if(!empty($result)){
+    				$result = json_decode($result);
+    				$res = array('status'=>1,'result'=>$result);
+    			}else{
+    				$res = array('status'=>0,'message'=>'No Data Found','code'=>'ER08');
+    			}
+    		}else{
+    			$res = array('status'=>0,'message'=>'User Authentication Error','code'=>'ER06');
+    		}
+    	}catch(Exception $e){
+    		$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER10');
+    	}
+    	return $res;
+    }
+
+    public function  cancel_flights($data){
+    	try{
+    		$user_id = $this->auth_token_get($data['auth_token']);
+    		if($user_id > 0){
+    			$settings = getSettings();
+    			$url = "https://trawex.biz/api/flight_trawex/cancel_flights?user_id=".$settings['trawex_user_id']."&user_password=".$settings['trawex_user_password']."&access=".$settings['trawex_access']."&ip_address=".$settings['trawex_ip_address']."&UniqueID=".$data['UniqueID']."&target=".$data['target']."&session_id=".$data['session_id']."";
+    		}else{
+    			$res = array('status'=>0,'message'=>'User Authentication Error','code'=>'ER06');
+    		}
+    	}catch(Exception $e){
+    		$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER10');
+    	}
+    	return $res;
+    }
+
     public function passToJsonCurl($url='',$postData=array()){
     	$ch = curl_init();
 	    curl_setopt($ch,CURLOPT_URL,$url);
diff --git a/application/views/Booking/viewBooking.php b/application/views/Booking/viewBooking.php
index ca52636..3cdb7dd 100644
--- a/application/views/Booking/viewBooking.php
+++ b/application/views/Booking/viewBooking.php
@@ -78,7 +78,9 @@
                           <i class="fa fa-fw fa-eye"></i>View
                         </a> <br>
                         <?php 
-                          if($this->session->userdata('user_type')==2 && $booking->book_status == '6'){
+                          if(($this->session->userdata('user_type')==1 && $booking->provider_id==1 && 
+                              $booking->book_status=='6') || 
+                             ($this->session->userdata('user_type')==2 && $booking->book_status=='6')){
                             $msg = "Are you sure to Aprove this booking ?";
                             $bookId = encode_param($booking->booking_id);
                             $param = "{'booking_id':'$bookId','alertMsg':'$msg'}"; ?>
diff --git a/application/views/Category/categoryAddForm.php b/application/views/Category/categoryAddForm.php
index a0a2a35..48ea380 100644
--- a/application/views/Category/categoryAddForm.php
+++ b/application/views/Category/categoryAddForm.php
@@ -85,8 +85,8 @@
                   <div class="form-group">
                     <label>Category Name (<?= $lang ?>)</label>
                     <input type="text" class="form-control" data-parsley-trigger="change"
-                    data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$" 
-                    name="category_name_<?= $lang ?>" value="<?= (isset($categoryData->{'category_name_'.$lang}))?$categoryData->{'category_name_'.$lang}:'' ?>" placeholder="Category Name (English)">
+                    data-parsley-minlength="2" name="category_name_<?= $lang ?>" 
+                    value="<?= (isset($categoryData->{'category_name_'.$lang}))?$categoryData->{'category_name_'.$lang}:'' ?>" placeholder="Category Name (English)">
                     <span class="glyphicon form-control-feedback"></span>
                   </div>
                 </div>
diff --git a/application/views/Host/viewHostCategories.php b/application/views/Host/viewHostCategories.php
index 2a975e2..36e2592 100644
--- a/application/views/Host/viewHostCategories.php
+++ b/application/views/Host/viewHostCategories.php
@@ -68,7 +68,7 @@
                         <?= ($host->status == 1)?'Active':'De-activate' ?>
                       </th>
                       <?php if(in_array('2',$pAccess)||in_array('3',$pAccess)||in_array('4',$pAccess)){?>  <td class="center">  
-                          <?php if(in_array('2',$pAccess)){ ?> 
+                          <?php if(in_array('NILL',$pAccess)){ ?> 
                             <a class="btn btn-sm btn-primary" 
                                href="<?= base_url('Host/editHostCategory/'.encode_param($host->host_cat_id))?>">
                               <i class="fa fa-fw fa-edit"></i>Edit
diff --git a/application/views/Staff/staffForm.php b/application/views/Staff/staffForm.php
index d541a7e..28f80e8 100644
--- a/application/views/Staff/staffForm.php
+++ b/application/views/Staff/staffForm.php
@@ -59,12 +59,12 @@
                       <div class="col-md-3">
                         <input type="radio" class="required padLeft10" data-parsley-trigger="change" 
                         required value="4" name="user_type" checked>
-                        <label class="padLeft10">Staff User</label>
+                        <label class="padLeft10">Staff</label>
                       </div>
                       <div class="col-md-5">
                         <input type="radio" class="required padLeft10" data-parsley-trigger="change" 
                         required value="5" name="user_type">
-                        <label class="padLeft10">Customer User</label>
+                        <label class="padLeft10">Customer Care</label>
                       </div>
                     </div> 
                   </div>