ROMANIAN REAL ESTATE MARKET REPORT Q3 2018

1 Noiembrie 2018 • Imobiliare

ROMANIAN REAL ESTATE MARKET REPORT Q3 2018

MARKET OVERVIEW - ROMANIAN REAL ESTATE MARKET REPORT Q3 2018

The annual price increase reached 5.6% 

In the third quarter of 2018, residential property prices slowed down, with an advance of only 0.7% compared to the previous quarter - the lowest level in the past three years. Compared with last year, there was an increase of 5.6%, and over the past three years (ever since prices recorded again an ascending trend), of 31%.

Prices in Romania are now going up, just as in the other countries in the European Union. According to the National Institute of Statistics (Romanian: Institutul National de Statistică, INS) and Eurostat, house prices in Romania increased by 4.7% in the second quarter compared to last year, while prices in the European Union increased by 4.3%. Apartment prices increased in all six major cities under review, however, variations were significantly lower than for the previous years.

Fewer transactions in the third quarter 

Nevertheless, in order to have a complete picture of the market we would like to point out that the official statistics do not include the pre-contracts signed by buyers for the purchase of dwellings in the residential projects under construction; also, there is a delay period between the signing of the sale agreements with the notary, the registration of the house and the statistical reporting with the ANCPI. 

As anticipated in the previous report, in the third quarter 127,528 properties have been sold nationwide, which represents a setback of 24.2% over the past year. This decline means that the total volume of transactions recorded in Romania in the first nine months of the year was of 5.1%, lower than in the similar period of 2017. 

Due to the lending conditions, starting with the second quarter there has been a decline in demand for residential properties (5% over the same period of the previous year), a trend that continued in the third quarter, when the demand fell by 2% compared with 2017. 

Stabilizing the supply of dwellings for sale and the rental market dynamics

Due to the decrease in the number of transactions, the offer of dwellings listed on sale stabilizes, after having recorded an average decline by 30% in the last three years. Therefore, properties are listed for sale over a longer period of time - the apartments in Bucharest, for instance, are sold, on average within a period of 80 days, compared to 70 days ago two years ago. 

The slowdown in sales price increases and the reduction in the number of transactions have determined the owners to focus their attention on rentals, which boosted this market: at the level of the six big cities, the number of apartments and houses available for rent is higher than that of the properties available for sale. In the third quarter, there were 21,620 residential properties for rent, compared to 16,540 listed for sale (dwellings built until the year 2000). 

Growth prospects have diminished 

In the report released in the second quarter of last year, we were wondering what signals are clear indications of the fact that the real estate market is stopping its growth. As we have seen in our analysis, certain "forecasts" have started to materialize: fewer dwellings are traded, fewer buyers are interested in purchasing, the number of offers starts to increase again, and the dwellings are sold over a longer period of time. These challenges that sellers face represent opportunities for the buyers and we already see how owners are forced to lower the initial asking price if they want to sell. Therefore, for most of the analysed cities, the negotiation margins were higher in the third quarter of 2018 than in the similar period of 2017. 

What are the real risks for a real estate purchase at this moment? 

 We have witnessed a rather stable 2018 year-end, with a constant demand level and mild growth rates, rates between 5 and 6 percent, only half of the values recorded last year. Surprisingly, we could say that the real estate market looks good, given also the rise of some voices, more or less informed, that talk about an extended, overwhelming crisis. Nevertheless, at this point there are no indicators anticipating the start of a real estate crisis. And I say this fully aware of the responsibilities I have in my quality of entrepreneur, managing important, active residential projects in three cities in the country: Arad, Braşov and Timişoara. 

However, taking into account this unlikely scenario in which a real estate crisis would come, the question arises as to whether a real estate acquisition would be appropriate or not at this moment. The answer depends on the context, or, rather, on the motif behind the purchase. From the very beginning, we have to make a distinct difference between the real need for housing and the speculative interest. Except for speculative interest, the timing is just as appropriate as ever. The demand is currently supported almost exclusively by the real need for housing, and to a lesser extent by the buy-to-rent interest. Or these two segments lose at least 12% per year by postponing the decision (inflation plus rent/return). Major risk exists for speculators (I buy now, possibly at the project stage, in order to sell more expensive on short term). This category, almost non-existent in the current market, is of no interest for our analysis. 

The real estate market is an illiquid market, different f rom the capital market. Real estate acquisitions are not suitable for short-term earnings, as they require medium to long-term waiting times. In the medium and long term, on the real estate market in the big cities of Romania it is rather impossible to make a wrong move. Property prices will continue to grow on the long run, although we will be also witnessing some inevitable punctual corrections. The value of real estate assets is valid in time, making it true that there is no better time to buy a real estate than the moment that has just passed. 

