Как продать электронный билет на электричку



    Мы в Туту 17 лет занимаемся электричками. Возможно, вы видели наше расписание ещё в детстве или студенчестве. Всё это время нас спрашивают, когда уже можно будет купить билет на интересующую электричку прямо через приложение. 17 долгих лет мы ждали наступления светлого будущего, и понадобилось закрыть на карантин полпланеты, чтобы цифровые билеты стали куда более востребованными.

    Причина в том, что ещё никто не придумал, как продавать их так, чтобы:

    1. С одной стороны — ровно по той же цене, что в кассе;
    2. С другой — чтобы точно обошлось без злоупотребления типа «вижу контролёра в двух шагах — покупаю билет»;
    3. Быстро, удобно и надёжно.

    С третьим пунктом пока не срослось. Сейчас расскажу про то, как хитро эта схема уже работает. И скажу, что вижу все предпосылки к тому, чтобы дальше было ещё и удобно.

    Давайте пройдёмся по тому, как пользователь покупает, и тому, что происходит в разных системах во время этого процесса.

    Обычный хитрый путь без багов


    Шаг 1: выбор билета и оплата. Тут всё довольно просто и привычно. Два наших мобильных приложения с расписанием получили кнопки «купить» для электричек ЦППК (пока только ЦППК, да, то есть большая часть московских направлений).


    Цены в приложении ровно такие же, как в кассе. Мы используем те же механизмы, которые ЦППК использует для продажи билетов, это похоже на некое внутреннее техническое API. Понадобилось сделать большую обвязку вокруг всего этого, потому что готовые библиотеки и под iOS, и под андроид вели себя не на 100% стабильно. Разница между «не крэшится почти никогда» и «иногда крэшится» иногда означает создание более технологичных обёрток.

    Но продолжим покупать билет:


    Apple Pay и Google-кошелёк дались нам на этом проекте с трудом из-за особенностей шлюза. Эту историю лучше расскажет моя коллега позже. Изначально мы изучали возможность перебрасывать покупателя в официальное приложение ЦППК. Его разработала компания Movista, которая выиграла соответствующий тендер. После ряда экспериментов мы решили, что большая работа по интеграции всё же лучше, чем смена интерфейса при покупке.

    Шаг 2: ПД. Тут нас ждёт следующий сюрприз невероятной силы: если в обычной кассе не нужно заполнять ФИО и номер паспорта, то в онлайне — нужно. Да, даже на билеты на электричку. Основание — приказ Минтранса №322.


    Вот пруф:
    Электронный билет на поезд пригородного сообщения без предоставления мест содержит следующую обязательную информацию о перевозке пассажира:

    • железнодорожные станции (остановочные пункты) отправления и назначения;
    • наименование перевозчика;
    • категория поезда;
    • вид билета;
    • дата проезда и (или) срок действия;
    • сведения о пассажире — фамилия, имя, отчество* (или инициалы), наименование, серия и номер документа, удостоверяющего личность;
    • вид платежа.

    3.4. При заказе электронного билета на поезд пригородного сообщения без предоставления мест пассажир указывает следующую информацию:

    • железнодорожные станции (остановочные пункты) отправления и назначения;
    • наименование перевозчика;
    • категория поезда;
    • вид билета;
    • дата проезда и (или) срок действия;
    • сведения о пассажире — фамилия, имя, отчество* (или инициалы), наименование, серия и номер документа, удостоверяющего личность;
    • вид платежа.

    Как вы можете догадаться, здесь пользователи пугаются, и мы постарались сделать всё, чтобы уменьшить их колебания. Но на бета-тестах было очень много недовольства исполнением этого приказа.

    Если вы думаете, что после оплаты у вас на руках билет, то всё ещё нет. У вас на руках некий документ, который может стать билетом в момент активации на турникете на станции.

    Поэтому шаг 3: пройти красный турникет. Это вообще-то лишний шаг, но это требование безопасности: нужно сначала купить билет, потом пройти через турникет:





    Подходят красные турникеты (обычно их 1 или 2 на станциях ЦППК) и зелёные валидаторы. Сверху поста они есть крупно, обычно же выглядят это вот так:



    Что происходит:

    1. Вы покупаете билет, мы создаём бронь на сервере.
    2. Вы оплачиваете билет, поступают данные от шлюза, что платёж успешен.
    3. ЦППК отправляет в телефон билет и base64-ключ, который составляет половину ключа для активации этого билета.
    4. Вторую половину ключа надо взять на турникете или валидаторе. Вы подходите к турникету, сканируете QR-код на нём.
    5. Дальше из двух половинок собирается ключ, который «открывает» билет. Вы прикладываете билет к турникету и проходите.

    Важно:

    • На турникете нет логики проверки QR-кода и билета вообще. Он просто показывает свои постоянно меняющиеся части ключа в виде QR-кодов с зашитыми туда метками станций.
    • Не нужен интернет для соединения половинок ключа и получения билета. Всё случилось почти сразу после покупки, вы получили билет, и дальше всё делается в офлайне на телефоне внутри приложения — как его активация, так и его показ.
    • Логика показа QR-кода и логика проверки билета — разные. Билет представляет собой обычный бумажный билет с точки зрения турникета — там точно такой же ключ. С точки зрения же пассажира это одно действие по поднесению телефона к турникету.

    Если всё прошло хорошо, то вы получаете билет. Если всё прошло плохо (вместо турникета вы отсканировали его заботливо запасённую фотографию с другой станции), вы получаете либо невалидный билет (если вы активировали его вчерашним QR-кодом, например), либо же билет не активируется. Кстати, возможность получить невалидный билет и навела нас на мысль, что отреверсить код библиотек будет просто.

    Осталась последняя задача: как контролёр сможет проверить электронный билет? Ведь он визуально не отличается от скриншота точно такого же билета! Оказывается, ЦППК нашла решение, близкое к гениальному: нужно открыть билет в приложении и тапнуть по нему. Активированный билет начнёт вращаться. Предполагается, что это надёжно защищает большинство населения от подделок в Фотошопе.



    Повторную активацию мы добавили на тот случай, если вы выходите на станции по пути.

    А теперь перейдём к сладкому — багам!


    Красный турникет может не открыться. Просто взять и не открыться. Потому что что-то в его турникетных мозгах не сработает вовремя. Например, защита, которая не даёт вам пройти по одному и тому же QR-коду в два турникета сразу. Вероятность очень маленькая, но есть. В этом случае к вам подойдёт усталый дедушка, который дежурит по станции. Он такое повидал уже сотни раз и знает, что означает замешкавшийся человек у красного турникета. Проверит билет в приложении («Крутится? Крутится!») И спокойно вас пропустит.

    Зелёный валидатор на платформе может не работать. Это Россия, а не Япония, поэтому у нас это может длиться и дольше 3 минут суммарно за год. В этом случае надо подойти к другому валидатору, а он на другой платформе. Вероятность тоже очень низкая, но есть. Обычный человек вряд ли встретится с такой ситуацией, но мы долго и остервенело тестировали, поэтому знаем.

    Если вы отсканили QR-код на красном турникете в момент смены потока (когда вам говорят: «Идите на другой, тут люди с поезда выходят») — надо идти ровно через этот, иначе вы стриггерите тот самый код, который отвечает за то, чтобы по одному билету вы прошли не через все турникеты сразу. Соседний синхронизируется не сразу. Это означает или полминуты задержки, или же проверку билета дедушкой-дежурным. «Крутится? Крутится!».

    Небольшой FAQ


    — Можно ли купить электронный билет на электричку из метро?
    Можно. Мы для того и сделали, чтобы вы покупали на эскалаторе.

    — Если связь оборвётся после активации билета, билет останется?
    Да. И будет крутиться.

    — Нужен ли интернет, когда активируется билет на турникете?
    Нет, всё происходит в офлайне внутри софта вашего телефона. Билет у вас уже есть, он просто расшифровывается.

    — Если я вижу контролёра, поздняк метаться с покупкой электронного билета, да?
    Да, если у вас нет под рукой QR-кода с ближайшей станции. И, зная наш менталитет, это не так чтобы полностью сарказм.

    — Ха, а если я его сфотографировал утром при проходе через турникет?
    Регулярно меняется в пределах нескольких минут.

    — А если я понял закономерность этого кода?
    Алгоритм кодирования меняется в полночь, и коды начинают отличаться от предыдущих очень резко.

    — Если я активирую билет неправильным QR-кодом, то что?
    То у вас будет невалидный билет. Либо билет на неправильную дату.

    — Сколько действует электронный билет?
    После активации билет действует до 03:00 следующих суток. То есть можно отсканировать его на турникете в 7 утра и использовать в 21. Никаких проблем.

    — Что, если я сажусь на электричку в 00:01?
    На стыке дат есть гейзенбаг в системе проверки билетов (бумажных тоже, то есть далеко не в нашем стеке), когда турникеты могут не среагировать на вчерашний билет. Обработка обычная — нужно будет позвать дежурного по турникетам, который посмотрит на крутящийся билет и пропустит.

    — А если я прошёл турникет в 2:59?
    Если за ту секунду, что прошли между активацией билета и проходом в турникет, кончились технические сутки, решать вопрос тоже надо через дедушку. Он всё стерпит.

    Другие билеты


    Мы ведём переговоры с другими перевозчиками по поводу продажи билетов по тем же ценам, что в кассе. По многим направлениям нет таких сложностей с активацией билета, например, на большинстве поездов Ленинградского можно покупать билет внутри поезда. Естественно, это создаёт известную уязвимость, и нужно найти некий компромисс, который всех устроит. Но, боюсь, это скорее область работы с обществом, нежели разработки. Хотя если есть идеи — мы будем рады их воплотить.
    Туту.ру
    Tutu.ru — сервис путешествий №1 в России.

    Комментарии 78

      0
      А почему поведение типа «вижу контролёра в двух шагах — покупаю билет» считается чем-то нежелательным?

      З.Ы. Может, я чего-то не понимаю. Я живу в ~2 000 км от ближайших маршрутов электричек и последний катался на них в глубоком детстве :)
        0
        Потому что билет покупается не по триггеру «вижу контроллера в двух шагах».
          0
          Всё равно не пойму. А если я куда-нибудь опаздываю и сажусь в поезд в последний момент? Перевозчик что так, что так получит с меня прибыль в виде стоимости билета. Не всё ли равно, когда я его куплю?

          UPD ответили ниже, понятно.
            +3
            В Чехии решили эту проблему проще, купленный через приложение билет начнет действовать только через 2 минуты после покупки. Поэтому видя контроллера покупать билет уже как правило поздно.
            На электричках конечно время на проверку всех билетов в вагоне/поезде может быть больше, но разве нельзя было бы это решить адаптивной задержкой на активацию? Активировать билеты только в фиксированные моменты времени, синхронизированные с временем отправления электричек со станции на которой куплен билет.
              0
              Хорошая идея, кстати. Спасибо! Обсудим с перевозчиком
                +4

                Нехорошая идея. Такие билеты вполне удобно брать "на бегу", при подходе к турникету. Если они будут активироваться через две минуты — это просто убийство одного из главных юз-кейсов.

                  +2
                  Турникетам не нужно никаких задержек. Купил — мгновенно работает. А сканер контроллера может учитывать как давно куплен билет, и если это время меньше пары минут, то считать билет недействительным. Возможна коллизия, когда от турникета запрыгиваешь в закрывающиеся двери поезда и попадаешь прямо в лапы контроллёра, но тогда контроллёр в курсе, что ты только вошёл. Схема не очень надёжная, но может быть работоспособной. Она простая и в ней есть баланс.
                    +2
                    контроллёр в курсе, что ты только вошёл

                    Нет спасибо, это уровень устного договора. Хотелось бы более формального подхода в таких вопросах и меньше участия людей.
                +2
                В России ровно такая реализация не прокатит. Можно, завидя контроллёра, перейти в следующий вагон и обеспечить себе время на покупку билета. Синхронизация с расписанием очень ненадёжна, да и обходится точно так же — иди в следующий вагон попутно покупая билет со следующей станции. Годится только для экспрессов, у которых остановок мало.
                  +1
                  Защита от безбилетников не обязана быть 100%-ой. Достаточно, чтобы большинство за билет было вынуждено платить. Если единицы будут использовать какой-то очень неудобный, сложный и рискованный способ не купить билет, то они не нанесут сколько-нибудь ощутимого убытка перевозчику, чтобы ради них лишать удобств честных покупателей.
                    +1
                    Это ЦППК. Тут заборы с пиками, колючей проволокой и солидолом, и на некоторых станциях полтора турникета на платформу. Люди с билетами стоят в очередях к турникетам на выход, безбилетники прыгают с платформы и экономят время.
              +3
              Потому что предполагается, что вы, как честный гражданин, покупаете билет каждый раз, когда едете в пригородном поезде. Если вы покупаете билеты каждый раз, когда вас проверяют, то получается, что можно не платить за те случаи, когда контролёр вас не увидел. Интересно, что в разных странах в зависимости от отношения граждан к этому вопросу разные типы турникетов и разная частота проверок.
                +3

                В подавляющем большинстве ЖД систем Европы нет турникетов.

                  0
                  Зато у них очень развиты контроллеры. Хотя в московских электричках последние пару лет они тоже стали регулярными (не знаю как в других регионах)
                    +1

                    Нет, в Европе гораздо меньше контролеров, чем у нас. В более чем 50% случаев контролеров вы не увидите вообще, даже если это международный поезд, а ппоездка на несколько часов.


                    У нас же существуют "экспрессы", вроде ласточки Москва-Тверь, где турникеты, потом контролеры на входе, контролеры на маршруте несколько раз и турникеты на выходе.
                    В Питере на элке Финляндский — Ладожское озеро контролеры после КАЖДОЙ остановки, иногда разные.


                    Пассажир элки в РФ — быдлозаяц, а уж потом клиент.

                  0
                  Что то мне подсказывает, что в нашей родной стране отношения к гражданам как к «честным» не наблюдается.
                  +3
                  Потому что до появления контроллера можно проехать часть маршрута, и купить билет за гораздо меньшую стоимость.
                    +2
                    Потому что контролер тоже продает билеты, только с наценкой за свои услуги.
                    +3
                    С точки зрения приезжего, видящего это впервые, система выглядит излишне сложной, требуется много действий около турникета (отсканируйте телефоном код на турникете; поднесите телефон к сканеру).
                    Я как раз приезжий, в прошлом году ездил Аэроэкспрессом, электронный билет был куплен заранее и я не помню таких сложных движений при прохождении турникета, по-моему просто приложил телефон с QR кодом и прошел.
                      0
                      С точки зрения обычного человека точно так же: приложили телефон к турникету и прошли, все действия склеены в одно в опыте пользователя. Но с точки зрения логики систем, задействуется огромный стек. И да, он выглядит избыточным, но пока непонятно, как можно закрыть описанную выше уязвимость иначе.
                        +2
                        А как аппараты по продаже билетов на аэроэкспресс обошли требование по предоставлению паспортных данных? насколько я помню, требуется заполнять эту ерунду только при онлайн оплате, а если через железный ящик, то нет.
                          0

                          Может, через железный ящик они продают не электронный билет, а какую-нибудь третью субстанцию, которой можно без ПДн обойтись? Электронная проекция физического билета, например.


                          Впрочем, да, интересно, как они это обошли.

                            +4
                            Впрочем, да, интересно, как они это обошли.

                            Также как и карта тройка обходит законодательство об электронных кошельках, требующее обязательной их персонализации для возможности возврата денег с потерянного носителя и его блокировки: если организация достаточно высоко в иерархии власти то законы работают избирательно.

                        0
                        Отсканировать QR-код турникета еще можно, но турникеты в 90% случаев тупят, при сканировании кода с экрана. Поэтому отказался от электронных билетов.

                        Нет, чтоб NFC сделать. Хотя б дублирующим вариантом.
                          0
                          Конечно, к этому многое идёт. Но хорошо, что уже хоть с чего-то начали.
                          +1
                          Поверьте, с точки зрения жителя подмосковья система выглядит не менее корявой. Может даже более, потому что страдать приходится не однократно, а регулярно.
                          +1
                          Сколько в среднем занимает стояние около турникета с 2 проверками, что изображено под пунктами 1-4? С нашим потоком людей это должно быть моментально! Если это долго, то очередь из недовольных будет большая.

                          Оффтопик: Нам нужно стремиться взаимодействовать с производителями телефонов, например, с Apple. Например, я покупал японский айфон 11 — там карта SUICA (продвинутый аналог Тройки) (PASMO не проверял) «вшита» прямо в Wallet телефона! В итоге просто пополняешь SUICA через приложение и ты даже не успеваешь открыть Wallet в телефоне, как проход через турникет в наземный транспорт уже сработал. Это просто нереально круто.
                            0
                            По моему опыту, от 30 секунд, то 5 минут, пока дедушка не откроет турникет вручную.
                              +3
                              Понятно. Как же это долго-то пока что :( 30 секунд на 1, а если 10 человек — 3 минуты минимум. Получается, так можно и на электричку опоздать.
                                0
                                Мой личный опыт: в первые пару раз от 30 секунд до 1 минуты, а теперь в часы пик порядка 15 секунд. Дежурные по турникетам на многих станциях сами подходят быстро, если видят, что не получается быстро отсканировать билет.
                                  0

                                  10 человек по 30 секунд это пять минут, а не три :)

                                  0
                                  Да ну нет. Если ты подготовился, знаешь что делать и турникет не затупит, то 3-5 секунд достаточно. Но тупит, увы, часто.
                                  0

                                  Мобильный пасмо ещё только в этом году проектируют, вроде недавно пилотную версию на андроиде запустили. Хотя и не очень понятно, зачем, если суйка работает везде, просто одно полугосударственное, а второе не совсем.


                                  А приложение открывать в телефоне не обязательно, она работает и с закрытым телефоном вообще, и даже с разряженной батареей (в режиме Power Reserve).

                                  +2
                                  Мне кажется приоритеты должны быть полностью противоположны. Сначала быстро, удобно надёжно. Потом по той же цене, что и в кассе. И в последнюю очередь что бы не было злоупотреблений с контролёрами.

                                  Я бы ими пользовался в первую очередь потому что не люблю физические проявления пропусков. Во вторую потому что могу опаздывать, и взять билет садясь в электричку. Кроме того это позволило бы с толпы, которая сейчас бегает собирать хоть какие-то деньги. А сейчас я просто не могу воспользоваться этими билетами, потому что у меня просто напросто нет турникетов на станции, ни красных, ни простых.

                                  С контролёрами тоже не всё так однозначно. Для начала в первое время многие даже после введения электронных билетов будут бегать (начнёт использовать этот баг в первую очередь молодёжь, студенты, которые сейчас бегают). Да и можно привязывать время покупки ко времени проезжаемой станции. Условно если время отличается больше чем на 2 минуты то блокировать получение билета
                                    +1

                                    Так билет выдаётся не на конкретную электричку, а на проезд от станции а до станции б, между которыми электрички могут курсировать раз в 15-30 минут в среднем, так что блокировка не выход.
                                    На станциях без билетных касс билет люди садятся и покупают билет у контроллеров, называя свою станцию. Здесь нет проблем с тем, чтобы назвать контроллеру ближайшую станцию без билетных касс, надо только знать, какие называть.

                                    +1

                                    Какие бы недостатки не были у РЖД, но светлое будущее в официальном приложении РЖД наступило года на два раньше (если не больше).

                                      +1
                                      Да, но там нет возможности купить билет на электрички ЦППК.
                                        0

                                        Спасибо, а то я удивился, т.к. уже давно в приложении РЖД на электрички билет покупаю.

                                          0

                                          У ЦППК есть своё приложение, не знаю сколько ему лет, но версия 4.1.2

                                        +1
                                        1) Реверс-инжиниринг кода? То есть перевозчик, продавая билеты, запретил вам работать со своими программами, не сообщил вам API и образцы?

                                        2) QR-код «регулярно меняется в пределах нескольких минут». Следовательно, я не смогу пройти через турникет и ждать десять часов на платформе? Следовательно, я должен сразу после турникета быстро садиться в электричку?

                                        3) Далеко не все телефоны имеют большой запас памяти для установки новых программ. Как можно купить электронный билет и проехать по нему, пользуясь только браузером?

                                        Спасибо.
                                          0
                                          1. Нет, проблемы были связаны с тем, что изначально код был несколько сыроватым. Причина в том, что мы стали первыми, кто использует это API в принципе.
                                          2. Нет, сможете пройти и ждать 10 часов и выйти до 3 часов ночи следующих суток. Код существенно изменяется только на следующие сутки, а каждые несколько минут происходят незначительные его изменения.
                                          3. К сожалению, никак, затащить активацию билетов в браузер теоретически возможно, но очень сложно. В данный момент у нас и у перевозчика основная цель — максимизация удобства и скорости работы по текущему флоу.
                                          0
                                          Пробовал проходить турникеты по данной схеме, получается быстрее купить бумажный билетик в автомате ЦППК. Особенно если опаздываешь на электричку и по какой то причине qr код не срабатывает. Не понятно какие вообще преимущества этой схемы перед кассиром/автоматом ЦППК. Ведь этот qr код может и не сработать. И на выход тоже может не сработать а это опять звать «усталого дедушку» что б он выпустил, а к нему как правило уже очередь.
                                            0
                                            Преимущества перед кассиром и автоматом:
                                            1. Отсутствие необходимости стоять в очередях за билетом в часы пик;
                                            2. Не придётся контактировать с кассирами и автоматами, которые уже до вас трогали тысячи рук, в период пандемии это особенно актуально;
                                            3. Бумажный билет легко потерять, электронный всегда доступен в приложении.
                                              0

                                              А в чем преимущество перед покупкой и записью билета на тройку с помощью nfc телефона? Так прекрасно покупаются билеты на метро без необходимости плясать у турникета, прикладываясь к нему то задом, то передом :)


                                              Кстати, телефон может сесть, в отлоичие от тройки. И тройка/стрелка все равно в кармане лежат, т.к. мало кто из приезжающих в Москву остается на вокзале. И турникеты все давно тройку/стрелку понимают, а с модными QR кодами хорошо если 1 на станцию найдется.

                                                +1
                                                Так и было сделано вначале. Но ЦППК не устраивало, что зайцы покупают билет прямо при появлении контроллёра. По мне так, пусть покупают хотя бы так, но видимо с наличием такой удобной лазейки к зайцам начали примыкать те, кто раньше зайцами не был. В общем, запись билета на Тройку долго не прожила.
                                                  0

                                                  А каким образо заяц, укпив билет в электричке, мог провалидировать его через турникет на станции? Ведь сейчас есть карты на Х поездок и, если ты его на станции через турникет не прокатал, получаешь штраф. Какая-то нелепая отмазка у ЦППК, имхо.

                                                    0
                                                    Никаким не мог, но это и не требовалось. Хотя могло бы, да. И было бы примерно как сейчас, но удобнее.
                                                    Возможно им не нравилась ещё и малая распространённость NFC. Камера-то почти у всех есть. Но система в итоге получилась упоротая.
                                              +3

                                              Проблема в том, что разработчики этой системы стремились сделать не удобно и быстро, а так, чтобы не дай бог кто-нибудь не прошел два раза по одному билету.


                                              К сожалению, поехать в другую страну или спросить как делать нормально они не смогли:

                                              вот и получилась такая дичайшая и глючащая дичь с половинками билета и куаркодами.


                                              Работа выполнена, деньги освоены, статья на хабре написана, а авторы даже думают что они сделали что-то полезное.


                                              Но получилось почему-то говно, которое хуже дедовских ЦППКшных автоматов (которые после редизайна и уменьшения количества эранов довольно удобны). Причем, в случае неработающего автомата, рядом есть еще десять, а в случае неисправности сканера куаркодов или глюка в приложении вам придется звать деда и доказывать что вы не верблюд.


                                              Авторы совсем не предусмотрели ситуацию когда кто-то сделает макет приложения с крутящимся 2d кодом и каждый раз будет звать деда и ездить бесплатно.

                                              +1
                                              если в обычной кассе не нужно заполнять ФИО и номер паспорта, то в онлайне — нужно

                                              Ещё бы кто объяснил зачем
                                                +1

                                                Возможно, логика такая: ради всеобщей надзора и слежки антитеррористической безопасности надо заставить всех сдавать свои ПД на все виды транспорта. В идеале это реализовать объективно невозможно, но можно хотя бы минимизировать количество способов проехать без них.

                                                +2
                                                Сейчас многие турникеты на вокзалах работают в двух направлениях сразу. И у меня уже два раза было, что после того как я подходил и начинал сканировать билет с другой стороны нарисовывался мужик и начинал делать аналогичную процедуру. И тут надо успеть первым юркнуть через дверцы, потому что разглядывать у кого зеленый — чревато.
                                                  –1
                                                  Как хорошо что на моём направлении уже действует тройка. Которую в свою очередь можно пополнить с помощью NFC на андроиде.

                                                  Правда мне пока ещё три года можно поездить по социальной карте, а там каких-либо вариантов кроме постоянной покупки билетов в кассе нет. Льготники у нас должны страдать.
                                                    0
                                                    По-моему в приложении от ВТБ Мой умный город, что-то было про льготные проездные.

                                                    А так да, тройка очень сильно упростила жизнь везде.
                                                      0
                                                      По-моему в приложении от ВТБ Мой умный город, что-то было про льготные проездные.

                                                      Было, но только для московских льготников. Социальная карта подмосковья даже не читается в этом «умном городе».
                                                        +1
                                                        в этом плане, между подмосковьем и москвой пропасть. Обещают общую и единую карту… С другой стороны, если взять другие регионы, там вообще бумажные билеты еще ходят, как в СССР.
                                                    +2
                                                    Осталась последняя задача: как контролёр сможет проверить электронный билет? Ведь он визуально не отличается от скриншота точно такого же билета! Оказывается, ЦППК нашла решение, близкое к гениальному: нужно открыть билет в приложении и тапнуть по нему. Активированный билет начнёт вращаться.


                                                    Я правильно понимаю что теперь достаточно сверстать похожий экран приложения с вращающимся по тапу билетом?
                                                      +1
                                                      Вот как раз такая ситуация имеется в Хельсинки. Электронный билет с крутящимся колечком.
                                                      билет
                                                      image

                                                      В городе имеется некий (большой) контингент жителей, постоянно старающийся проехать бесплатно. Один покупает билет нормальным способом, потом снимает видео-скриншот, и скидывает всем соплеменникам. Да, если попадают на контролера, то конечно имеют проблемы. Но контролеры ходят очень редко… Это нужно лишь для того, чтобы просто зайти в транспорт, потому как крутящийся билет показывают водителю при входе (аналог «усталого дедушки»).
                                                      Обычно водитель не придирается, ему давно все надоело.

                                                      Те из них, кто умеют пользоваться гуглом, используют другой вариант. Ищется .apk «Fuck HSL — Free Tickets — Fuck The Smurfs!».
                                                      Выглядит весьма правдоподобно.
                                                      Но у контролера имеется считыватель QR-кода. Как считыватель реагирует на фейковый билет — не знаю.
                                                        +2
                                                        Всегда показывал скрин. Один раз контроллер «тапнул» по экрану и спросил, а почему билет не крутится. На что я спросил, а почему он в период неблагоприятной эпидемиологической ситуации трогает своими руками мое личное устройство, которое я периодически подношу к лицу. После чего контроллер пробубнил «счастливой поездки» и пошел дальше.

                                                        upd. Билет если что у меня был, но родное приложение цппк очень долго загружается, а разрешать работать ему в фоне я не хочу. Поэтому делаю скрин сразу после активации и хожу по нему.
                                                        +1
                                                        Правильно ли я понимаю, что в вашем приложении возможно дважды активировать билет на разных турникетах одной станции? У меня пару-тройку раз была ситуация с приложением ЦППК когда выходил на другую платформу, соответственно затем попасть на нужную только через покупку нового билета или уговоров уставшего дедушки. Повторная активация была бы весьма востребована.
                                                        Дедушки — зло, в 1 случае из 10 могут и не помочь.
                                                          0
                                                          Да, всё верно, для подобных случаев мы добавили возможность повторной активации
                                                          +3

                                                          Вот эта вся процедура покупки и активации билета бесит неимеверно. Есть карты стрелка/тройка, есть возможность покупать на них билеты, в том числе и на электричку. Но, если билеты на метро/трамвай/автобус можно купить просто в приложении, если у вас телефон с NFC, то билеты на электричку можно купить только в кассе, а для смартфона придумали вот эту вот дичь с пляской вокруг турникета. Претензия не к ТуТу, я понимаю, что вы не виноваты, а к ЦППК.


                                                          Для ВТБ-шного приложения если почитать отзывы, то можно найти, что они отвечали, что им продавать и писать билеты на электричку не дает ЦППК.


                                                          А еще даже в кассе на тройку нельзя было писать билеты на Спутник, на 10, 20 и т.д. поездок. Все можно было, а эти нельзя. Приходилось с 2 картами ходить.

                                                            +1
                                                            Причина в том, что ещё никто не придумал, как продавать их так, чтобы:
                                                            1. С одной стороны — ровно по той же цене, что в кассе;
                                                            2. С другой — чтобы точно обошлось без злоупотребления типа «вижу контролёра в двух шагах — покупаю билет»;
                                                            3. Быстро, удобно и надёжно.

                                                            В развитых странах почему-то все придумано: билет (qr-код) демонстрируется из приложения, а ситуация из пункта 2 обрабатывается показом плашки "этот билет куплен менее пяти минут назад". И никаких турникетов, билетов по паспорту и прочего тупняка.


                                                            Зачем защищаться от скриншотов, если сервер проверки билетов и так знает что билет уже был валидирован?


                                                            Не нужен интернет для соединения половинок ключа и получения билета. Всё случилось почти сразу после покупки, вы получили билет, и дальше всё делается в офлайне на телефоне внутри приложения — как его активация, так и его показ.

                                                            На случай ядерной войны? А как я получу первую "половинку" билета на телефон без интернета? Такое чувство, что тот, кто проектировал все это вообще не думал.


                                                            Раньше можно было купить в каком-то приложении билет и сразу записать его на тройку. Потом все это поломали и убрали. Сейчас проще купит билет в автомате, чем пользоватся этими глючащим тупняком с куаркодами.

                                                              0

                                                              Ладно, вроде сильно не минусят, да и есть шанс, что люди, ответственные за работу ЖД транспорта прочитают это и может когда-нибудь нашими электричками можно будет пользоваться без стыда.


                                                              В неочень развитых странах, где ЖД примерно такой же отсталый (редко, медленно и переполненно), применяется схема для снижения давки и войны за места: там билеты на электрички продают с указанием мест, а когда они заканчиваются — без указания мест (стоячие). В результате, не надо толпиться на платформе перед ласточкой и штурмовать ее, распихивая всех подряд, как только двери откроются. Можно вообще придти перед самым отправлением и спокойно занять свое место. Очень удобно, конфликтов не видел, все решается показом билетика.


                                                              Почему у нас только крайности: либо поезд с указанием мест без возможности ехать стоя, либо балаган?


                                                              Я понимаю, что РЖД скорее удавится, чем пустит больше поездов Москва — Тверь, Питер — Выборг, и.т.п. но эта полумера хотя бы сделала поездки на этих направлениях более комфортными.

                                                              +4
                                                              Вся система оплаты и контроля оплаты проезда в электричках — жуткая жуть. В институт почти 2 десятка лет назад ездил на электричке (турникеты только вводились) и вся эта система была мучением, сказал бы, что и сейчас мало что изменилось. Турникеты все так же тупят, собирают толпы в час-пик, покупка билетов все такая же неудобная. Разве что отличие в том, что тогда окошко кассы было одно-два на станции, а сейчас худо-бедно еще и терминалы поставили. Но льготный билет бедные студенты и остальные льготники все так же вынуждены каждый раз оформлять перед поездкой. Опоздал автобус к электричке, очередь в кассу — все, поезд ушел. С этими электронными билетами тоже все странно. Хорошая идея доведена до абсурда при реализации. Опять бежишь, хочешь успеть на электричку, оформляешь себе билет заранее, но тут тебя встречает единственный турникет с очередью таких же несчастных и странный ритуал с двойным сканированием.
                                                              Ведь нельзя просто взять и записать с телефона билет на транспортную карту… Нельзя сделать более удобной активацию (nfc в вагонах, gps, задержка времени начала действия после покупки, наконец)…
                                                                +3

                                                                Как не-гражданину РФ купить (но русскоговорящему), скажем, купить билет, если по GUI отчество обязательно. Так же — а "паспорт РФ" можно заменить на любой документ, являющийся оф. удостоверением личности человека, например, международный паспорт?

                                                                  +1
                                                                  А если вспомнить, что есть граждане РФ, у которых нет внутреннего паспорта, то будет ещё веселей.
                                                                    0
                                                                    Отчество не является обязательным к заполнению полем, если оставить его пустым, валидация будет пройдена, билет можно купить. Вместо паспорта РФ можно выбрать, например, «Загранпаспорт» и ввести его данные, даже если он и не российский.
                                                                    +1
                                                                    Позвольте спросить, а что, процедура покупки билетов настолько уникальна, что ни в какой стране мира ее нет? А то я просто ездил в Голландии, пока там жил, покупал в приложении билеты, сканировал QR коды и проблем не видел?

                                                                    Может нужно было отправить кого-нибудь перенимать опыт и не городить огород самостоятельно?
                                                                      –2

                                                                      Так Михаил Якимов уже пояснил: в Нидерландах легализованы гей-браки и марихуана. У нас свой путь, нельзя напрямую перенимать чужой опыт.
                                                                      Да и если сразу сделать нормально, то как потом освоить деньги на вторую версию, которая будет работать нормально?
                                                                      А если серезно: у авторов просто не хватило ума поинтересоваться, как же сделано "у них"

                                                                      0
                                                                      А МТППК (ОктЖД, Москва-Тверь) подключать не планируете?
                                                                      Так же очень интересно сравнение подходов, используемых там и там.
                                                                      P.S. Живу в Зелике, покупаю билет через их приложение (коих уже два), записываю на Тройку через NFC.
                                                                        0
                                                                        По МТППК и другим перевозчикам в данный момент изучаем вопрос. Подключить хотели бы, но одного желания мало, прорабатываем эту тему.
                                                                        +1
                                                                        Добрый день. А почему нельзя убрать всю эту часть с покупкой и не сделать как в метро. Поднес телефон, к турникету сработало NFC, потом на выходе приложить еще раз и списывается разница 2х турникетов. В автобусах, что-то подобное видел. Даже можно без NFC, а просто сканировать QR на входе и выходе. В приложухе по QR коду будет отметка, что человек сел на конкретной станции(для контролера). QR все равно перегенерируется. Для мест, где нет турникетов сделать выбор из списка в приложухе.
                                                                          0
                                                                          Я так и езжу, по савеловскому направлению и тройке
                                                                          0
                                                                          В некоторых украинских городах общественный транспорт (как минимум троллейбусы и отдельные маршрутки) можно оплатить, отсканировав QR-код из мобильного приложения одного банка (ПриватБанк, privatbank.ua/ru/news/2020/10/9/1305).

                                                                          Кондуктору/контроллёру потом достаточно показать экран в приложении с номером транспорта и убывающим таймером.

                                                                          Какие проблемы могут быть у такого решения, кроме упомянутого «вижу контролёра в двух шагах — покупаю билет»?
                                                                            0
                                                                            Шаг 2: ПД. Тут нас ждёт следующий сюрприз невероятной силы: если в обычной кассе не нужно заполнять ФИО и номер паспорта, то в онлайне — нужно. Да, даже на билеты на электричку. Основание — приказ Минтранса №322.

                                                                            1. Приложение запоминает эти данные или нужно вводить их каждый раз?
                                                                            2. Билет, который куплен на Петрова Петра Сидоров Сидор может использовать?
                                                                            3. Кто-то проверяет достоверность введенных данных?
                                                                            4. Какие санкции за покупку билета с недостоверными данными?
                                                                              +1
                                                                              Такая сложная защита от бесбилетников с двумя турникетами, ротируемыми QR-кодами, а в итоге всё сводится к тому, что достаточно каким-то образом заставить крутиться QR-код по тапу экрана и показать его дедушке. Похоже на установку металлической двери на вход в палатку — и не гарантирует защиту, и неудобно.

                                                                              Достаточно было бы показывать контролёру время покупки билета. Если он куплен позднее чем поезд отправился с последней станции, значит обладетель билета хитрит. Какой процент людей будет бегать по всему составу, одновременно вбивая паспортные данные, номер карты и совершая оплату, и надеясь не привлечь внимание контролёра? Явно единицы, бесплатный проезд которых транспортная компания в принципе не почувствует, а из-за них портят жизнь честным покупателям.

                                                                              Можно посмотреть на опыт стран Европы, где не так трясуться, вдруг хоть один безбилетник проскочит, но транспортные компании не разоряются, зато пользователи получают удобный сервис, а не лабиринт из турникетов с кодами.
                                                                                0

                                                                                В урбанизме есть похожее явление: когда среда депрессивная, быдло все ломает, то бытовая логика подсказывает сделать вместо нормального благоустройства все максимально антивандальным, металлическим, прибитым к полу и обнесенным забором с домофонами. То есть сделать среду для быдла.
                                                                                В совсем запущенных случаях получаются клетки для лавочек.


                                                                                Почему-то в ласточкках тамбуры не обоссаные, хотя ездят там те же люди, что и в ЭД4М.


                                                                                Авторы хотели вроде сделать что-то полезное, но в итоге родили систему продажи билетов для быдла, где честный пассажир чувствует себя зайцем.


                                                                                Вот и получается, что даже честному пассажиру проще найти на 4pda генератор фейковых крутящихся QR-кодов, чем возиться с заполнением паспортных данных, глючащей оплатой и виснущим турникетом.

                                                                                0
                                                                                Теперь надо сделать ресурс, в котором будут регистрироваться все, пользующиеся подобным сервисом. Он будет ловить все qr коды со всех, кто их фоткает и держать в актуальном состоянии.
                                                                                Тогда можно будет обойти вот этот кусочек пунктов, так как в приложении всегда будут актуальные куар коды для всех станций…

                                                                                "— Если я вижу контролёра, поздняк метаться с покупкой электронного билета, да?
                                                                                Да, если у вас нет под рукой QR-кода с ближайшей станции. И, зная наш менталитет, это не так чтобы полностью сарказм.

                                                                                — Ха, а если я его сфотографировал утром при проходе через турникет?
                                                                                Регулярно меняется в пределах нескольких минут.

                                                                                — А если я понял закономерность этого кода?
                                                                                Алгоритм кодирования меняется в полночь, и коды начинают отличаться от предыдущих очень резко.

                                                                                — Если я активирую билет неправильным QR-кодом, то что?
                                                                                То у вас будет невалидный билет. Либо билет на неправильную дату. "

                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                Самое читаемое