Como restauramos a programação de ônibus interurbanos



Como em todos os mercados normais, as passagens de ônibus são vendidas on-line há alguns anos. Não é necessário fazer fila no caixa da estação de ônibus para receber um recibo. Na Rússia, até 60% das rotas (em dias melhores, a estimativa é um pouco confusa, considerando vôos cinzentos) podem ser compradas on-line. Inclusive nós, Tutu.

A primeira coisa que queríamos era fazer a programação on-line também e possibilitar a compra de uma passagem em alguns cliques. Estamos acostumados a resolver esses problemas e, de alguma forma, comemos o cachorro no transporte ferroviário. Os ônibus à primeira vista não pareciam muito complicados. É apenas negócio - negociar com os sistemas de automação das rodoviárias, descarregar seus voos por meio da API e pentear um pouco.

Trabalho fácil, eles disseram. Um projeto por alguns dias, disseram eles.

Nossos equívocos:

1. Todas as estações de ônibus no país são automatizadas.
2. Ok, a maioria é automatizada.
3. A contabilidade em um notebook não é realizada em nenhum outro lugar.
4. Ok, mas há sempre uma maneira de saber a programação remotamente.
5. Aqueles que são automatizados mostram a mesma rota igualmente.
6. Ok, pelo menos aqueles que são automatizados pelo mesmo sistema mostram igualmente a mesma rota.
7. Ok, onde não há automação, pelo menos há um cronograma.
8. Bem, deve haver um horário, porque sem ele apenas tráfego ilegal!
9. Tráfego ilegal não é suficiente.
10. Ok, existem menos de 10% do mercado.
11. Um bilhete pode ser comprado ali mesmo e de volta.
12. Não há rotas de mão única.
13. Bem, pelo menos os ônibus estão voltando! Era uma vez ...
14. Não é possível deixar 300 ônibus para outra cidade em um ano e não retornar.
15. As paradas têm nomes únicos diferentes.
16. Não haverá problemas com uma parada chamada “Turn” ou “Reabastecer”.
17. As paradas na região têm nomes diferentes.
18. Não haverá problemas com uma parada com o nome "Rota".
19. As paradas na cidade têm nomes diferentes.
20. Uma parada pode ter apenas um nome.
21. Ok, não mais que cinco nomes alternativos.
22. Esses aliases também são bastante únicos.
23. Em qualquer caso, as paradas nos documentos oficiais têm coordenadas.
24. Ok, a parada é pelo menos indicada com a cidade / região.
25. Quando há um horário para uma parada, sabe-se de onde veio e para onde o ônibus irá.
26. Ok, isso sempre pode ser encontrado nos documentos.
27. Droga, pelo menos há uma programação para uma parada específica!
28. A rota cidade A - cidade B é do centro para o centro.
29. Bem, pelo menos ele leva à cidade de B.
30. Bem, pelo menos uma vez ele levou à cidade de B.
31. Os ônibus não podem pegar e desaparecer no meio da rota.
32. Um voo em um horário específico = um ônibus.
33. Um ônibus não pode se mover mais rápido que 120 quilômetros por hora.
34. O centro da cidade é um ponto compreensível.
35. Ok, esta é pelo menos a principal estação de ônibus.
36. Ok, isso é pelo menos algum tipo de estação de ônibus.
37. Ok, pelo menos na cidade.
38. Não é possível que o horário seja único, mas a resposta do sistema da estação para um voo específico é diferente.
39. Se você puder comprar um bilhete lá, na chegada poderá comprar um retorno.
40. Os bilhetes de ida e volta custam o mesmo.
41. Bem, eles não podem diferir no preço pela metade.

Esta é a principal coisa. Todos os dias complementamos esta lista com pequenas coisas novas. Agora vamos conversar um pouco mais. No início - sobre a base do básico, voos oficiais.

O que é um voo cinza?


Existem diferentes trens nas ferrovias, diferentes transportadoras e trens competem ativamente entre si. Mas quando você compra um bilhete, você o compra em uma única janela, porque a infraestrutura se resume a Russian Railways. Seus trilhos são seu padrão, eles não serão capazes de entrar em colapso.

Já existe uma ordem de magnitude de mais transportadoras na aviação, mas existem grandes nós - aeroportos, padrões comuns e um único sistema de informação (mais precisamente, vários), nos quais existem identificadores exclusivos elementares para cada nó.

A informatização chegou aos ônibus há muito tempo, mas o mercado, em termos de TI, é semelhante a um ornitorrinco. São mil estações de ônibus e dez mil transportadoras. Sim, existem grandes grupos como o Mostransavto, mas também existem IPs com um barramento enferrujado. Até pequenas estações de ônibus nas aldeias têm seus próprios padrões.

