JLL Bucharest City Report Q3 2020 | Romania during the COVID-19 pandemic

23 Noiembrie 2020 • Imobiliare

Descarcă JLL Bucharest City Report Q3 2020.pdf

JLL Bucharest City Report Q3 2020 | Romania during the COVID-19 pandemic

JLL, https://www.jll.ro/en/cities/bucharest, are pleased to present Bucharest City Reports covering key trends in the economy and recent trends in the investment, office, retail and industrial markets. In this edition, JLL brings you the third quarter update on Bucharest, Romania.

Macroeconomic overview

The second wave of the COVID-19 pandemic hit Europe and Romania hard towards the end of Q3. The economic impact was seen in a drastic reduction of the official GDP growth prognosis, from -1.9% in April, to -3.8% in August, according to the National Commission for Strategy and Prognosis. 

The latest prognosis issued by the World Bank, in October, is even more pessimistic, estimating the country’s economic growth for 2020 to -5.7%. This is to be followed by a 4.9% growth rate in 2021. 

Also in October, the International Monetary Fund expected Romania’s real GDP growth rate to fall to –4.8% in 2020. 


The EU Commission’s Summer 2020 Economic Forecast, released in July, estimates for Romania a GDP contraction of -6% in 2020, followed by a 4% recovery in 2021. 

Unemployment 

Before the COVID-19 outbreak, the National Institute of Statistics reported for February 2020 a 3.9% unemployment rate in the country, which rapidly increased to 5.2% in May, accounting for a total of 463,000 unemployed, as many businesses slowed down their activity because of the pandemic. Thus, the number of unemployed people grew by 111,000 between February and May. 

The unemployment rate reached as high as 5.4% in July, accounting for 484,000 unemployed people. Afterwards it started to decrease to 5.3% in August and to 5.2% in September, when the total number of unemployed people was 471,000.

Investment Market

Q3 2020 property investment volume for Romania is estimated at €408 million, a value approximately 68% higher than the one registered in the same period in 2019. For the first nine months of 2020, transactions volume reached €816 million.

Even though expectations for Q3 were not very high, considering the emergence of the second wave of the COVID-19 pandemic, the investment volume was boosted by the closing of one of the largest deals ever signed in Romania, the acquisition of the NEPI Rockcastle’s office portfolio by AFI Europe, a deal worth approximately €307 million, which includes several properties in Bucharest and one in Timisoara, with a total GLA of almost 120,000 m².

The second largest deal closed during Q3 was the sale of the 37,500 m² GLA office complex Floreasca Park in Bucharest. The project was sold by GLL to Resolution Property Investment Management and Zeus Capital for an estimated €101 million.

Although the road ahead is marked by uncertainty, considering the persistence of the COVID-19 pandemic and the restrictions associated with it, there is a consistent pipeline of deals which could be closed in the near future and throughout 2021.

Both prime office and retail yields were resilient in Q3, standing at 7%, while prime industrial yields remained at 8%. Prime assets with WAULT (Weighted Average Unexpired Lease Term) significantly longer than the market average can achieve yields below those quoted as prime. The impact of the medical emergency in Romania as well as in the rest of Europe on yields will probably be seen towards the end of the year and especially in 2021. Product quality will make a big difference in terms of achievable yields.


Demand

After total office demand suffered an almost 55% drop during the first half of 2020 compared to H1

2019, the trend was finally reversed in Q3. Total gross transaction volume reached approx. 63,100 m². That is almost the same volume as the one recorded in Q3 2019, of 62,800 m².

Compared to the previous quarter, in Q3 2020 gross take up registered an over 40% increase. The average transaction size in Q3 2020 was approx. 1,800 m². 

However, even though gross take up was similar to the previous year, net take up in Q3 2020 accounted for only 14,500 m², or 23% of gross take, compared to 40,200 m², or almost 70% of gross demand during the same period of 2019. By far, renewals had the largest share in total transactions in Q3 2020, with over 50%.

This comes at no surprise, considering that during Q3 the whole of Europe was hit by the second wave of the COVID-19 pandemic. Many companies exerted cautiousness and postponed their decisions regarding new office space, while reassessing their overall strategies to cope with the follow out of the pandemic. We don’t foresee any major change in market sentiment for Q4.

In terms of vacancy, Q3 experienced a significant increase, from 9.3% in Q2, to approximately 10.9%.

 


Deliveries

