FOREIGNERS BUYING PROPERTY IN ROMANIA

17 Martie 2020 • Imobiliare

FOREIGNERS BUYING PROPERTY IN ROMANIA

Who can own property in Romania? (Click to go to source)

It all depends whether you are an EU or non-EU citizen.

EU citizens can own land, apartments or houses in Romania, just like any Romanian citizen. In this respect, you need to obtain a special fiscal identification code (in Romanian “NIF”), which allows you to pay taxes. You can get this from the fiscal authorities (in Ro “ANAF”). However, if you already have a Romanian CNP, you are already registered with ANAF. 

On the other hand, non-EU citizens cannot own land in Romania. Even if you want to own a flat or house without land, in practice they are usually sold together and cannot be separated. 

I am non-EU, what are my options? 

As non-EU, you can own property, including land, through a Romanian company. The fastest solution is to incorporate a limited liability company (in Romanian “SRL”) as sole owner and buy property through it.

Also, if you married to a Romanian or otherwise EU citizens, your spouse can buy property in their own name. Then the real estate will belong to the couple together, as common property obtained during marriage – unless you have a prenup agreement that states otherwise. 

Can I get a bank loan for my real estate purchase? 

When it comes to financing a real estate purchase, you might have a hard time getting a loan if you’re not a Romanian citizen. And it gets usually even more complicated if all your money is obtained from abroad, not from a Romanian employer, in a local bank account.

There is no official legal restriction for lending money to expats, and it all eventually depends on the bank and their internal policy. But, in practice, banks are much more reserved to offer loans in this case, as they are concerned about potentially not getting their money back. 

How can a lawyer help me with my real estate purchase? 

A lawyer can help you with a real estate due-diligence, such as checking land specifications, current and past ownership, preparing a solid sale-purchase agreement and even assisting you with the purchase itself, in front of a public notary – including the negotiation process. This way, you can make sure that your property purchase is safe and legal.

Can foreign EU citizens purchase property in Romania? What about non-EU citizens? (Click to go to source)

There are more and more foreigners interested in purchasing real estate properties in Romania. The question is whether at this time they are able to buy land (or at least other real estate properties such as apartments) directly as in other EU legislations. 

Law No. 312/2005 stipulates the conditions in which European Union citizens (as well as non-EU foreign citizens), are able to purchase Romanian land. 

This is article 4 of the above-mentioned Law translates: “The citizen of a member state without legal residency in Romania, the stateless non-resident having residency in an European Union country and the non-resident foreign legal entity (company) incorporated per the stipulations of the EU legislations, are able to gain ownership on land for secondary residences, respectively secondary headquarters, in a term of 5 years after Romania has joined the European Union”. 

The Law differentiates depending on the type of land. For example the persons or legal entities mentioned above can only gain ownership of Romanian forests, agricultural land after 7 years from the date Romania has joined the EU. (This last stipulation is not applied to foreign farmers who are able to prove their statute as farmers in their home countries). 

What if purchasing an apartment in Romania? 

Buying an apartment in Romania automatically implies buying the adjacent part (a percentage) of the land on which the building stands upon. As a result even if theoretically foreign European Union citizens would be able to acquire apartments directly, practically it is not yet possible without a Romanian company or without having at least legal residency in the country (this is a more recent interpretation of the Law). 

What about non-EU citizens? 

The non-EU-foreign-citizen is able to own real estate properties in Romania in conditions of reciprocity based only on international treaties between the countries; however they cannot acquire ownership of Romanian land in more favorable conditions then citizens of the European Union.

How difficult is the property purchase process in Romania?  (Click to go to source)

Land cannot be bought by foreign nationals, but only by Romanian individuals, and by legal entities, which however includes companies with foreign participation. However with Romania´s accession to the EU in 2007, foreigners will be allowed to purchase land (in 2007). As of now, foreign ownership is only possible (outside of legal entities) through legal inheritance. On the other hand, there are no legal restrictions on foreign ownership of buildings.

Before selling, the seller must present a "certificat fiscal" (fiscal certificate) to attest that the property has been registered with the fiscal authorities ("Circa Financiara"), and that all taxes due are paid. The seller is also expected to present a certificate ("certificat de sarcini") attesting that the property is free from mortgages and other legal encumbrances and that the property does in fact belong to the present owner. 

The notary then draws up a deed of sale ("drept de proprietate").

The notarization of sale and transfer agreement regarding ownership of land is compulsory to make the transaction valid.

The transfer should be then recorded in the Land Register/ Real Estate Register.

