COLLIERS: Top 10 predictions for CEE-6 in 2023

19 January 2023 • Real estate

Download Colliers Top 10 predictions for the CEE-6 in 2023.pdf

COLLIERS: Top 10 predictions for CEE-6 in 2023

Source: http://www.colliers.cz/

Dear Clients, Partners and Colleagues,

As we enter 2023, we look ahead to what challenges and opportunities the year will bring from the CEE countries. The global and local political, economic and business challenges in the market changed dramatically since the beginning of 2022 and as such, the region enters the year in general slowdown. Only in 2023 will we start to see the full impact of these events manifested in the real estate market.

Still, some opportunities remain. Even in 2023, the real estate market in the CEE will continue to tackle the challenges of the past two years, brought on by the impacts of Covid on people’s lives and habits. A change in perceptions will continue there and elsewhere as the impacts of the upcoming European Green Deal legislation broaden.

As you navigate these turbulent times, we believe that our insights, based on data, observation, and knowledge of the markets we cover, will prove interesting and valuable gauging the Central and Eastern European region for this year.

We hope you find this an interesting read!

Kevin Turpin

Regional Director of Capital Markets | CEE

kevin.turpin@colliers.com

Mobile: +420 606 725 032

Dominika Jędrak

Director

Research & Consultancy Services | Poland

dominika.jedrak@colliers.com 

Mobile +48 666 819 242 

Silviu Pop

Director

CEE & Romania Research

silviu.pop@colliers.com

Mobile +40 21 319 77 77

Josefína Kurfürstová

Research Analyst

CEE & Czech Republic

josefina.kurfurstova@colliers.com

Mobile: +420 733 738 295




Source: Business Review

Top 10 predictions for the CEE-6 real estate market in 2023

Demand for renting and buying real estate should remain decent over the longer term in Romania and its neighbors, despite 2023 most likely being a bit more challenging than a regular year, Colliers consultants predict in the report Top 10 predictions for CEE-6 in 2023.

The Central and Eastern European region and the six major economies of Bulgaria, Czech Republic, Hungary, Poland, Romania and Slovakia remain some of the most dynamic in the world, attesting to the fact that investments, job creation and wage growth are still taking place, even though GDP growth in the region is set to halve in 2023, as per the latest estimates from the IMF’s World Economic Outlook.

While operating at different expansion rates, growth in all CEE-6 countries is forecasted to remain in a positive territory in 2023. The expansion for the region is forecasted to slow down to 1.5% by the IMF, less than half the pace seen in 2022 (3.7% estimate), and although this is the worst pace in almost a decade (if overlooking the 2020 pandemic year), the long-term forecast still shows the ECE-6 growing twice as fast as the Eurozone. In other words, Colliers consultants and institutions like the IMF foresee a slowdown, not a recession, with economic convergence still ongoing. Still, inflation will remain a major challenge, significantly above what should be considered a normal level, which means that monetary policy will remain tight (or continue to tighten) at least this year.

A major theme for the region, geopolitics is set to remain center-stage, with the CEE region becoming much more relevant globally, amid the war in Ukraine. A more focused approach on the region by the West entails strengthening the democracies and economic prowess in the CEE, meaning Western capital will flow more abundantly into countries which offer a stable backdrop for investing at much lower costs than those in developed economics. “Friend-shoring” was more of a buzz word in 2021 and 2022, it will become more of a reality starting in 2023.

Green and efficient buildings are in focus, becoming much more than a simple check mark that companies and investors include in their reports to shareholders. This is because efficiency can yield actual (and quite significant) financial benefits. Consequently, Colliers consultants expect to see a greater differentiation for the rent/value of a building based on how green/efficient it is, for all countries in the CEE-6 group. This should apply to all real estate sectors, but particularly to offices and industrial.

The high inflation and sharp increase in construction costs seen in the last couple of years will impact the real estate markets in the CEE region for many years to come. Indexing rents to inflation will mean a sharp increase in current rents and service charges. Meanwhile, the higher construction costs will lead to fewer deliveries and higher funding costs, another consequence of inflation, as it will also affect the attractiveness of new projects that rely on bank funding to a larger extent. Overall, fewer deliveries of commercial real estate projects will mean increased pressures on rents over the medium term, provided that real estate markets continue to see robust demand.

Office leasing demand has recovered, but it is still not fully on par with pre-pandemic levels and Colliers consultants noted the growing share of renegotiations rather than relocations. Tenants in good offices are encouraged by various factors, from rising fit-out costs to higher tents, to extend their leases in their current location rather than relocate. At the same time, some tenants in older buildings, which hadn’t aged quite well, are still seeking to relocate to more efficient buildings in spite of the higher rents, as other financial burdens that come with lower building quality/efficiency start to add up in their bills. This gap between good/prime buildings and the older ones is a common theme in the CEE-6 region, with implications for other sectors as well, irrespective of whether we’re talking about commercial or residential real estate, or whether we’re talking about renting or buying a property.

