% if (is_user_authenticated()) { % if (stash('error')) {
Backend-Fehler

<%= stash('error') %>

% }
% my $status = get_user_status(); % if ($status->{checked_in}) {
Eingecheckt

In <%= $status->{train_type} %> <%= $status->{train_no} %> % if ($status->{arr_name}) { von <%= $status->{dep_name} %> nach <%= $status->{arr_name} %>. % } % else { ab <%= $status->{dep_name} %>. % }

<%= $status->{real_departure}->strftime('%H:%M') %> % if ($status->{real_departure}->epoch != $status->{sched_departure}->epoch) { (<%= sprintf('%+d', ($status->{real_departure}->epoch - $status->{sched_departure}->epoch)/60) %>) % } → % if ($status->{real_arrival}->epoch) { <%= $status->{real_arrival}->strftime('%H:%M') %> % if ($status->{real_arrival}->epoch != $status->{sched_arrival}->epoch) { (<%= sprintf('%+d', ($status->{real_arrival}->epoch - $status->{sched_arrival}->epoch)/60) %>) % } % } % else { unbekannt % }

% if ($status->{departure_countdown} > 120) { Abfahrt in <%= int($status->{departure_countdown} / 60) %> Minuten % } % elsif ($status->{arrival_countdown}) { % if ($status->{arrival_countdown} > 0) { Ankunft in <%= int($status->{arrival_countdown} / 60) %> Minute<%= int($status->{arrival_countdown} / 60) == 1 ? '' : 'n' %> % } % else { Ziel erreicht % } % } % elsif ($status->{arr_name}) { Ankunft in mehr als zwei Stunden % }

% if ($status->{arr_name}) {

Zielstation ändern?

% } % else {

Zielstation wählen:

% } % my $is_after = 0; % for my $station (@{$status->{route_after}}) { % if ($status->{arr_name} and $station eq $status->{arr_name}) { % } % else { % } % }
<%= $station %>
<%= $station %>
% if ($status->{arr_name}) {

Falls das Backend ausgefallen ist oder der Zug aus anderen Gründen verloren ging: Ohne Echtzeitdaten in <%= $status->{arr_name} %> auschecken.

% }
% } % elsif ($status->{cancelled}) {
Zugausfall dokumentieren

Prinzipiell wärest du nun eingecheckt in <%= $status->{train_type} %> <%= $status->{train_no} %> ab <%= $status->{station_name} %>, doch dieser Zug fällt aus.

Falls du den Zugausfall z.B. für ein Fahrgastrechteformular dokumentieren möchtest, wähle bitte jetzt deine geplante Zielstation aus. Achtung: Momentan wird dabei keine Soll-Ankunftszeit gespeichert, das zu beheben steht auf der Todoliste.

% my $is_after = 0; % for my $station (@{$status->{route_after}}) { % }
<%= $station %>
% } % else {
Hallo, <%= current_user()->{name} %>!

Du bist gerade nicht eingecheckt.

Stationen in der Umgebung:

%= form_for 'list_departures' => begin
%= text_field 'station', id => 'station', class => 'autocomplete white-text', required => undef
%= end
% }

Letzte Fahrten

%= include '_history_trains', journeys => [get_user_travels(limit => 5)]; % } % else {

Travelynx erlaubt das Einchecken in Züge im Netz der Deutschen Bahn. So können die eigenen Fahrten später inklusive Echtzeitdaten und eingetragenen Servicemeldungen nachvollzogen und brennende Fragen wie „Wie viele Stunden habe ich letzten Monat im Zug vebracht?“ beantwortet werden.

Die Idee dazu kommt von Träwelling, hier gibt es aber keine Twitter-Anbindung und keine öffentlichen Leaderboards.

Features:

Travelynx ist ein kostenfreies, privat betriebenes Projekt ohne Verfügbarkeitsgarantie. Unangekündigte Downtimes oder eine kurzfristige Einstellung dieser Seite sind nicht vorgesehen, aber möglich. Wer mag, kann auch den Quelltext laden und eine eigene Instanz aufsetzen.

addRegistrieren account_circleAnmelden
% }