;(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

Câmara aprova emenda que traz de volta o despacho gratuito de bagagem

Maioria dos parlamentares da casa acredita que as bagagens cobradas à parte não baratearam as agens aéreas - Getty Images/iStockphoto
Maioria dos parlamentares da casa acredita que as bagagens cobradas à parte não baratearam as agens aéreas Imagem: Getty Images/iStockphoto

De Nossa

27/04/2022 11h55

A Câmara dos Deputados aprovou nesta terça-feira (26) uma emenda à Medida Provisória 1089/21 que reestabelece o despacho gratuito de bagagens.

O texto agora segue para avaliação do Senado e, caso seja aprovado, deverá ser encaminhado para sanção ou veto presidencial.

De acordo com a Agência Câmara de Notícias, a deputada Perpétua Almeida (PCdoB - AC), autora da emenda, acredita que os deputados foram enganados quando eliminaram a obrigatoriedade de que as companhias aéreas oferecessem o serviço gratuitamente aos ageiros.

"As empresas não foram verdadeiras quando afirmaram que iam baixar o preço da agem se nós permitíssemos aqui a cobrança [à parte] da bagagem. A maioria desta Casa permitiu, com o protesto de um número expressivo de parlamentares, e agora todos viram que foram enganados", salientou durante a sessão.

Parlamentares como o relator General Peternelli (União Brasil - SP) fizeram ressalvas ao texto aprovado. Ele acredita que, caso os despachos gratuitos se tornem novamente a regra, o custo será reado ao consumidor com aumento de agens aéreas.

"Nós vamos ter que fazer o cálculo da agem incluindo a pessoa e a bagagem e isso vai invialbilizar o transporte entre cidades pequenas, porque não vai caber todas as bagagens de 23 kg", opinou.

O deputado se refere à regra da MP que inclui no Código de Defesa do Consumidor a proibição de que as companhias aéreas cobrem taxas, em voos nacionais, pelo despacho de bagagens de até 23 kg, e em voos internacionais, pelo despacho de bagagens de até 30 kg.

Companhias poderão criar lista de ageiros "barrados"

De acordo com a emenda aprovada, tanto as aéreas como empresas intermediárias que comercializam as agens — como agências e aplicativos de viagem — devem fornecer às autoridades federais competentes as informações pessoais de ageiros.

Tais dados também poderão ser compartilhados entre as companhias em caso de indisciplina consideradas "gravíssimas" de viajantes, como casos de agressões a tripulantes e funcionários reportados durante voos na pandemia.

O relator ainda incorporou ao texto uma permissão para que as empresas deixem de vender bilhetes a ageiros que tenham cometido estas infrações por até 12 meses, seguindo um regulamento que também deverá prever o tratamento dispensado ao viajante no momento da indisciplina.

Se aprovadas pelo Senado e pelo presidente, as restrições de venda não valerão, no entanto, para ageiros em "cumprimento de missão de Estado", como policiais ou militares.