;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Turismo vai movimentar R$ 8 bilhões no carnaval 2020, estima CNC

O Bloco Desliga da Justiça é um doa mais famosos do RJ - Reprodução/ Facebook
O Bloco Desliga da Justiça é um doa mais famosos do RJ Imagem: Reprodução/ Facebook

Agência Brasil

03/02/2020 18h08

As atividades turísticas relacionadas ao carnaval deverão alcançar o maior o volume de receitas desde 2015, informou hoje (3) a Confederação Nacional do Comércio de Bens, Serviços e Turismo (CNC). Este ano, a CNC estima que o faturamento no carnaval deverá ser de cerca de R$ 8 bilhões, um aumento real de 1% em relação ao ano ado.

Segundo a confederação, a recuperação gradual da atividade econômica, combinada à inflação baixa, sugere um cenário positivo, com retomada moderada dos serviços turísticos. "Nos meses que antecedem o carnaval, a taxa de câmbio teve uma desvalorização de 10% ante o mesmo período de 2019, estimulando, portanto, gastos com turismo no território nacional, em 2020", disse, em nota Fabio Bentes, economista da CNC responsável pela pesquisa. Ele destacou que esses fatores devem favorecer um maior fluxo interno de turistas neste ano.

Os segmentos especializados em alimentação fora do domicílio, como bares e restaurantes, devem movimentar R$ 4,8 bilhões, as empresas de transporte de ageiros rodoviários, aéreo e de locação de veículos rodoviários, R$ 1,3 bilhão, e os serviços de hospedagem em hotéis e pousadas, R$ 861,3 milhões. Eles responderão por mais de 88% de toda a receita gerada com o carnaval.

"Alimentação se destaca, nesse caso, pois é setor que mais gera movimento, de fato, durante os dias de carnaval, enquanto os serviços de transporte e hospedagem registram maior atividade nos meses que antecedem a data", explicou Bentes.

Carnaval de rua em Ipanema, no Rio de Janeiro - Getty Images/iStockphoto - Getty Images/iStockphoto
Carnaval de rua em Ipanema, no Rio de Janeiro
Imagem: Getty Images/iStockphoto

Rio de Janeiro, com faturamento previsto de R$ 2,32 bilhões, São Paulo, R$ 1,95 bilhão, e Bahia com R$ 1,13 bilhão, tendem a concentrar mais da metade da movimentação financeira durante o período. Em termos relativos, a maior taxa de crescimento real de receitas deverá ocorrer em São Paulo, alta de 5,4%, e Pernambuco, 3,2%.

Contratação

Para atender ao aumento sazonal de demanda, a CNC estima a contratação de 25,4 mil trabalhadores temporários em janeiro e fevereiro, o que corresponde a 2,8% a mais do que no carnaval de 2019, com contratação de 24,7 mil temporários. Com aproximadamente 18,2 mil vagas oferecidas, o segmento de serviços de alimentação deverá proporcionar cerca de 71% das oportunidades de emprego.

Se confirmada a previsão, a oferta de empregos por parte das atividades que compõem a pesquisa alcançaria, em 2020, o maior contingente de temporários desde 2014, de 55,6 mil postos de trabalho. Naquele ano, a proximidade entre o carnaval, que ocorreu em março, e a Copa do Mundo, em junho, estimulou a contratação de um contingente elevado de trabalhadores temporários.

De acordo com a CNC, as dez profissões mais demandadas nos serviços turísticos devem responder por 63% das vagas oferecidas, com destaque para as profissões tradicionalmente ligadas aos segmentos de alimentação fora do domicílio, transportes e hospedagem.