E o mais engraçado: se não houver transportes ilegais nas ferrovias e no ar, o mercado de ônibus ainda estará em grande parte "cinza". Estou falando de uma "parada em um posto perto da estação de ônibus" para pegar mais passageiros e de microônibus nos serviços de companheiros de viagem, por exemplo.

Se o condutor do vagão pegar os passageiros em troca de dinheiro na estação e os colocar em seu compartimento - é claro que esse é um transporte cinza. Mas o vôo em si não é "cinza". E no transporte de ônibus, a rota e o horário são importantes. Se você pegar seu ônibus e transportar passageiros para algum lugar, este será um voo único feito sob medida (fretar um ônibus, algo como um fretamento em que a lista de passageiros é conhecida antecipadamente) ou transporte não comercial (ônibus para shopping centers ou ônibus para escritórios) do metrô).

Conseguiu amigos na Gazelle e dirigiu até a casa - você não tem o direito de vender ingressos. Ou pague uma multa de cerca de 200 mil rublos ao transportador da entidade legal.

Um voo "cinza" é algo que se parece com um voo personalizado, mas não é (venda ilegal de passagens) ou é apenas uma viagem não documentada com passageiros, que logicamente deve ser gratuita, mas, na realidade, o motorista coleta dinheiro para bilhetes e não emite nenhum documento justificativo.

E um vôo "cinza" também pode ser implementado usando a infraestrutura da estação de ônibus, embora nos últimos tempos tenha havido menos casos assim. É quando os passageiros pousam legalmente, mas o desembarque está em um ponto de parada ilegal.

Se algo acontecer com você durante um voo cinza, este é seu problema. No caso do funcionário, este é um problema de transportadora. Note-se que o horário de operação e lazer da transportadora cinza não é regulamentado. Além disso, o motorista "cinza" não é submetido a exame médico antes da viagem.

O que é uma "compra de ingresso online"?


Quando a Rússia ousadamente entrou na era digital, a mão invisível do mercado mostrou que era necessário vender ingressos online. É elementar mais lucrativo para as estações de ônibus.

No entanto, como o mercado é fragmentado, em regra, as seguintes entidades entram em jogo - agregadores. Existem vários sistemas principais de bilhética e dezenas de sistemas menores. E a rodoviária pode adquirir seu próprio sistema de informações e tentar alterar de alguma forma os dados do grande.

Os três maiores players de automação na Rússia são E-tráfego, KVC e Avibus. Eles automatizam a rodoviária e permitem que você abra a API para agregadores, se a rodoviária ou a transportadora não se importar. Através de seus sistemas, você pode obter as passagens da rodoviária ou da transportadora. Por exemplo, o Buses of the Big Country nos dá acesso direto às suas rotas - é assim que o trabalho é construído diretamente com os maiores players. Mas com os empreendedores que compraram um ônibus nos anos 80 e viajam, as coisas não funcionam dessa maneira. Ou existem operadoras que trabalharam bem por 40 anos sem a Internet e não entendem por que ela é necessária. Com todas as tentativas de reunir todos eles em uma associação (lembrem-se, são dezenas de milhares de entidades legais e empreendedores individuais), todos se perguntam amigavelmente e sinceramente por que isso é necessário.

Trabalhamos especificamente com pequenas transportadoras por meio de um agregador que coleta seus voos no nível das estações de ônibus de partida.

O próximo grande freio no mercado são os requisitos para imprimir um bilhete (mais precisamente, um recibo de rota). Você pode entrar no trem com registro eletrônico apenas com um passaporte na mão. Você receberá uma passagem de avião em qualquer lugar do aeroporto antes do embarque. Mas no ônibus - procure uma impressora, as estações de ônibus nem sempre fornecem esses serviços. Felizmente, aqui o papel deve ser derrotado exatamente como foi derrotado na ferrovia. Com o tempo.

Agora sangue e lágrimas


Os sistemas de automação, mesmo os maiores, funcionam muito localmente. Ou seja, eles automatizam a cidade, na melhor das hipóteses, a região. Então, se possível, vá para os vizinhos.
Portanto, todos os sistemas usam uma estrutura de dados geográficos muito simples (ou de nenhum uso). Pode não haver esse parâmetro na parada, como coordenadas, a região / região / região também costuma estar ausente.

Isso significa que, assim que você misturar dados de dois sistemas, por exemplo, para poder comprar uma passagem de ida e volta na rota inter-regional, é necessário trazer todos os dados das paradas para um formulário.

