Não tenho certeza se existem ferramentas para obter o resultado diretamente de uma forma facilmente compreensível, mas se não, o procedimento para fazer isso "manualmente" seria o seguinte (estou considerando que você está realmente voltando para a cidade de partida):
-
Descubra a tarifa mais barata para toda a viagem. Você pode usar ferramentas como o ExpertFlyer para procurar tarifas.
Note que, no seu caso, ele precisará ser uma tarifa de sua origem para um dos dois "destinos", o que permite o roteamento por meio do outro destino, bem como pelo menos uma escala. Isso eliminará rapidamente muitas das tarifas mais baratas. Você também pode ter algumas outras regras (datas de validade, duração mínima / máxima ...) que podem restringir ainda mais as tarifas aplicáveis.
-
Depois de encontrar as tarifas válidas, confira a classe de reserva associada para cada uma delas (a primeira letra do código da tarifa).
-
Para cada um dos voos, verifique a disponibilidade nessas classes (para essa companhia aérea) em um intervalo de datas. Novamente, ferramentas como
Expertflyer
permitem que você faça isso. Depois de encontrar uma sequência de voos disponíveis com a turma certa, você poderá reservar a viagem inteira nessas datas. Se não houver disponibilidade, comece novamente com a próxima tarifa mais alta.
Observe que você também pode considerar reservar os voos de forma independente (ou uma combinação de dois ingressos). Em alguns casos, você pode até economizar fazendo uma série de voos de retorno, mesmo que não use o retorno.
Em suma, um pouco de trabalho, de fato.