protected function collectVisitData()
    {
        $request = $this->request;

        $user = $request->user();
        $userId = $user ? $user->getKey() : null;

        return [
            'user_id'              => $userId,
            'http_referer'         => $request->server('HTTP_REFERER'),
            'url'                  => $request->fullUrl(),
            'request_method'       => $request->method(),
            'request_path'         => $request->getPathInfo(),
            'http_user_agent'      => $request->server('HTTP_USER_AGENT'),
            'http_accept_language' => $request->server('HTTP_ACCEPT_LANGUAGE'),
            'locale'               => $this->app->getLocale(),
            'request_time'         => $request->server('REQUEST_TIME')
        ];
    }