Beschreibung
Bei aktivierter Option „Deutschlandticket vorhanden“ funktioniert die Split-Ticketing-Analyse bei mir nicht zuverlässig.
Die App behauptet wiederholt, dass bestimmte Teilstrecken durch das Deutschlandticket abgedeckt seien, obwohl die betreffenden Verbindungen bzw. Streckenabschnitte ICE enthalten und nicht vom Deutschlandticket abgedeckt sind.
Dadurch werden ICE-Strecken teilweise mit 0,00 € bewertet und als
Fahrt durch Deutschland-Ticket abgedeckt
angezeigt.
Das ist nicht nur ein falsches Optimierungsergebnis, sondern potenziell problematisch, weil Nutzer dadurch den Eindruck bekommen können, für einen tatsächlich kostenpflichtigen Fernverkehrsabschnitt kein zusätzliches Ticket zu benötigen.
Aktuelles Verhalten
Bei aktiviertem Deutschlandticket werden Teilstrecken mit ICE-Anteilen teilweise als vollständig vom Deutschlandticket abgedeckt dargestellt.
Beispielhaft tritt bei mir sinngemäß folgendes Ergebnis auf:
- Teilstrecke enthält einen ICE-Abschnitt
- Split-Ticketing setzt Preis auf
0,00 €
- App kennzeichnet die Fahrt als durch das Deutschlandticket abgedeckt
Das passiert bei mir wiederholt und nicht nur als einmaliger Ausreißer.


Erwartetes Verhalten
Eine Teilstrecke darf nur dann als vollständig vom Deutschlandticket abgedeckt und mit 0,00 € bewertet werden, wenn die gesamte für dieses Segment tatsächlich verwendete Verbindung vom Deutschlandticket abgedeckt ist.
Sobald ein nicht abgedeckter Abschnitt enthalten ist, insbesondere z. B.:
- ICE
- IC/EC
- sonstiger nicht vom Deutschlandticket abgedeckter Fernverkehr
darf die gesamte Teilstrecke nicht pauschal als kostenlos markiert werden.
Mögliche Ursache im aktuellen Code
Soweit ich den Code richtig verstehe, liegt eine sehr plausible Ursache in bahn_api_service.dart.
Aktuell wird über alle verbindungsAbschnitte iteriert und bereits dann isCoveredByDTicket = true gesetzt, wenn irgendein einzelner Abschnitt ein Zugattribut mit key == '9G' enthält:
bool isCoveredByDTicket = false;
if (_hasDeutschlandTicket) {
for (var section
in firstConnection['verbindungsAbschnitte'] ?? []) {
final attributes =
section['verkehrsmittel']?['zugattribute'] ?? [];
for (var attr in attributes) {
if (attr['key'] == '9G') {
isCoveredByDTicket = true;
break;
}
}
if (isCoveredByDTicket) break;
}
}
Beschreibung
Bei aktivierter Option „Deutschlandticket vorhanden“ funktioniert die Split-Ticketing-Analyse bei mir nicht zuverlässig.
Die App behauptet wiederholt, dass bestimmte Teilstrecken durch das Deutschlandticket abgedeckt seien, obwohl die betreffenden Verbindungen bzw. Streckenabschnitte ICE enthalten und nicht vom Deutschlandticket abgedeckt sind.
Dadurch werden ICE-Strecken teilweise mit 0,00 € bewertet und als
angezeigt.
Das ist nicht nur ein falsches Optimierungsergebnis, sondern potenziell problematisch, weil Nutzer dadurch den Eindruck bekommen können, für einen tatsächlich kostenpflichtigen Fernverkehrsabschnitt kein zusätzliches Ticket zu benötigen.
Aktuelles Verhalten
Bei aktiviertem Deutschlandticket werden Teilstrecken mit ICE-Anteilen teilweise als vollständig vom Deutschlandticket abgedeckt dargestellt.
Beispielhaft tritt bei mir sinngemäß folgendes Ergebnis auf:
0,00 €Das passiert bei mir wiederholt und nicht nur als einmaliger Ausreißer.
Erwartetes Verhalten
Eine Teilstrecke darf nur dann als vollständig vom Deutschlandticket abgedeckt und mit
0,00 €bewertet werden, wenn die gesamte für dieses Segment tatsächlich verwendete Verbindung vom Deutschlandticket abgedeckt ist.Sobald ein nicht abgedeckter Abschnitt enthalten ist, insbesondere z. B.:
darf die gesamte Teilstrecke nicht pauschal als kostenlos markiert werden.
Mögliche Ursache im aktuellen Code
Soweit ich den Code richtig verstehe, liegt eine sehr plausible Ursache in
bahn_api_service.dart.Aktuell wird über alle
verbindungsAbschnitteiteriert und bereits dannisCoveredByDTicket = truegesetzt, wenn irgendein einzelner Abschnitt ein Zugattribut mitkey == '9G'enthält: