我们在Tutu处理电动火车已有17年了。您可能已经小时候看到我们的日程安排。一直以来,我们一直被问到何时可以通过该应用程序直接购买感兴趣的火车票。在17年的漫长岁月里,我们一直在等待着光明的未来的到来,并且隔离了一半的地球,数字票证的需求量大大增加。
原因是还没有人想出如何通过以下方式来出售它们:
- 一方面-与结帐时的价格完全相同;
- 另一方面,要确保没有滥用,例如“我在两个步骤中看到管制员-我买了票”;
-
快速,方便,可靠。
第三点还没有一起发展。现在,我将告诉您该方案已经足够巧妙地起作用了。我会说,我看到了将来使它变得方便的所有先决条件。
让我们逐步了解用户如何购买以及在此过程中在不同系统上发生的情况。
通常没有错误的棘手方法
步骤1:选票和付款。这里的一切都很简单和熟悉。我们的两个带时间表的移动应用收到了TsPPK火车的“购买”按钮(到目前为止,只有TsPPK,是的,这是莫斯科的大部分路线)。
应用程序中的价格与结帐时的价格完全相同。我们使用与CPPK出售票证相同的机制,它看起来像某种内部技术API。所有这一切都花了很多功夫,因为适用于iOS和Android的现成库并没有100%稳定。 “几乎永不崩溃”和“有时崩溃”之间的区别有时意味着创建更多的技术包装。
但是,让我们继续购买票:
由于网关的功能,Apple Pay和Google钱包对我们来说很难完成这个项目。我的同事以后会更好地讲这个故事。最初,我们研究了将客户转移到官方CPPK应用程序的可能性。它是由Movista公司开发的,并赢得了相关投标。经过大量实验,我们认为许多集成工作仍比购买时更改界面更好。
步骤2:PD。在这里,我们为下一个令人难以置信的强大功能带来了惊喜:如果您不需要在定期结帐时填写您的全名和护照号码,那么您可以在线进行。是的,即使是火车票。基础是交通运输部第322号令。
这是一个证明:
:
- ( ) ;
- ;
- ;
- ;
- () ;
- — , , * ( ), , , ;
- .
3.4. :
- ( ) ;
- ;
- ;
- ;
- () ;
- — , , * ( ), , , ;
- .
您可能会猜到,这是用户感到害怕的地方,我们已尽力减少他们的犹豫。但是在Beta测试中,对该命令的执行存在很多不满。
如果您认为付款后手边有票,那还是没有。您手中的文件可以在车站的旋转门上激活时变成票证。
因此,步骤3:经过红色旋转栅门。这实际上是一个额外的步骤,但这是安全性要求:您首先需要购买票证,然后经过旋转
栅门:红色的旋转栅门(通常在CPPK站中有1或2个)和绿色的验证器合适。在帖子的顶部,它们很大,但是通常看起来像这样:
发生了什么:
- 您购买机票后,我们会在服务器上创建预订。
- 您为票证付款,从网关接收到有关付款成功的数据。
- CPPK将票证和base64密钥发送到电话,这是激活该票证的密钥的一半。
- 钥匙的另一半必须放在旋转门或验证器上。您转到旋转门,扫描其上的QR码。
- 此外,从两半组装钥匙,从而“打开”票证。您将车票交给旋转门并经过。
重要事项:
- 旋转门根本没有逻辑来检查QR码和票证。他只是简单地以QR码的形式显示他不断变化的钥匙部分,并在上面缝上工位标记。
- 您不需要互联网就可以将钥匙的两半连接起来并获得票证。购买后几乎所有事情都发生了,您收到了一张票,然后所有事情都在应用程序内的手机上离线完成-激活和显示。
- QR- — . — . .
如果一切顺利,那么您将获得一张票。如果一切都变糟了(不是旋转栅门,而是从另一个站点扫描了他精心存储的照片),则您将获得无效的票证(例如,如果使用昨天的QR码将其激活),或者该票证未被激活。顺便说一句,获得无效票证的机会使我们认为反转库代码很容易。最后的任务
仍然是:控制器如何检查电子票?毕竟,从视觉上讲,它与完全相同的票证的屏幕快照没有区别!事实证明,CPPK已经找到了一种非常巧妙的解决方案:您需要在应用程序中打开一个票证,然后点击它。激活的票证将开始旋转。假定这可以可靠地保护大多数人口免受Photoshop中的假货侵害。
我们增加了重新激活功能,以防您在途中在车站下车。
现在,让我们继续介绍最有趣的东西-错误!
红色旋转门可能无法打开。只是接受它而不开放。因为他旋转的大脑中的某些东西不会及时触发。例如,可以防止您一次将相同的QR码传递到两个旋转门的保护。可能性很小,但是确实有。在这种情况下,在车站值班的疲惫的祖父将接近您。他已经看过数百遍了,并且知道在红色旋转门上犹豫是什么意思。在应用程序中检查票证(“旋转吗?正在旋转!”),然后冷静地让您通过。
平台上的绿色验证器可能无法工作。这是俄罗斯,而不是日本,因此这里每年总共可以持续3分钟以上。在这种情况下,您需要转到另一个验证器,并且他在另一个平台上。概率也很低,但是确实存在。普通人不太可能遇到这种情况,但是我们经过了长时间的激烈测试,因此我们知道。
如果您在流量发生变化时扫描了红色旋转栅门上的QR码(当他们告诉您:“去另一个地方,人们下车”时),您必须完全通过此编码,否则您将剪切与该原因相同的代码用一张票,您并没有一次穿过所有旋转栅门。相邻的那个不会立即同步。这意味着延迟半分钟,或者由值班的祖父检查车票。“它在旋转吗?旋转!”
小常见问题
-我可以从地铁上购买火车的电子票吗?
能够。这就是为什么我们让您在自动扶梯上购买。
-如果在激活票证后断开了连接,票证会保留吗?
是。它将旋转。
-在旋转闸上激活车票后,您需要互联网吗?
不,一切都在手机软件中脱机进行。您已经有一张票,只需将其解密即可。
-如果我看到管制员,现在就急着购买电子票吧?
是的,如果您没有最近的电台的QR码。而且知道我们的心态,这还不是那么完全的讽刺。
-哈,如果我早上穿过十字转门时给他拍照了怎么办?
几分钟内定期更改。
-如果我了解这段代码的模式?
编码算法在午夜改变,并且代码开始与以前的代码有很大不同。
-如果我用错误的QR码激活了票证,那该怎么办?
然后您将获得一张无效的票。或日期错误的机票。
-电子客票有效期有多长?
激活后,该票证有效期至第二天的03:00。也就是说,您可以在上午7点在旋转门上扫描它,并在晚上9点使用它。
-如果我在00:01上车怎么办?
在日期交汇处,票务验证系统中有一个Heisenbug(纸质车票也是如此,也就是说,不在我们的票证中),而旋转门可能不响应昨天的车票。处理是正常的-您需要打电话给值班的旋转闸,后者会看着旋转的票并让您通过。
-如果我在2:59驶过旋转闸吗?
如果在激活车票和进入旋转闸之间的第二秒内,技术日结束,则必须通过祖父解决此问题。他将忍受一切。
其他票
我们正在与其他运营商进行谈判,以与票房相同的价格出售门票。在许多方向上,车票激活都没有这种困难,例如,在大多数Leningradskoye火车上,您都可以在火车内购买车票。自然,这会创建一个已知的漏洞,并且需要找到适合所有人的一些折衷方案。但是我担心这更多的是社区工作而不是发展领域。尽管您有想法,我们将很乐意实施。