public function search(Request $request)
 {
     $rules = array('date' => 'required', 'zoneName' => 'required');
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return response()->json(array('result' => false, 'message' => 'invalid input field.'));
     }
     $user = Auth::user();
     $date = $request->input('date');
     $booking_count = Booking::where('sale_at', $request->input('date'))->where('userID', $user->id)->count();
     if ($booking_count > 0) {
         return response()->json(array('result' => false, 'message' => 'บัญชีนี้ได้ทำการจองไปแล้ว กรุณาตรวจสอบใหม่อีกครั้ง'));
     }
     $block = Calendar::where('active', 1)->where('opened_at', $request->input('date'))->where('name', $request->input('zoneName'))->groupBy('code')->get();
     $date_format = date("Y-m", strtotime($date));
     $where = "active = 1 and date_format(opened_at , '%Y-%m') = '" . $date_format . "'";
     //dd($where);
     $open_in_month = Calendar::whereRaw($where)->groupBy('opened_at')->get();
     return response()->json(['result' => true, 'message' => 'success.', 'data' => $block, 'count' => count($open_in_month)]);
 }