Llevamos 17 años tratando con trenes eléctricos en Tutu. Es posible que haya visto nuestro horario cuando era niño o estudiante. Todo este tiempo nos han preguntado cuándo será posible comprar un billete para el tren de interés directamente a través de la aplicación. Durante 17 largos años hemos estado esperando el inicio de un futuro brillante, y fue necesario poner en cuarentena a la mitad del planeta para que las entradas digitales tuvieran mucha más demanda.
La razón es que nadie ha descubierto todavía cómo venderlos de tal manera que:
- Por un lado, exactamente el mismo precio que en la caja;
- Por otro lado, para asegurarse de que no haya abusos como “Veo un controlador a dos pasos, compro un boleto”;
-
Rápido, conveniente y confiable.
El tercer punto aún no ha crecido junto. Ahora les diré cuán hábilmente funciona este esquema. Y diré que veo todos los requisitos previos para que sea conveniente en el futuro.
Veamos cómo compra un usuario y qué sucede en los diferentes sistemas durante este proceso.
La forma complicada habitual sin errores
Paso 1: selección y pago de entradas. Todo es bastante simple y familiar aquí. Dos de nuestras aplicaciones móviles con horarios recibieron botones de "comprar" para los trenes TsPPK (hasta ahora solo TsPPK, sí, es decir, la mayoría de las direcciones de Moscú).
Los precios en la aplicación son exactamente los mismos que en la caja. Usamos los mismos mecanismos que usa CPPK para vender boletos, parece una especie de API técnica interna. Se necesitó mucho atar alrededor de todo esto, porque las bibliotecas listas para usar tanto para iOS como para Android no se comportaban 100% estable. La diferencia entre "casi nunca se bloquea" y "a veces se bloquea" a veces significa crear envoltorios tecnológicamente más avanzados.
Pero sigamos comprando un boleto:
Apple Pay y Google Wallet fueron difíciles para nosotros en este proyecto debido a las características de la puerta de enlace. Esta historia la contará mejor mi colega más adelante. Inicialmente, estudiamos la posibilidad de transferir un cliente a la aplicación oficial CPPK. Fue desarrollado por la empresa Movista, que ganó el concurso correspondiente. Después de varios experimentos, decidimos que mucho trabajo de integración es aún mejor que cambiar la interfaz al momento de la compra.
Paso 2: PD. Aquí nos espera la próxima sorpresa de increíble poder: si no necesita ingresar su nombre completo y número de pasaporte en una caja regular, entonces en línea lo hace. Sí, incluso para los billetes de tren. La base es la orden del Ministerio de Transporte No. 322.
He aquí una prueba :
:
- ( ) ;
- ;
- ;
- ;
- () ;
- — , , * ( ), , , ;
- .
3.4. :
- ( ) ;
- ;
- ;
- ;
- () ;
- — , , * ( ), , , ;
- .
Como puede adivinar, aquí es donde los usuarios se asustan, y hemos hecho todo lo posible para reducir sus dudas. Pero en las pruebas beta, hubo mucha insatisfacción con la ejecución de esta orden.
Si cree que después del pago tiene un boleto en sus manos, entonces todavía no. Tienes un documento en tus manos que puede convertirse en ticket en el momento de la activación en el torniquete de la estación.
Por tanto, paso 3: pasa por el torniquete rojo. En realidad, este es un paso adicional, pero es un requisito de seguridad: primero debe comprar un boleto, luego pasar por el torniquete: los torniquetes
rojos son adecuados (generalmente hay 1 o 2 de ellos en las estaciones CPPK) y validadores verdes. En la parte superior de la publicación, son grandes, pero por lo general se ven así:
Qué sucede:
- Usted compra un boleto, creamos una reserva en el servidor.
- Usted paga por un boleto, se reciben datos de la pasarela de que el pago se realizó correctamente.
- El CPPK envía un ticket y una clave base64 al teléfono, que es la mitad de la clave para activar este ticket.
- La otra mitad de la llave debe tomarse en el torniquete o validador. Vas al torniquete, escanea el código QR.
- Luego se ensambla una llave de las dos mitades, que "abre" el boleto. Pones tu boleto en el torniquete y pasas.
Importante :
- El torniquete no tiene ninguna lógica para verificar el código QR y el boleto. Simplemente muestra sus partes de la llave que cambian constantemente en forma de códigos QR con etiquetas de estación cosidas allí.
- No necesita Internet para conectar las mitades de la llave y obtener un boleto. Todo sucedió casi inmediatamente después de la compra, recibió un boleto y luego todo se hace fuera de línea en el teléfono dentro de la aplicación, tanto su activación como su visualización.
- QR- — . — . .
Si todo salió bien, recibirá un boleto. Si todo salió mal (en lugar del torniquete, escaneó su foto cuidadosamente almacenada de otra estación), obtiene un boleto no válido (si lo activó con el código QR de ayer, por ejemplo) o el boleto no está activado. Por cierto, la oportunidad de obtener un ticket no válido nos hizo pensar que sería fácil revertir el código de la biblioteca.
Queda la última tarea : ¿cómo puede el controlador comprobar el billete electrónico? Después de todo, visualmente no difiere de la captura de pantalla del mismo boleto. Resulta que el CPPK ha encontrado una solución casi ingeniosa: debe abrir un ticket en la aplicación y tocarlo. El ticket activado comenzará a rotar. Se supone que esto protege de manera confiable a la mayoría de la población de las falsificaciones en Photoshop.
Agregamos la reactivación en caso de que se baje en la estación en el camino.
Ahora pasemos a lo dulce: ¡bichos!
Es posible que el torniquete rojo no se abra. Solo tómalo y no te abras. Porque algo en su cerebro de torniquete no se disparará a tiempo. Por ejemplo, protección que le impide pasar por el mismo código QR a dos torniquetes a la vez. La probabilidad es muy pequeña, pero la hay. En este caso, se le acercará un abuelo cansado, que está de servicio en la estación. Lo ha visto cientos de veces y sabe lo que significa vacilar ante el torniquete rojo. Verifique el boleto en la aplicación ("¿Spinning? Spinning!") Y con tranquilidad le dejo pasar.
Es posible que el validador verde de la plataforma no funcione. Esto es Rusia, no Japón, por lo que aquí puede durar más de 3 minutos en total por año. En este caso, debe ir a otro validador, y él está en una plataforma diferente. La probabilidad también es muy baja, pero la hay. Es poco probable que una persona común se enfrente a una situación así, pero la probamos durante mucho tiempo y con fiereza, así que lo sabemos.
Si escaneaste el código QR en el torniquete rojo en el momento del cambio de flujo (cuando te digan: “Ve a otro, aquí la gente se baja del tren”), debes pasar exactamente por este, de lo contrario cortarás el mismo código que se con un boleto no pasaste por todos los torniquetes a la vez. El vecino no se sincroniza inmediatamente. Esto significa medio minuto de retraso o revisar el boleto por parte del abuelo de turno. "¿Está girando? ¡Girando! "
Pequeñas preguntas frecuentes
- ¿Puedo comprar un billete electrónico para un tren desde el metro?
Poder. Por eso te hicimos comprar en la escalera mecánica.
- Si se corta la conexión después de activar el boleto, ¿permanecerá el boleto?
Si. Y girará.
- ¿Necesito internet cuando se activa el ticket en el torniquete?
No, todo sucede sin conexión dentro del software de su teléfono. Ya tienes un ticket, simplemente está descifrado.
- Si veo un controlador, es demasiado tarde para apresurarse a comprar un boleto electrónico, ¿verdad?
Sí, si no dispone de un código QR de la estación más cercana. Y conociendo nuestra mentalidad, no es tan completamente sarcasmo.
- Ja, ¿y si lo fotografiara por la mañana al pasar por el torniquete?
Cambia regularmente en pocos minutos.
- ¿Y si entendiera el patrón de este código?
El algoritmo de codificación cambia a la medianoche y los códigos comienzan a diferir de los anteriores de manera muy dramática.
- Si activo el ticket con el código QR incorrecto, ¿entonces qué?
Entonces tendrás un boleto inválido. O un boleto para la fecha incorrecta.
- ¿Cuánto tiempo es válido el billete electrónico?
Después de la activación, el boleto es válido hasta las 03:00 del día siguiente. Es decir, puedes escanearlo en el torniquete a las 7 am y usarlo a las 21. No hay problema.
- ¿Qué pasa si subo al tren a las 00:01?
En el cruce de fechas, hay un Heisenbug en el sistema de verificación de boletos (boletos de papel también, es decir, no en nuestra pila), cuando los torniquetes pueden no responder al boleto de ayer. El procesamiento es normal: deberá llamar al torniquete de guardia, quien revisará el boleto rotativo y lo dejará pasar.
- ¿Qué pasa si paso el torniquete a las 2:59?
Si en el segundo que transcurrió entre la activación del ticket y el paso al torniquete finalizó la jornada técnica, el asunto también deberá resolverse a través del abuelo. Lo soportará todo.
Otras entradas
Estamos negociando con otros transportistas la venta de entradas a los mismos precios que en taquilla. En muchas direcciones no existen tales dificultades con la activación del billete, por ejemplo, en la mayoría de los trenes Leningradskoye puede comprar un billete dentro del tren. Naturalmente, esto crea una vulnerabilidad conocida y es necesario encontrar algún compromiso que se adapte a todos. Pero me temo que esta es más un área de trabajo comunitario que de desarrollo. Aunque si tienes ideas, estaremos encantados de implementarlas.