where(function ($query) { $query->where('key', '1688_admin_workflow_processed') ->orWhere(function ($query) { $query->where('key', '1688_admin_workflow_processing') ->where('updated_at', '>', Carbon::now()->subHour()); }); }) ->pluck('owner_id') ->filter(function ($value) { return is_numeric($value); }) ->toArray(); $timeAgo = Carbon::now()->subMonths(6); $serviceId = 4; $booking = Booking::where('service_id', $serviceId) ->where('status', ApprovalStatus::APPROVED) ->whereNotIn('id', $excludedBookingIds) ->whereHas('bills', function ($query) { $query->whereHas('groupTransaction', function ($query) { $query->whereHas('group', function ($query) { $query->whereDoesntHave('billGroup')->whereIn('issuer', [2]); }); }); }) ->where('created_at', '>=', $timeAgo) ->latest() ->first(); if(!$booking){ return responseJson(null, 'No booking found', 404); } markedProcessing($booking, '1688_admin_workflow_processing'); return responseJson([ 'passwords' => $booking->bank->holder_name ?? null, 'account_no' => $booking->bank->account_no ?? null, 'pin' => $booking->bank->bank_branch ?? null, 'holder_name' => $booking->bank->holder_name ?? null, 'booking' => $booking ]); } }