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

Uma agem aérea e vários destinos: stopover é febre entre viajantes

Thinkstock
Imagem: Thinkstock

Renê Castro

Colaboração para o UOL

16/01/2018 04h00

Escolher um trecho aéreo com conexão deixou de ser um transtorno na viagem. Pelo contrário: é uma ótima ideia aproveitar a parada para explorar novas cidades. Tudo isso graças a um programa chamado stopover, que já existe há algum tempo em várias companhias aéreas, mas que ganhou os holofotes em 2017 e promete manter-se em alta este ano.

Funciona assim: você tem a opção de fazer uma parada voluntária de mais de 24 horas em um aeroporto no país de origem da companhia aérea, antes de embarcar para o destino final. A grande vantagem está no fato de poder conhecer uma ou mais cidades pagando o mesmo valor de um voo comum.  O tempo de conexão pode variar de um a cinco dias, dependendo da companhia.

Por exemplo: você vai para Paris, na França, mas tem interesse também por Lisboa, em Portugal. Com o stopover, é possível sair do Brasil com um bilhete aéreo para a capital sa, já prevendo uma parada longa em Lisboa. Assim, você a uma ou mais noites na capital portuguesa e depois retorna ao aeroporto para seguir viagem. Há hotéis parceiros do programa que oferecem descontos nas diárias, também. 

Veja também

 

Por onde começar?

No site da companhia aérea, simule o voo desejado e escolha o item stopover para acrescentar a parada. A opção pode estar descrita como multi-city, múltiplos destinos ou múltiplas cidades. O procedimento é o mesmo nas agências de viagens virtuais, e você pode fazer a mesma coisa em uma agência tradicional.

O stopover é um serviço sem custo adicional, ou seja, caso o trecho escolhido tenha ficado mais caro do que o voo tradicional, verifique se as regras do programa estão sendo respeitadas, como disponibilidade de assentos no período escolhido, tempo de permanência no destino intermediário, classe tarifária, número de conexões etc. O único valor adicional que pode ser acrescentado ao bilhete stopover é referente à taxa aeroportuária do local onde será realizada a parada. Fique de olho!

Não existe a modalidade para viagens dentro do Brasil, mas nada impede você de selecionar um voo doméstico com conexão longa e curtir algumas horas em alguma cidade de interesse. Para isso, basta verificar a disponibilidade junto à companhia aérea e, claro, ficar de olho no valor final do bilhete. 

Presente, viagem, avião, aporte, agem aérea, programa de fidelidade, programa de pontos, milhas - Getty Images/iStockphoto/george tsartsianidis - Getty Images/iStockphoto/george tsartsianidis
Imagem: Getty Images/iStockphoto/george tsartsianidis

Você pode usar milhas

Vários programas de milhagens aceitam o stopover. Esta informação, porém, nem sempre está disponível de forma clara ou com fácil o nos sites de reservas. O mais indicado é entrar em contato pela central de atendimento da companhia para fechar o negócio. Como não há padronização na utilização dos pontos ou milhas, informe-se sobre as regras e políticas de utilização para não ter surpresas desagradáveis no balcão de embarque.

Muitas combinações

Com a total adesão das companhias aéreas ao programa (e as centenas de acordos que existem entre elas), fazer combinações de rotas é fácil e empolgante. É possível, por exemplo, viajar para os Estados Unidos e fazer uma parada no Panamá; voar até a Espanha antes de curtir a Holanda; fazer uma parada estratégia na França e seguir para o Reino Unido. Opções não faltam. Para facilitar a busca, reunimos abaixo uma lista com as principais companhias aéreas internacionais que atuam com stopover e quais seriam as paradas previstas no programa.

Aerolíneas Argentinas (Buenos Aires)
Aeroméxico (Cidade do México)
Alitalia (Roma)
Air Canada (Toronto)
Air China (Beijing ou Xangai)
Air  (Paris)
American  Airlines (Miami, Nova York, Dallas ou Los Angeles)
Avianca (Bogotá)
British  Airways (Londres)
Copa Airlines (Panamá)
Delta Airlines (Detroit ou Nova York)
Emirates (Dubai)
Etihad  Airways (Abu Dhabi)
Ethiopian  Airlines (Adis Abeba)
Iberia (Madrid)
Icelandair (Reykjavík)
Japan  Airlines (Tóquio ou Osaka)
KLM (Amsterdã)
LATAM (Santiago, Assunção, Montevidéu, Rosário, Córdoba, Buenos Aires, Bogotá ou Lima)
Qantas (Sidney)
Qatar Airways (Doha)
Royal  Air  Maroc (Casablanca)
Singapore  Airlines (Cingapura)
South  African  Airways (Johanesburgo)
Swiss (Zurique)
TAP (Porto ou Lisboa)
Turkish  Airlines (Istambul)
United  Airlines (Nova York, Washington, Chicago ou Houston)

aporte, dinheiro, viagem, economia, dolar, turismo, finanças, viajar, óculos de sol, mapa múndi, globo - Getty Images/iStockphoto - Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Dicas extras

  1. Faça um bom planejamento: defina o orçamento de viagem, traçar o o a o do roteiro, pontos de interesse, tempo necessário nas atrações e quais serviços de viagem serão utilizados (hotel, transporte, eios, câmbio...).
     
  2. Se você já comprou a agem: não se desespere, pois é possível alterar a modalidade do bilhete para o stopover, caso queira, mas há uma taxa adicional cobrada pela companhia aérea.
     
  3. Bagagem: Tenha em mente que a mala terá de ser retirada na parada e que você estará com ela até retornar ao aeroporto, ou seja, nada de exageros. Uma boa ideia é fazer duas malas, uma para a parada e a outra para o destino final. Se precisar, utilize o serviço de guarda-volumes do aeroporto e verifique.
     
  4. Cumprir o itinerário: cuidado ao mudar os planos. Se você quiser ficar no mais tempo no destino de conexão, saiba que abandonar o voo acarreta em cancelamento do bilhete. Ou seja, sua volta estará comprometida.