;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Procon-SP notifica 123 Milhas após reclamações de cancelamento de agens

Renata Fortes, 28 anos, comprou agens na 123 Milhas e não recebeu - Arquivo Pessoal
Renata Fortes, 28 anos, comprou agens na 123 Milhas e não recebeu Imagem: Arquivo Pessoal

Colaboração para o UOL*, em São Paulo

30/08/2022 21h02Atualizada em 31/08/2022 10h32

O Procon-SP (Programa de Proteção de Defesa do Consumidor) notificou a plataforma de viagens 123 Milhas após reportagem do UOL mostrar que clientes com agens compradas no site reclamaram de cancelamento da viagem ou da falta de emissão de bilhetes.

O órgão exige que a empresa preste esclarecimentos até 6 de setembro sobre as denúncias dos consumidores e envie documentos que demonstrem a quantidade de pessoas afetadas, o plano de devolução dos valores pagos pelos clientes lesados e o envio de agens e comunicados a eles.

A 123 Milhas ainda deverá detalhar ao Procon as informações sobre os pacotes de viagens que oferece, especificando os serviços agregados em cada um, e demonstrar a viabilidade do cumprimento contratual do produto "Promo" — tipo de promoção com flexibilidade nas datas de embarque e desembarque, mas de apenas um dia daquele escolhido.

A empresa também deverá enviar documentos que comprovem a divulgação utilizada nos últimos seis meses para a prestação de seus serviços (materiais impressos, mídias e/ou demais canais utilizados).

O órgão de defesa também quer que a plataforma comprove o funcionamento dos canais de atendimento para suprir as demandas operacionais e financeiras dos consumidores.

Em nota enviada ao UOL, a 123 Milhas afirma que os casos "são pontuais" e que irá emitir os bilhetes nas datas solicitadas pelos clientes no ato da compra (leia nota completa ao fim da reportagem).

Consumidores perderam férias e casamento

Os planos frustrados de viagens de clientes que compraram agens pela 123 Milhas, e que afirmam não terem recebido os bilhetes, são dos mais variados. Há consumidores que planejavam viajar para serem padrinhos de casamento, outros queriam participar de concursos, assistir a shows no Rock in Rio ou ainda ir para o exterior.

Em nota encaminhada ao UOL, a 123 Milhas negou cancelamentos "deliberados", diz que houve erro e que "honra todos os compromissos". A empresa justifica que os clientes deveriam preencher um formulário 60 dias antes da data da viagem. "O não preenchimento a tempo implicará o cancelamento do pedido e não emissão da agem", afirmou. A empresa ainda disse que os casos estão sendo tratados com "máxima prioridade".

Consumidores afirmaram ao UOL que responderam ao formulário citado pela 123 Milhas, mas mesmo assim não receberam os bilhetes — a reportagem teve o ao comprovante de recebimento deste formulário, enviado pela empresa.

Já outros afirmam que nunca receberam o documento, mesmo após terem solicitado à empresa e que, por isso, foram impedidos de respondê-lo.

Resposta da 123 Milhas

Em nota encaminhada ao UOL, a 123 Milhas afirma que:

"A 123 Milhas esclarece sobre a notificação divulgada pelo Procon-SP:

  • Todos os casos relatados pelo portal UOL já foram resolvidos.
  • Os casos relatados pelo UOL e outros foram pontuais e decorrentes de uma inconsistência temporária do nosso sistema, e não uma ação deliberada.
  • Todos os clientes da 123 Milhas, conforme as regras do produto, terão seus bilhetes emitidos na data acordada no ato da compra.
  • Os questionamentos do Procon-SP serão respondidos até 06/09/22. Nesta data já não haverá nenhum cliente com prestação de serviço em aberto para os meses de julho, agosto e/ou setembro/22.

A 123 Milhas respeita e ira o Procon-SP no cumprimento das suas funções que muito contribui para o setor turístico brasileiro."

(*Com informações de Hygino Vasconcellos, colaboração para o UOL, em Balneário Camboriú)