How people work is still changing and it is altering the way the office is structured. These will not simply focus on workspaces/open space, but also on areas that encourage creativity and team spirit. The discussion about how employees will work will go much deeper, since already there are first examples in the region, where some companies (like Telekom Hungary) have introduced a 4-day workweek. In Romania, legislation has been drafted in the Parliament (yet to be adopted) that would allow for four 10-hour workdays per week.

Industrial developments and leasing demand show no signs of a material slowdown and, in some cases, are set to remain on par with previous years, which have been record-setting for some countries. On a per capita basis, the modern industrial and logistics stock in the CEE-6 countries remains well below that of a “normal” Western country, so there is still a lot of room to grow over the medium term. A country’s economic momentum as well as its infrastructure dictate how fast each market will grow.

The line between brick-and-mortar stores and e-commerce is blurring, as more and more players have integrated both into their business models, with many trying to optimize the customer experience through the omnichannel approach. Interestingly enough, with the exception of Hungary (which has a smaller share), around one in two people in the CEE-6, if not more in some countries, will not shop only online because they would rather see the product before they make the purchase. Nevertheless, this (possibly) cultural reluctance to shop online is exactly why a BOPIS (buy online, pick up in-store) may work quite well in the CEE.

Colliers consultants believe that we will see a significant decrease in investment market turnover and a more opportunistic approach to deal-making in the following period. A period of price discovery is beginning and investors will not want to be locked in a project at a yield that’s suddenly become too low given the current realities. Under these circumstances, market participants would expect yields to continue to move north, at least slightly in some submarkets, as major central banks (particularly the ECB) are not yet done with tightening.