Registration of property in Romania requires eight procedures and takes 12 to 25 days to complete.

Romanian housing market growing strongly

Romania's house prices continue to rise strongly. The economy is growing well, but in the context of a worryingly inflationary environment. The government's budget deficit is rising, the trade and current account are deteriorating, and the Romanian Leu (RON) is falling. Politics remain unstable and there are high levels of corruption and popular dissatisfaction.

During 2019, the average selling price of apartments in Romania soared by 8.23% y-o-y (4.02% inflation-adjusted) to €1,341 (US$ 1,488) per square metre (sq. m.), following y-o-y rises of 6.44% in 2018, 10.86% in 2017, 10.41% in 2016 and 6.73% in 2015, based on the figures from imobiliare.ro. 

During the latest quarter nationwide house prices rose by 5.42% (4.45% inflation-adjusted) (q-o-q) in Q4 2019. 

All major cities in the country saw house price rises during 2019: 

  • In Bucharest the average selling price of apartments rose by 5.84% (1.73% inflation-adjusted) y-o-y to €1,413 (US$ 1,568) per sq. m.
  • In Cluj-Napoca, Romania's fourth most populous city, apartment prices rose sharply by 10.1% (5.82% inflation-adjusted) y-o-y to €1,712 (US$ 1,900) per sq. m.
  • In Constanta, the country's oldest city, apartment prices rose by 8.33% (4.11% inflation-adjusted) to €1,210 (US$ 1,343) per sq. m.
  • In Timisoara, the average selling price of apartments went up by 5.47% (1.37% inflation-adjusted) to €1,273 (US$ 1,413) per sq. m.
  • In Brasov, the average selling price of apartments rose by 6.9% (2.74% inflation-adjusted) to €1,178 (US$ 1,307) per sq. m.

Demand remains strong. In the third quarter of 2019, the demand for residential dwellings in Romania's six biggest cities surged 16% y-o-y to about 175,000 units, according to real estate intelligence platform AnalizeImobiliare. This is in line with figures released by the National Agency for Cadastre and Real Estate Advertising, which showed that the total number of real estate sales transactions in Romania rose by 11% y-o-y to 382,996 units in the first three quarters of 2019.

Yet residential construction was almost steady. In the first eleven months of 2019, the total number of residential building permits in Romania fell slightly by 1.5% to 39,359 units from a year earlier, according to the National Institute of Statistics (INS). The area of residential building permits issued increased marginally by 0.6% y-o-y to 10.02 million sq. m. in Jan-Nov 2019. 

Romania house prices 

Romania's GDP grew by 4.1% in 2019, following y-o-y expansions of 4% in 2018, 7% in 2017, 4.8% in 2016, 3.9% in 2015 and 3.4% in 2014, according to the European Commission (EC). The government targets economic growth of 4.1% this year.