After an increase of the office stock by 106,100 m² during the first half of 2020, only one building was delivered in Q3, Campus 6.3, developed by Skanska in the Center-West sub-market, adding approx. 17,600 m² GLA.

Thus, office deliveries in the first nine months of 2020 totaled 123,700 m², representing approximately

50% of the volume recorded in the same period of 2019, when almost 250,000 m² were added to the market.

Pipeline 

Relatively few deliveries are expected for the last quarter of 2020, totaling approximately 35,800 m². By far the largest is One Tower, with 23,600 m² GLA, in the Floreasca – Barbu Vacarescu sub-market, followed by Politehnica Business Tower, with another 8,000 m² GLA in the Center-West sub-market.

Considering that an end for the COVID-19 pandemic is not foreseeable in the near future, combined with a low take-up of office space and new buildings expected to be delivered on the market, we estimate that the vacancy rate will continue to increase during Q4.





For more details you may download the report here


Whoops! There was an error.
Predis \ Response \ ServerException
MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. Predis\Response\ServerException thrown with message "MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. " Stacktrace: #12 Predis\Response\ServerException in /var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php:370 #11 Predis\Client:onErrorResponse in /var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php:335 #10 Predis\Client:executeCommand in /var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php:314 #9 Predis\Client:__call in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:114 #8 Illuminate\Redis\Connections\Connection:command in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:214 #7 Illuminate\Redis\Connections\Connection:__call in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php:93 #6 Illuminate\Cache\RedisStore:put in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/Repository.php:208 #5 Illuminate\Cache\Repository:put in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php:66 #4 Illuminate\Session\CacheBasedSessionHandler:write in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Store.php:129 #3 Illuminate\Session\Store:save in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /var/www/html/blissimobiliare/public/index.php:58
12
Predis\Response\ServerException
/vendor/predis/predis/src/Client.php370
11
Predis\Client onErrorResponse
/vendor/predis/predis/src/Client.php335
10
Predis\Client executeCommand
/vendor/predis/predis/src/Client.php314
9
Predis\Client __call
/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php114
8
Illuminate\Redis\Connections\Connection command
/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php214
7
Illuminate\Redis\Connections\Connection __call
/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php93
6
Illuminate\Cache\RedisStore put
/vendor/laravel/framework/src/Illuminate/Cache/Repository.php208
5
Illuminate\Cache\Repository put
/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php66
4
Illuminate\Session\CacheBasedSessionHandler write
/vendor/laravel/framework/src/Illuminate/Session/Store.php129
3
Illuminate\Session\Store save
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php87
2
Illuminate\Session\Middleware\StartSession terminate
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php218
1
Illuminate\Foundation\Http\Kernel terminateMiddleware
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php189
0
Illuminate\Foundation\Http\Kernel terminate
/public/index.php58
/var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php
     *
     * @return mixed
     */
    protected function onErrorResponse(CommandInterface $command, ErrorResponseInterface $response)
    {
        if ($command instanceof ScriptCommand && $response->getErrorType() === 'NOSCRIPT') {
            $eval = $this->createCommand('EVAL');
            $eval->setRawArguments($command->getEvalArguments());
 
            $response = $this->executeCommand($eval);
 
            if (!$response instanceof ResponseInterface) {
                $response = $command->parseResponse($response);
            }
 
            return $response;
        }
 
        if ($this->options->exceptions) {
            throw new ServerException($response->getMessage());
        }
 
        return $response;
    }
 
    /**
     * Executes the specified initializer method on `$this` by adjusting the
     * actual invokation depending on the arity (0, 1 or 2 arguments). This is
     * simply an utility method to create Redis contexts instances since they
     * follow a common initialization path.
     *
     * @param string $initializer Method name.
     * @param array  $argv        Arguments for the method.
     *
     * @return mixed
     */
    private function sharedContextFactory($initializer, $argv = null)
    {
        switch (count($argv)) {
            case 0:
Arguments
  1. "MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.  "
    
/var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php
    }
 
    /**
     * {@inheritdoc}
     */
    public function createCommand($commandID, $arguments = array())
    {
        return $this->profile->createCommand($commandID, $arguments);
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $response = $this->connection->executeCommand($command);
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
                $response = $this->onErrorResponse($command, $response);
            }
 
            return $response;
        }
 
        return $command->parseResponse($response);
    }
 
    /**
     * Handles -ERR responses returned by Redis.
     *
     * @param CommandInterface       $command  Redis command that generated the error.
     * @param ErrorResponseInterface $response Instance of the error response.
     *
     * @throws ServerException
     *
     * @return mixed
     */
    protected function onErrorResponse(CommandInterface $command, ErrorResponseInterface $response)
    {
Arguments
  1. Predis\Command\StringSetExpire {}
    
  2. Predis\Response\Error {}
    
/var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php
        );
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
                $error = true;
            }
 
            return (string) $response;
        }
 
        return $response;
    }
 
    /**
     * {@inheritdoc}
     */
    public function __call($commandID, $arguments)
    {
        return $this->executeCommand(
            $this->createCommand($commandID, $arguments)
        );
    }
 
    /**
     * {@inheritdoc}
     */
    public function createCommand($commandID, $arguments = array())
    {
        return $this->profile->createCommand($commandID, $arguments);
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $response = $this->connection->executeCommand($command);
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
Arguments
  1. Predis\Command\StringSetExpire {}
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php
     * @param  \Closure  $callback
     * @return void
     */
    public function psubscribe($channels, Closure $callback)
    {
        return $this->createSubscription($channels, $callback, __FUNCTION__);
    }
 
    /**
     * Run a command against the Redis database.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     */
    public function command($method, array $parameters = [])
    {
        $start = microtime(true);
 
        $result = $this->client->{$method}(...$parameters);
 
        $time = round((microtime(true) - $start) * 1000, 2);
 
        if (isset($this->events)) {
            $this->event(new CommandExecuted($method, $parameters, $time, $this));
        }
 
        return $result;
    }
 
    /**
     * Fire the given event if possible.
     *
     * @param  mixed  $event
     * @return void
     */
    protected function event($event)
    {
        if (isset($this->events)) {
            $this->events->dispatch($event);
Arguments
  1. "setex"
    
  2. array:3 [
      0 => "laravel:L7ljNHZVqHHV4TiBLg03PhCAL2FfqxEuVDfNxdsE"
      1 => 7200
      2 => "s:315:"a:4:{s:6:"_token";s:40:"8PKf9EahLr3fV6gdPisYTh5Vvvc3PpyFhfhi7nia";s:9:"_previous";a:1:{s:3:"url";s:120:"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}";"
    ]
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php
    /**
     * Unset the event dispatcher instance on the connection.
     *
     * @return void
     */
    public function unsetEventDispatcher()
    {
        $this->events = null;
    }
 
    /**
     * Pass other method calls down to the underlying client.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     */
    public function __call($method, $parameters)
    {
        return $this->command($method, $parameters);
    }
}
 
Arguments
  1. "setex"
    
  2. array:3 [
      0 => "laravel:L7ljNHZVqHHV4TiBLg03PhCAL2FfqxEuVDfNxdsE"
      1 => 7200
      2 => "s:315:"a:4:{s:6:"_token";s:40:"8PKf9EahLr3fV6gdPisYTh5Vvvc3PpyFhfhi7nia";s:9:"_previous";a:1:{s:3:"url";s:120:"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}";"
    ]
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
 
        foreach ($values as $index => $value) {
            $results[$keys[$index]] = ! is_null($value) ? $this->unserialize($value) : null;
        }
 
        return $results;
    }
 
    /**
     * Store an item in the cache for a given number of minutes.
     *
     * @param  string  $key
     * @param  mixed   $value
     * @param  float|int  $minutes
     * @return void
     */
    public function put($key, $value, $minutes)
    {
        $this->connection()->setex(
            $this->prefix.$key, (int) max(1, $minutes * 60), $this->serialize($value)
        );
    }
 
    /**
     * Store multiple items in the cache for a given number of minutes.
     *
     * @param  array  $values
     * @param  float|int  $minutes
     * @return void
     */
    public function putMany(array $values, $minutes)
    {
        $this->connection()->multi();
 
        foreach ($values as $key => $value) {
            $this->put($key, $value, $minutes);
        }
 
        $this->connection()->exec();
    }
Arguments
  1. "setex"
    
  2. array:3 [
      0 => "laravel:L7ljNHZVqHHV4TiBLg03PhCAL2FfqxEuVDfNxdsE"
      1 => 7200
      2 => "s:315:"a:4:{s:6:"_token";s:40:"8PKf9EahLr3fV6gdPisYTh5Vvvc3PpyFhfhi7nia";s:9:"_previous";a:1:{s:3:"url";s:120:"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}";"
    ]
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/Repository.php
    }
 
    /**
     * Store an item in the cache.
     *
     * @param  string  $key
     * @param  mixed   $value
     * @param  \DateTimeInterface|\DateInterval|float|int|null  $minutes
     * @return void
     */
    public function put($key, $value, $minutes = null)
    {
        if (is_array($key)) {
            $this->putMany($key, $value);
 
            return;
        }
 
        if (! is_null($minutes = $this->getMinutes($minutes))) {
            $this->store->put($this->itemKey($key), $value, $minutes);
 
            $this->event(new KeyWritten($key, $value, $minutes));
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function set($key, $value, $ttl = null)
    {
        $this->put($key, $value, $ttl);
    }
 
    /**
     * Store multiple items in the cache for a given number of minutes.
     *
     * @param  array  $values
     * @param  \DateTimeInterface|\DateInterval|float|int  $minutes
     * @return void
     */
Arguments
  1. "L7ljNHZVqHHV4TiBLg03PhCAL2FfqxEuVDfNxdsE"
    
  2. "a:4:{s:6:"_token";s:40:"8PKf9EahLr3fV6gdPisYTh5Vvvc3PpyFhfhi7nia";s:9:"_previous";a:1:{s:3:"url";s:120:"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 120
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php
     */
    public function close()
    {
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        return $this->cache->get($sessionId, '');
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        return $this->cache->put($sessionId, $data, $this->minutes);
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        return $this->cache->forget($sessionId);
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        return true;
    }
 
    /**
     * Get the underlying cache repository.
Arguments
  1. "L7ljNHZVqHHV4TiBLg03PhCAL2FfqxEuVDfNxdsE"
    
  2. "a:4:{s:6:"_token";s:40:"8PKf9EahLr3fV6gdPisYTh5Vvvc3PpyFhfhi7nia";s:9:"_previous";a:1:{s:3:"url";s:120:"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 120
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "L7ljNHZVqHHV4TiBLg03PhCAL2FfqxEuVDfNxdsE"
    
  2. "a:4:{s:6:"_token";s:40:"8PKf9EahLr3fV6gdPisYTh5Vvvc3PpyFhfhi7nia";s:9:"_previous";a:1:{s:3:"url";s:120:"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            [$name] = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) { …4}
      #routeResolver: Closure() { …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {}
      +request: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +query: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +server: Symfony\Component\HttpFoundation\ServerBag {}
      +files: Symfony\Component\HttpFoundation\FileBag {}
      +cookies: Symfony\Component\HttpFoundation\ParameterBag {}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
      #requestUri: "/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {}
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Http\Response {}
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Illuminate\Http\Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) { …4}
      #routeResolver: Closure() { …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {}
      +request: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +query: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +server: Symfony\Component\HttpFoundation\ServerBag {}
      +files: Symfony\Component\HttpFoundation\FileBag {}
      +cookies: Symfony\Component\HttpFoundation\ParameterBag {}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
      #requestUri: "/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {}
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Http\Response {}
    
/var/www/html/blissimobiliare/public/index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Illuminate\Http\Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) { …4}
      #routeResolver: Closure() { …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {}
      +request: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +query: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +server: Symfony\Component\HttpFoundation\ServerBag {}
      +files: Symfony\Component\HttpFoundation\FileBag {}
      +cookies: Symfony\Component\HttpFoundation\ParameterBag {}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
      #requestUri: "/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {}
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Http\Response {}
    

Environment & details:

empty
empty
empty
Key Value
laravel_session
"eyJpdiI6IlF5SnhLdVNYOFdTdkJwbyswV3poc3c9PSIsInZhbHVlIjoiVzZYR0pDOWdScWx1VTFKNVllZ1Q3VGlIbkNxSkNWTnhVNGV1dEt2YWxmTHBkV09cL2xoV2V4T3BXRURKXC9TWnhsIiwibWFjIjoiMDQ5ODA3Mzk2YzE4YTRmMDYzNzhmZDUzYmJmNjVmM2MyMTM4MTNjYjQzYTIxNjMwMGJmZmIxZGI2OTA1Nzc5NiJ9"
lang
"eyJpdiI6InhkN09VZzRyZ2pTQ0RrdmZSbFNFb0E9PSIsInZhbHVlIjoiSTBpSmJxYlRpN1NRWHFcLzNCQVd0XC9nPT0iLCJtYWMiOiI3YzVlYTZkMTk2MTI5YmYyMWFkODk3ZGE1ZjcyNWZmMjkzMjE5OTM4YTUyMjNmYTg0YmUxYWZlNjQ4ODJmZTQxIn0="
XSRF-TOKEN
"eyJpdiI6IlwvaXQyUURNWG1jQnQwOHFYMGZTTHlnPT0iLCJ2YWx1ZSI6IkdBamNRWm1TajZUemdcLzZETnZqQ1dhZlFKTlJUOTZraFZqNnBrSUtxaTE2blF5YVk2d2VlaVdRTXl0c2lYdEtWIiwibWFjIjoiOWM2ZmY4MmQ2MmQxODJkNTU4Y2FmZmRlZTFhMDIzYzJhZjk5ZGM2Njk1OTAwOGI2MDM4MzgxMDY1YzcxYzE1NCJ9"
empty
Key Value
REDIRECT_UNIQUE_ID
"aMYklqwfEagAAD3-NEsAAAAF"
REDIRECT_SCRIPT_URL
"/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
REDIRECT_SCRIPT_URI
"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aMYklqwfEagAAD3-NEsAAAAF"
SCRIPT_URL
"/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
SCRIPT_URI
"http://dev.blissimobiliare.ro/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_COOKIE
"laravel_session=eyJpdiI6IlF5SnhLdVNYOFdTdkJwbyswV3poc3c9PSIsInZhbHVlIjoiVzZYR0pDOWdScWx1VTFKNVllZ1Q3VGlIbkNxSkNWTnhVNGV1dEt2YWxmTHBkV09cL2xoV2V4T3BXRURKXC9TWnhsIiwibWFjIjoiMDQ5ODA3Mzk2YzE4YTRmMDYzNzhmZDUzYmJmNjVmM2MyMTM4MTNjYjQzYTIxNjMwMGJmZmIxZGI2OTA1Nzc5NiJ9; lang=eyJpdiI6InhkN09VZzRyZ2pTQ0RrdmZSbFNFb0E9PSIsInZhbHVlIjoiSTBpSmJxYlRpN1NRWHFcLzNCQVd0XC9nPT0iLCJtYWMiOiI3YzVlYTZkMTk2MTI5YmYyMWFkODk3ZGE1ZjcyNWZmMjkzMjE5OTM4YTUyMjNmYTg0YmUxYWZlNjQ4ODJmZTQxIn0%3D; XSRF-TOKEN=eyJpdiI6IlwvaXQyUURNWG1jQnQwOHFYMGZTTHlnPT0iLCJ2YWx1ZSI6IkdBamNRWm1TajZUemdcLzZETnZqQ1dhZlFKTlJUOTZraFZqNnBrSUtxaTE2blF5YVk2d2VlaVdRTXl0c2lYdEtWIiwibWFjIjoiOWM2ZmY4MmQ2MmQxODJkNTU4Y2FmZmRlZTFhMDIzYzJhZjk5ZGM2Njk1OTAwOGI2MDM4MzgxMDY1YzcxYzE1NCJ9"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_HOST
"dev.blissimobiliare.ro"
HTTP_VIA
"1.1 squid-proxy-5b5d847c96-8qwlv (squid/6.10)"
HTTP_X_FORWARDED_FOR
"10.3.134.55"
HTTP_CACHE_CONTROL
"max-age=259200"
HTTP_CONNECTION
"keep-alive"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"dev.blissimobiliare.ro"
SERVER_ADDR
"172.31.17.168"
SERVER_PORT
"80"
REMOTE_ADDR
"216.73.216.114"
DOCUMENT_ROOT
"/var/www/html/blissimobiliare/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/blissimobiliare/public"
SERVER_ADMIN
"razvan.iacob@blissimobiliare.ro"
SCRIPT_FILENAME
"/var/www/html/blissimobiliare/public/index.php"
REMOTE_PORT
"19892"
REDIRECT_URL
"/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/blog/imobiliare/jll-bucharest-city-report-q3-2020-romania-during-the-covid-19-pandemic-340"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1757815958.301
REQUEST_TIME
1757815958
APP_ENV
"dev"
APP_KEY
"base64:TUuFX2pGhF01If7DKAC3kZsG4eHfCEDGZOiq1YLX/Fc="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://dev.blissimobiliare.ro"
DB_CONNECTION
"mysql"
DB_HOST
"jaap.c0yqfgjfckuc.eu-central-1.rds.amazonaws.com"
DB_PORT
"3306"
DB_DATABASE
"jaap_dev"
DB_USERNAME
"root"
DB_PASSWORD
"nd3nfm90ms"
BROADCAST_DRIVER
"pusher"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
QUEUE_DRIVER
"redis"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
SOLR_CORE
"core0"
SOLR_USER
"root"
SOLR_PASS
"jA5GpXhFCc7SeY6x"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.sendgrid.net"
MAIL_PORT
"587"
MAIL_USERNAME
"apikey"
MAIL_PASSWORD
"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"
MAIL_ENCRYPTION
"tls"
SENGRID_API_KEY
"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"
PUSHER_APP_ID
"266734"
PUSHER_APP_KEY
"1da30260f9dbb1a0d9db"
PUSHER_APP_SECRET
"10fbeff65291a4cc067a"
SLACK_WEBHOOK_URL
"https://hooks.slack.com/services/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"
MIXPANEL_TOKEN
"25d54c3d4d562ae8353ed7c7417d488b"
ANALYTICS_VIEW_ID
"132938481"
RECAPTCHA_KEY
"6LecPnoUAAAAAAZgRBMRPEA1V2bqSKNPmTnlN_M_"
RECAPTCHA_SECRET
"6LecPnoUAAAAAD-xVo0bqW7XCeGEHjotj48ShhfK"
S3_KEY
"AKIAIY23DCGM7GE6X26A"
S3_SECRET
"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"
S3_REGION
"eu-central-1"
S3_BUCKET
"bliss-files"
IPAPI_KEY
""
DEBUGBAR_ENABLED
"true"
DB_LOG_QUERIES
"false"
DB_LOG_SLOW_QUERIES
"true"
DB_SLOW_QUERIES_MIN_EXEC_TIME
"100"
DB_LOG_OVERRIDE
"false"
DB_LOG_DIRECTORY
"logs/db"
DB_CONVERT_TIME_TO_SECONDS
"false"
DB_LOG_SEPARATE_ARTISAN
"false"
Key Value
APP_ENV
"dev"
APP_KEY
"base64:TUuFX2pGhF01If7DKAC3kZsG4eHfCEDGZOiq1YLX/Fc="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://dev.blissimobiliare.ro"
DB_CONNECTION
"mysql"
DB_HOST
"jaap.c0yqfgjfckuc.eu-central-1.rds.amazonaws.com"
DB_PORT
"3306"
DB_DATABASE
"jaap_dev"
DB_USERNAME
"root"
DB_PASSWORD
"nd3nfm90ms"
BROADCAST_DRIVER
"pusher"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
QUEUE_DRIVER
"redis"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
SOLR_CORE
"core0"
SOLR_USER
"root"
SOLR_PASS
"jA5GpXhFCc7SeY6x"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.sendgrid.net"
MAIL_PORT
"587"
MAIL_USERNAME
"apikey"
MAIL_PASSWORD
"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"
MAIL_ENCRYPTION
"tls"
SENGRID_API_KEY
"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"
PUSHER_APP_ID
"266734"
PUSHER_APP_KEY
"1da30260f9dbb1a0d9db"
PUSHER_APP_SECRET
"10fbeff65291a4cc067a"
SLACK_WEBHOOK_URL
"https://hooks.slack.com/services/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"
MIXPANEL_TOKEN
"25d54c3d4d562ae8353ed7c7417d488b"
ANALYTICS_VIEW_ID
"132938481"
RECAPTCHA_KEY
"6LecPnoUAAAAAAZgRBMRPEA1V2bqSKNPmTnlN_M_"
RECAPTCHA_SECRET
"6LecPnoUAAAAAD-xVo0bqW7XCeGEHjotj48ShhfK"
S3_KEY
"AKIAIY23DCGM7GE6X26A"
S3_SECRET
"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"
S3_REGION
"eu-central-1"
S3_BUCKET
"bliss-files"
IPAPI_KEY
""
DEBUGBAR_ENABLED
"true"
DB_LOG_QUERIES
"false"
DB_LOG_SLOW_QUERIES
"true"
DB_SLOW_QUERIES_MIN_EXEC_TIME
"100"
DB_LOG_OVERRIDE
"false"
DB_LOG_DIRECTORY
"logs/db"
DB_CONVERT_TIME_TO_SECONDS
"false"
DB_LOG_SEPARATE_ARTISAN
"false"
0. Whoops\Handler\PrettyPageHandler