Statistically speaking, we notice a decrease in the number of transactions recorded over the last months. This is partly explained by the fact that, more and more buyers are interested in new apartments, signing sale-purchase pre-contracts, which are not yet included in the statistics. On the other hand, many of the projects are delayed due to the labour crisis at unprecedented levels before. Delivery times are being postponed, which contributes to the decrease in the number of transactions, without having anything to do with a crisis of the real estate market itself. Then again, the general confidence level of the population is quite low.

Still, the residential segment is structurally sound; it has a high solvency demand and a low offer, both on the new and the old segment. More than that, the recent measures announced by The National Bank of Romania (BNR) will not adversely affect the real estate market, as they solely urge caution for those unsolvable buyers, the aim being to avoid the conditions of market heating up, which could then generate a crisis. Obviously, we are in an economic growth cycle where it would be a good idea to prepare for the next stage. The more prepared we are, the better we will deal with a downward cycle or a correction period over certain over-rated segments, or for projects lacking a viable concept (such as, lack of infrastructure, unattractive positioning and so on.). But from here to panic, there is a huge step to take. 

Prudence, of course, is good, but the creation of panic is not at all a good idea. Therefore, we find ourselves, most likely, at a very good time to buy. All these things give us confidence to build and wait for a better 2019 for the market, defined by stability. 

Valentin Morar CEO Wallberg Properties 

RESIDENTIAL PRICE INDEX 

In the third quarter of this year, residential properties in Romania appreciated by 0.7% than the previous three months, according to the data centralized by Analize Imobiliare. Given that the quarterly price increase on this segment was of 1.4% for each of the first two quarters of 2018, this data confirms, once more, the downward trend of prices recorded by the housing market. This trend is also confirmed by the fact that the annual growth rate of prices (Q3 2018 versus Q3 2017) is currently at 5.6%, given that, in the same period of 2017, the same indicator was close to the threshold of 10%. 

Overall, in the past three years, ever since the residential market started registering a predominantly upward trend in prices, homes available for sale in Romania became more expensive by an average of approximately 30%. At the moment, the quarterly index calculated by Analize Imobiliare is 131.71 (reference year 2015=100) - therefore, getting closer to the level recorded in the first quarter of 2010. 

According to the latest data published by the National Institute of Statistics, (Romanian: Institutul Na ional de Statistică, INS) and Eurostat, house prices in Romania have increased, on average, by 3.1% in the second quarter of 2018 compared to the previous three months. In comparison with the similar period of 2017, domestic sales claims are higher by 4.7%, while for the European Union, this indicator is at 4.3%. 

"The growth rhythm of house prices continued to slow down, ranging at less than 1% in the third quarter of the year." 

Romania (Analize Imobiliare and Imobiliare.ro) 

European Union (Eurostat, EU28)) Romania(INS)