Como resultado, tivemos que escrever nossa própria geobase com a estrutura e o conjunto de dados corretos. Como base, eles usaram o OpenStreetMap.

Objetos geográficos de sistemas integráveis ​​já são comparados com objetos geográficos do banco de dados principal e tentam anexar a eles. Nos sistemas integrados, existem muitas paradas, como “Trilha”, “Turn”, etc., que, de fato, fazem parte do percurso. Nomes como Aleksandrovka, Mikhaylovka etc. são sempre uma surpresa, porque existem dezenas e até centenas dessas aldeias na Rússia.

Mas nós somos matemáticos! Solução: ajuste o motor, que criará uma hipótese sobre onde o ônibus terá tempo para ficar entre os pontos já conhecidos (anexos) de sua rota - qual Mikhailovka? Pode acontecer que de maneira alguma. A propósito, isso significa que ou inexplicado estava escondido lá, ou era Mikhailovka há 20 anos, ou algo mais. Você precisa ligar e perguntar aos habitantes locais.

Ainda mais interessante. Nem todos os sistemas enviam dados nas paradas e os passageiros podem não saber para onde eles chegam ou para onde o ônibus sai. Em sistemas diferentes, as mesmas paradas são chamadas de maneira diferente. Às vezes, os pontos são marcados como pontos materiais, e isso é importante, por exemplo, se um passageiro comprou uma passagem para a cidade e o ônibus pára na rodovia nos arredores da cidade e continua. Do ponto de vista do sistema de informação, uma cidade pode ser um objeto e um passageiro outros 10 quilômetros a pé.

Com grande dificuldade, recebemos e continuamos a receber os dados necessários. No mesmo estágio, nas cidades onde não há automação, pedimos às pessoas que ajudassem - a enviar fotos de pedaços de papel das estações de ônibus. Posteriormente, esses pedaços de papel tiveram um papel muito importante: verificamos a precisão das hipóteses usando-as, por exemplo, sobre o movimento reverso dos ônibus.

Sim O movimento reverso geralmente é a tarefa de restaurar uma rota. Porque A - B é uma rota de uma região e B - A é outra rota de outra região. E eles podem estar em diferentes sistemas de informação. E os ingressos para eles são vendidos em diferentes estações. E o horário não é conhecido nas bilheterias, mas o motorista sabe.

A hipótese era que é possível prever matematicamente o movimento do ônibus ao longo da rota, com base na idéia de que os ônibus às vezes retornam para casa e que seu número na rota é limitado. Em geral, isso acabou sendo correto. Em geral, como existem situações em que o ônibus parte para outra cidade, desaparece por algumas semanas (aparentemente em outras rotas) e, de repente, se encontra na cidade inicial. Esses são apenas os horários que ajudaram a capturar esses casos.

Ainda precisa colar vôos. Porque em sistemas diferentes, o mesmo voo também pode ser levado em consideração de maneiras diferentes. E até sair em um horário um pouco diferente. Como resultado, quatro vôos podem entrar no horário às 20:00, por exemplo. Tivemos que escrever a mecânica de algo como um hash perceptivo - comparando voos de diferentes sistemas com base em 4-5 parâmetros. Um esquema semelhante foi necessário para unir os vôos A - B - C - às vezes, esse é um vôo real, mas dois em sistemas de informação.

Mudanças na programação


Comparado aos nossos trens elétricos favoritos, onde tudo é automatizado centenas de vezes, mas também muda frequentemente, o ônibus muda com muito menos frequência. Por isso, você precisa concordar com um novo mapa de rota e tempo de viagem. O procedimento para atualizar o agendamento é bastante simples, o cache de pesquisa também não é muito complicado - pelo menos ele esquenta.

O que aconteceu



Horário de ônibus Rostov do Don - Moscow

Agora, temos a oportunidade de mostrar aos usuários informações de voo e a capacidade de comprar uma passagem de ônibus em algum lugar em 40-50% das viagens de ônibus que viajam pela Rússia. Em 50-60% dos usuários não encontram informações sobre os voos disponíveis (embora eles efetivamente voem, e somos informados de que partem). Portanto, decidimos seguir o caminho de fechar pelo menos a necessidade básica de informações, enquanto expandíamos o sortimento de compra de ingressos.

Podemos restaurar as rotas com o mesmo grau de erro que a diferença usual no tráfego de veículos.

Bem, estamos obtendo um grande banco de dados de avaliações para todos os voos, como fazemos com trens e aviões. Isso permite que você entenda claramente os recursos de cada rota, ônibus e o que surpreende um passageiro.

E aqui está mais sobre como os ônibus funcionam na Rússia em geral.

Source: https://habr.com/ru/post/pt411629/


All Articles