/**
  * Handles requests for updating an existing reservation.
  * 
  * @access	public
  * @return	response
  * @since	1.0.0
  */
 public function changeReservation()
 {
     //array to store response
     $arrResponse = array();
     //reading data input by the user
     $data = $this->request->all();
     /*
     		//reading the reservation rules
     		$arrRule = Reservation::$arrRules;
     		
     		//updating the validation rule for reservation time
     		$arrRule['reservationTime'] = 'required|OutsidePrevReservationTimeRange: reservationDate, reservationID'; 
     */
     //print_r($data); die();
     //validating user data
     $validator = Validator::make($data, Reservation::$arrRules);
     //print_r($validator->fails());die;
     if ($validator->fails()) {
         $message = $validator->messages();
         $errorMessage = "";
         foreach ($data as $key => $value) {
             if ($message->has($key)) {
                 $errorMessage .= $message->first($key) . '\\n ';
             }
         }
         $arrResponse['status'] = Config::get('constants.API_ERROR');
         $arrResponse['error'] = $errorMessage;
     } else {
         //validating the user input data
         $arrResponse = Reservation::validateEditReservationData($data);
         //die('hello');
         if ($arrResponse['status'] == Config::get('constants.API_SUCCESS')) {
             $arrResponse = ReservationDetails::updateReservationDetail($data);
         }
     }
     if (!empty($data['reservationID'])) {
         $tokens = ReservationModel::pushToRestaurant($data['reservationID']);
         $this->restaurantapp->push($data['reservationID'], $tokens, true);
     }
     return response()->json($arrResponse, 200);
 }