There are no restrictions on foreign nationals acquiring dwellings in Romania. Ownership of land is tricky, but companies incorporated in Romania as well as resident foreign nationals and non-resident EU citizens can acquire land.


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:281:"a:4:{s:6:"_token";s:40:"HC7JRT08ZB3Cgy1pOGco0fP5YK71TqGm9iMNlr1v";s:9:"_previous";a:1:{s:3:"url";s:87:"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277";}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:281:"a:4:{s:6:"_token";s:40:"HC7JRT08ZB3Cgy1pOGco0fP5YK71TqGm9iMNlr1v";s:9:"_previous";a:1:{s:3:"url";s:87:"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277";}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:281:"a:4:{s:6:"_token";s:40:"HC7JRT08ZB3Cgy1pOGco0fP5YK71TqGm9iMNlr1v";s:9:"_previous";a:1:{s:3:"url";s:87:"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277";}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:"HC7JRT08ZB3Cgy1pOGco0fP5YK71TqGm9iMNlr1v";s:9:"_previous";a:1:{s:3:"url";s:87:"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277";}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:"HC7JRT08ZB3Cgy1pOGco0fP5YK71TqGm9iMNlr1v";s:9:"_previous";a:1:{s:3:"url";s:87:"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277";}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:"HC7JRT08ZB3Cgy1pOGco0fP5YK71TqGm9iMNlr1v";s:9:"_previous";a:1:{s:3:"url";s:87:"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277";}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/foreigners-buying-property-in-romania-277"
      #requestUri: "/blog/imobiliare/foreigners-buying-property-in-romania-277"
      #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/foreigners-buying-property-in-romania-277"
      #requestUri: "/blog/imobiliare/foreigners-buying-property-in-romania-277"
      #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/foreigners-buying-property-in-romania-277"
      #requestUri: "/blog/imobiliare/foreigners-buying-property-in-romania-277"
      #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
"eyJpdiI6IjRlVnUxeldJUlpGRlQ4Y3VLRGNveXc9PSIsInZhbHVlIjoiSktSbDdFcDNTQmJwWlU0bHFRNkF0ckVBWU9GYjRiZ0Uwa2I1eFh6Zks0T0xjOXpYUEozbWhWRTJxTEVmaUlCSyIsIm1hYyI6ImIzZmM4YWRjNzMxODY5ZTUxYzM1NTBkZTNhNzJjYjkwOTdmM2M0ZDlmMTY2ZjRiZjM4MTlkMmE4MTA0ZjRkNmIifQ=="
lang
"eyJpdiI6ImR6TjNsb3lCdjhvcEs3VFd5djNpamc9PSIsInZhbHVlIjoiUCtzUmJNNzdPV2NEVWJHRmJEYmRhdz09IiwibWFjIjoiYzJiMjA4OWEwMGI0ZGNiOGQyZjM2NTYyZmMzNDdiZDhhNTk3MzRiMmQ5MTBiM2RlOTgwM2NhNDE3YmZkNDg4ZCJ9"
XSRF-TOKEN
"eyJpdiI6ImZyb0F2WXNQQUp0WVRJMjZqeW9welE9PSIsInZhbHVlIjoiOU9wRDFRcTQySG0xU0FJQ25DRDFEWHhkSENEVVhUSjZcL0pPMTM1S0xkMUwwT1g5TFpwcHAxRk81dTZcL0lneXYwIiwibWFjIjoiYzNhYjkyY2QwOTY4NmIwYjI0NDA5NDNmOTA2YjYxMGE4MDc2ZWRhMjNjNWJjYTNhYmI4MzM1ZDQ2YTBjYTE3ZCJ9"
empty
Key Value
REDIRECT_UNIQUE_ID
"aMYklawfEagAAEB-5h4AAAAG"
REDIRECT_SCRIPT_URL
"/blog/imobiliare/foreigners-buying-property-in-romania-277"
REDIRECT_SCRIPT_URI
"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aMYklawfEagAAEB-5h4AAAAG"
SCRIPT_URL
"/blog/imobiliare/foreigners-buying-property-in-romania-277"
SCRIPT_URI
"http://dev.blissimobiliare.ro/blog/imobiliare/foreigners-buying-property-in-romania-277"
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=eyJpdiI6IjRlVnUxeldJUlpGRlQ4Y3VLRGNveXc9PSIsInZhbHVlIjoiSktSbDdFcDNTQmJwWlU0bHFRNkF0ckVBWU9GYjRiZ0Uwa2I1eFh6Zks0T0xjOXpYUEozbWhWRTJxTEVmaUlCSyIsIm1hYyI6ImIzZmM4YWRjNzMxODY5ZTUxYzM1NTBkZTNhNzJjYjkwOTdmM2M0ZDlmMTY2ZjRiZjM4MTlkMmE4MTA0ZjRkNmIifQ%3D%3D; lang=eyJpdiI6ImR6TjNsb3lCdjhvcEs3VFd5djNpamc9PSIsInZhbHVlIjoiUCtzUmJNNzdPV2NEVWJHRmJEYmRhdz09IiwibWFjIjoiYzJiMjA4OWEwMGI0ZGNiOGQyZjM2NTYyZmMzNDdiZDhhNTk3MzRiMmQ5MTBiM2RlOTgwM2NhNDE3YmZkNDg4ZCJ9; XSRF-TOKEN=eyJpdiI6ImZyb0F2WXNQQUp0WVRJMjZqeW9welE9PSIsInZhbHVlIjoiOU9wRDFRcTQySG0xU0FJQ25DRDFEWHhkSENEVVhUSjZcL0pPMTM1S0xkMUwwT1g5TFpwcHAxRk81dTZcL0lneXYwIiwibWFjIjoiYzNhYjkyY2QwOTY4NmIwYjI0NDA5NDNmOTA2YjYxMGE4MDc2ZWRhMjNjNWJjYTNhYmI4MzM1ZDQ2YTBjYTE3ZCJ9"
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
"59074"
REDIRECT_URL
"/blog/imobiliare/foreigners-buying-property-in-romania-277"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/blog/imobiliare/foreigners-buying-property-in-romania-277"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1757815957.643
REQUEST_TIME
1757815957
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