The residential sector will experience profound changes, and Colliers consultants expect things to accelerate on the rental side in 2023. Unless the economic conditions do not turn particularly nasty over the next few years, prices should not drop too much, even as higher interest rates reduce the number of potential buyers; this is because residential prices in the region are much closer to fair value than they were in the past. Still, fewer buyers will mean that more people consider renting. The private rental sector was just starting to become interesting for investors and developers in recent years, with Poland clearly ahead of the pack in the CEE-6 region, but other countries will follow much faster given the new reality.


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:5atYAlDJ0YIecELI2m0dz1YrCetJjQSni3Oi57TV"
      1 => 7200
      2 => "s:323:"a:4:{s:6:"_token";s:40:"pZ5joLR65FOsg6qf4ao8InsqiJPuaT072e0JLvx9";s:9:"_previous";a:1:{s:3:"url";s:128:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549";}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:5atYAlDJ0YIecELI2m0dz1YrCetJjQSni3Oi57TV"
      1 => 7200
      2 => "s:323:"a:4:{s:6:"_token";s:40:"pZ5joLR65FOsg6qf4ao8InsqiJPuaT072e0JLvx9";s:9:"_previous";a:1:{s:3:"url";s:128:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549";}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:5atYAlDJ0YIecELI2m0dz1YrCetJjQSni3Oi57TV"
      1 => 7200
      2 => "s:323:"a:4:{s:6:"_token";s:40:"pZ5joLR65FOsg6qf4ao8InsqiJPuaT072e0JLvx9";s:9:"_previous";a:1:{s:3:"url";s:128:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549";}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. "5atYAlDJ0YIecELI2m0dz1YrCetJjQSni3Oi57TV"
    
  2. "a:4:{s:6:"_token";s:40:"pZ5joLR65FOsg6qf4ao8InsqiJPuaT072e0JLvx9";s:9:"_previous";a:1:{s:3:"url";s:128:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549";}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. "5atYAlDJ0YIecELI2m0dz1YrCetJjQSni3Oi57TV"
    
  2. "a:4:{s:6:"_token";s:40:"pZ5joLR65FOsg6qf4ao8InsqiJPuaT072e0JLvx9";s:9:"_previous";a:1:{s:3:"url";s:128:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549";}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. "5atYAlDJ0YIecELI2m0dz1YrCetJjQSni3Oi57TV"
    
  2. "a:4:{s:6:"_token";s:40:"pZ5joLR65FOsg6qf4ao8InsqiJPuaT072e0JLvx9";s:9:"_previous";a:1:{s:3:"url";s:128:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549";}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: "/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
      #requestUri: "/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
      #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: "/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
      #requestUri: "/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
      #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: "/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
      #requestUri: "/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
      #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
"eyJpdiI6IlwvZjhSWWFoaEJtM0VZdGdtZ0xYVHZnPT0iLCJ2YWx1ZSI6ImdHaGRrTjM2OXRWSFdqXC9RWHVBMUhUWEczMXk0ZENwNmRpQVNjb0c3K3BmaWxvd3ZTc2VTcWk3aUxEdUZvTjl4IiwibWFjIjoiMDM0NjlkOGJlYTBjNmNjMmRjMDRhNDAwN2EzY2RkNjhkNzQyM2FiOGEwZTdiNGRjNDQxMzRhZGQwOTMyYWVkMSJ9"
laravel_session
"eyJpdiI6Ik9oK0gwWnZCZzhydlpoeVdTNW1Ganc9PSIsInZhbHVlIjoic05nVnhzNnNpdE53dGtVb0VOTldRS2pRWmhcL1l2TU1PSmRnKzZwaXhPaTJGdUJZZ01ZVE9adnIzWWVsUkNFbDAiLCJtYWMiOiI5NDBmZDA2MTk4MzRjYTA4ZTlmMmEyM2M3M2ZkMWRjNDg5OWUxZjQzN2I2MDhlYWRjNDVmMGZmMWQ4NjM3MmMxIn0="
lang
"eyJpdiI6Ik9NMVwvWVB3ZjgrbVNmYlNuV21FdlBnPT0iLCJ2YWx1ZSI6Ik1RUFpMcE5QeDF0Y294TkhPMGpobEE9PSIsIm1hYyI6ImY4MDE0YTZkMDBmODIwMTcxN2IzZmMzZGZlZjZjNWJmYzAxNzVlYWE4MTM5ODdkMTQyOGJjNDNmOTIwNmRkZGEifQ=="
empty
Key Value
REDIRECT_UNIQUE_ID
"aQmvDKwfEagAAE5RpFEAAAAK"
REDIRECT_SCRIPT_URL
"/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
REDIRECT_SCRIPT_URI
"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aQmvDKwfEagAAE5RpFEAAAAK"
SCRIPT_URL
"/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
SCRIPT_URI
"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
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=eyJpdiI6IlwvZjhSWWFoaEJtM0VZdGdtZ0xYVHZnPT0iLCJ2YWx1ZSI6ImdHaGRrTjM2OXRWSFdqXC9RWHVBMUhUWEczMXk0ZENwNmRpQVNjb0c3K3BmaWxvd3ZTc2VTcWk3aUxEdUZvTjl4IiwibWFjIjoiMDM0NjlkOGJlYTBjNmNjMmRjMDRhNDAwN2EzY2RkNjhkNzQyM2FiOGEwZTdiNGRjNDQxMzRhZGQwOTMyYWVkMSJ9; laravel_session=eyJpdiI6Ik9oK0gwWnZCZzhydlpoeVdTNW1Ganc9PSIsInZhbHVlIjoic05nVnhzNnNpdE53dGtVb0VOTldRS2pRWmhcL1l2TU1PSmRnKzZwaXhPaTJGdUJZZ01ZVE9adnIzWWVsUkNFbDAiLCJtYWMiOiI5NDBmZDA2MTk4MzRjYTA4ZTlmMmEyM2M3M2ZkMWRjNDg5OWUxZjQzN2I2MDhlYWRjNDVmMGZmMWQ4NjM3MmMxIn0%3D; lang=eyJpdiI6Ik9NMVwvWVB3ZjgrbVNmYlNuV21FdlBnPT0iLCJ2YWx1ZSI6Ik1RUFpMcE5QeDF0Y294TkhPMGpobEE9PSIsIm1hYyI6ImY4MDE0YTZkMDBmODIwMTcxN2IzZmMzZGZlZjZjNWJmYzAxNzVlYWE4MTM5ODdkMTQyOGJjNDNmOTIwNmRkZGEifQ%3D%3D"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_REFERER
"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/549/colliers-top-10-predictions-for-cee-6-in-2023"
HTTP_HOST
"ec2-3-72-183-126.eu-central-1.compute.amazonaws.com"
HTTP_VIA
"1.1 squid-proxy-5b5d847c96-rm7v8 (squid/6.13)"
HTTP_X_FORWARDED_FOR
"10.3.71.176"
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
"ec2-3-72-183-126.eu-central-1.compute.amazonaws.com"
SERVER_ADDR
"172.31.17.168"
SERVER_PORT
"80"
REMOTE_ADDR
"216.73.216.5"
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
"21060"
REDIRECT_URL
"/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/en/blog/real-estate/colliers-top-10-predictions-for-cee-6-in-2023-549"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1762242316.783
REQUEST_TIME
1762242316
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