Source: Analize Imobiliare, Imobiliare.ro and Eurostat



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:MrJ8HGzcvcMuRWgk6tInX7wrccLYqOqV4aEuHI2O"
      1 => 7200
      2 => "s:286:"a:4:{s:6:"_token";s:40:"kaK2DUcWdeu0u1nipb5IqVSgFhjMG79BDokTjrDS";s:9:"_previous";a:1:{s:3:"url";s:92:"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203";}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:MrJ8HGzcvcMuRWgk6tInX7wrccLYqOqV4aEuHI2O"
      1 => 7200
      2 => "s:286:"a:4:{s:6:"_token";s:40:"kaK2DUcWdeu0u1nipb5IqVSgFhjMG79BDokTjrDS";s:9:"_previous";a:1:{s:3:"url";s:92:"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203";}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:MrJ8HGzcvcMuRWgk6tInX7wrccLYqOqV4aEuHI2O"
      1 => 7200
      2 => "s:286:"a:4:{s:6:"_token";s:40:"kaK2DUcWdeu0u1nipb5IqVSgFhjMG79BDokTjrDS";s:9:"_previous";a:1:{s:3:"url";s:92:"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203";}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. "MrJ8HGzcvcMuRWgk6tInX7wrccLYqOqV4aEuHI2O"
    
  2. "a:4:{s:6:"_token";s:40:"kaK2DUcWdeu0u1nipb5IqVSgFhjMG79BDokTjrDS";s:9:"_previous";a:1:{s:3:"url";s:92:"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203";}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. "MrJ8HGzcvcMuRWgk6tInX7wrccLYqOqV4aEuHI2O"
    
  2. "a:4:{s:6:"_token";s:40:"kaK2DUcWdeu0u1nipb5IqVSgFhjMG79BDokTjrDS";s:9:"_previous";a:1:{s:3:"url";s:92:"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203";}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. "MrJ8HGzcvcMuRWgk6tInX7wrccLYqOqV4aEuHI2O"
    
  2. "a:4:{s:6:"_token";s:40:"kaK2DUcWdeu0u1nipb5IqVSgFhjMG79BDokTjrDS";s:9:"_previous";a:1:{s:3:"url";s:92:"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203";}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/romanian-real-estate-market-report-q3-2018-203"
      #requestUri: "/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
      #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/romanian-real-estate-market-report-q3-2018-203"
      #requestUri: "/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
      #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/romanian-real-estate-market-report-q3-2018-203"
      #requestUri: "/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
      #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
XSRF-TOKEN
"eyJpdiI6IlhZNGoyaDZFSzFITm02a1k1SElDRnc9PSIsInZhbHVlIjoiRTFQWEpwNmIyWjFjRHZUSHpLNytuZFpmRE1TNUpjaFRZdUVtN0QyUXJpZlhYK1pCQVdheVpxTWk3WjZQYWM1UCIsIm1hYyI6IjYzY2YyY2Y1NGFjNjkwN2M3MzA0MmVmZDc0YzI0YmMyMGVkZTVhMTRhZTQ1YmFiYTU5MzQ3MGIyMDc3YTBhNWQifQ=="
laravel_session
"eyJpdiI6IkY0U3ozOTc4NTk3XC9CR1djQXdPRVZRPT0iLCJ2YWx1ZSI6InNuOWwrM2FxMVBqdlowczJSRldEOWhPb1phZW1JOFdndHByMXJqbHRocWcxbHRqUXh5NGdtQm9QbWtJdFdUM1wvIiwibWFjIjoiY2Q3NmU3YzAyNWJhMTI5YmU4NDE4NTExYTgyODU1ZjM4MjY0NTc2NjM3MzNjMDFmM2JiNDVlZWE5MTQxMzU5ZiJ9"
lang
"eyJpdiI6IkZvR1V6cjU4N3hjZnRGMXlLWHN2T0E9PSIsInZhbHVlIjoibnJEbktGSDFoXC9rd0N4N1BGaEc4NEE9PSIsIm1hYyI6IjUzOGIzYjIxNjMyYjA2NzNiOGFmYTNmNjY4ZDg4NzlhNDQxOWVmMzFmNDA0NTRmOTYwZWU3OGIyM2ZhOWMyYTgifQ=="
empty
Key Value
REDIRECT_UNIQUE_ID
"aMYlh6wfEagAAEDDkOUAAAAB"
REDIRECT_SCRIPT_URL
"/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
REDIRECT_SCRIPT_URI
"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aMYlh6wfEagAAEDDkOUAAAAB"
SCRIPT_URL
"/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
SCRIPT_URI
"http://dev.blissimobiliare.ro/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_COOKIE
"XSRF-TOKEN=eyJpdiI6IlhZNGoyaDZFSzFITm02a1k1SElDRnc9PSIsInZhbHVlIjoiRTFQWEpwNmIyWjFjRHZUSHpLNytuZFpmRE1TNUpjaFRZdUVtN0QyUXJpZlhYK1pCQVdheVpxTWk3WjZQYWM1UCIsIm1hYyI6IjYzY2YyY2Y1NGFjNjkwN2M3MzA0MmVmZDc0YzI0YmMyMGVkZTVhMTRhZTQ1YmFiYTU5MzQ3MGIyMDc3YTBhNWQifQ%3D%3D; laravel_session=eyJpdiI6IkY0U3ozOTc4NTk3XC9CR1djQXdPRVZRPT0iLCJ2YWx1ZSI6InNuOWwrM2FxMVBqdlowczJSRldEOWhPb1phZW1JOFdndHByMXJqbHRocWcxbHRqUXh5NGdtQm9QbWtJdFdUM1wvIiwibWFjIjoiY2Q3NmU3YzAyNWJhMTI5YmU4NDE4NTExYTgyODU1ZjM4MjY0NTc2NjM3MzNjMDFmM2JiNDVlZWE5MTQxMzU5ZiJ9; lang=eyJpdiI6IkZvR1V6cjU4N3hjZnRGMXlLWHN2T0E9PSIsInZhbHVlIjoibnJEbktGSDFoXC9rd0N4N1BGaEc4NEE9PSIsIm1hYyI6IjUzOGIzYjIxNjMyYjA2NzNiOGFmYTNmNjY4ZDg4NzlhNDQxOWVmMzFmNDA0NTRmOTYwZWU3OGIyM2ZhOWMyYTgifQ%3D%3D"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_HOST
"dev.blissimobiliare.ro"
HTTP_VIA
"1.1 squid-proxy-5b5d847c96-b8kmf (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.97"
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
"45890"
REDIRECT_URL
"/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/blog/imobiliare/romanian-real-estate-market-report-q3-2018-203"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1757816199.155
REQUEST_TIME
1757816199
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