From 73b4d40e02b7060befc24e64a67ca387227d67e6 Mon Sep 17 00:00:00 2001 From: Traines Date: Wed, 18 Dec 2024 01:16:57 +0000 Subject: [PATCH] trip by id support --- format/trip-req.js | 17 +- index.js | 6 +- p/db/base.json | 1 + parse/journey-leg.js | 2 +- parse/trip.js | 18 +- test/e2e/db.js | 4 +- .../requests_1722637011/recording.har | 289 ++++++++++++++++++ test/e2e/lib/validators.js | 2 +- 8 files changed, 305 insertions(+), 34 deletions(-) diff --git a/format/trip-req.js b/format/trip-req.js index 7a4af097..78dd2506 100644 --- a/format/trip-req.js +++ b/format/trip-req.js @@ -1,15 +1,12 @@ -const formatTripReq = ({opt}, id) => { +const formatTripReq = ({profile, opt}, id) => { return { - cfg: {polyEnc: 'GPA'}, - meth: 'JourneyDetails', - req: { - // todo: getTrainComposition - jid: id, - // HAFAS apparently ignores the date in the trip ID and uses the `date` field. - // Thus, it will find a different trip if you pass the wrong date via `opt.when`. - // date: profile.formatDate(profile, opt.when), - getPolyline: Boolean(opt.polyline), + endpoint: profile.tripEndpoint, + path: '', + query: { + journeyId: id, + poly: opt.polyline || opt.polylines, }, + method: 'get', }; }; diff --git a/index.js b/index.js index 8517cf94..7eadabd9 100644 --- a/index.js +++ b/index.js @@ -364,13 +364,11 @@ const createClient = (profile, userAgent, opt = {}) => { const {res} = await profile.request({profile, opt}, userAgent, req); const ctx = {profile, opt, common, res}; - const trip = profile.parseTrip(ctx, res.journey); + const trip = profile.parseTrip(ctx, res); return { trip, - realtimeDataUpdatedAt: res.planrtTS && res.planrtTS !== '0' - ? parseInt(res.planrtTS) - : null, + realtimeDataUpdatedAt: null, // TODO }; }; diff --git a/p/db/base.json b/p/db/base.json index be6690e8..01a0952e 100644 --- a/p/db/base.json +++ b/p/db/base.json @@ -3,6 +3,7 @@ "refreshJourneysEndpoint": "https://int.bahn.de/web/api/angebote/recon", "locationsEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte", "nearbyEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte/nearby", + "tripEndpoint": "https://int.bahn.de/web/api/reiseloesung/fahrt", "boardEndpoint": "https://regio-guide.de/@prd/zupo-travel-information/api/public/ri/board/", "defaultLanguage": "en" } diff --git a/parse/journey-leg.js b/parse/journey-leg.js index f01bba1a..4feea7d3 100644 --- a/parse/journey-leg.js +++ b/parse/journey-leg.js @@ -45,7 +45,7 @@ const parseJourneyLeg = (ctx, pt, date, fallbackLocations) => { // pt = raw leg } ] */ - if (opt.polylines && pt.polylineGroup) { + if ((opt.polylines || opt.polyline) && pt.polylineGroup) { res.polyline = profile.parsePolyline(ctx, pt.polylineGroup); // TODO polylines not returned anymore, set "poly": true in request, apparently only works for /reiseloesung/verbindung } diff --git a/parse/trip.js b/parse/trip.js index 020ea3c0..fe221bb8 100644 --- a/parse/trip.js +++ b/parse/trip.js @@ -1,26 +1,12 @@ -import minBy from 'lodash/minBy.js'; -import maxBy from 'lodash/maxBy.js'; -import last from 'lodash/last.js'; - const parseTrip = (ctx, t) => { // t = raw trip const {profile} = ctx; // pretend the trip is a leg in a journey - const fakeLeg = { - type: 'JNY', - dep: Array.isArray(t.stopL) - ? minBy(t.stopL, 'idx') || t.stopL[0] - : {}, - arr: Array.isArray(t.stopL) - ? maxBy(t.stopL, 'idx') || last(t.stopL) - : {}, - jny: t, - }; - - const trip = profile.parseJourneyLeg(ctx, fakeLeg); + const trip = profile.parseJourneyLeg(ctx, t); trip.id = trip.tripId; // TODO journeyId delete trip.tripId; delete trip.reachable; + trip.cancelled = t.cancelled; // TODO opt.scheduledDays return trip; diff --git a/test/e2e/db.js b/test/e2e/db.js index 319fe25e..647f3756 100644 --- a/test/e2e/db.js +++ b/test/e2e/db.js @@ -367,7 +367,7 @@ tap.skip('journeysFromTrip – U Mehringdamm to U Naturkundemuseum, reroute to S } });*/ -/* tap.test('trip details', async (t) => { +tap.test('trip details', async (t) => { const res = await client.journeys(berlinHbf, münchenHbf, { results: 1, departure: when, }); @@ -393,7 +393,7 @@ tap.skip('journeysFromTrip – U Mehringdamm to U Naturkundemuseum, reroute to S validate(t, tripRes, 'tripResult', 'tripRes'); t.end(); -});*/ +}); tap.test('departures at Berlin Schwedter Str.', async (t) => { const res = await client.departures(blnSchwedterStr, { diff --git a/test/e2e/fixtures/requests_1722637011/recording.har b/test/e2e/fixtures/requests_1722637011/recording.har index dead99f0..c732a826 100644 --- a/test/e2e/fixtures/requests_1722637011/recording.har +++ b/test/e2e/fixtures/requests_1722637011/recording.har @@ -2375,6 +2375,295 @@ "ssl": -1, "wait": 1082 } + }, + { + "_id": "3a86608e5bab8ff5b699e2502bd47121", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 633, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip, br, deflate" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "accept-language", + "value": "en" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "public-tra26559bnsport/h26559bafas-c26559blient:26559btest" + }, + { + "_fromType": "array", + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "content-length", + "value": "633" + }, + { + "name": "host", + "value": "int.bahn.de" + } + ], + "headersSize": 314, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"maxUmstiege\":null,\"minUmstiegszeit\":0,\"deutschlandTicketVorhanden\":false,\"nurDeutschlandTicketVerbindungen\":false,\"reservierungsKontingenteVorhanden\":false,\"schnelleVerbindungen\":true,\"sitzplatzOnly\":false,\"abfahrtsHalt\":\"A=1@L=8011160@\",\"zwischenhalte\":null,\"ankunftsHalt\":\"A=1@L=8000261@\",\"produktgattungen\":[\"ICE\",\"EC_IC\",\"IR\",\"REGIONAL\",\"SBAHN\",\"BUS\",\"SCHIFF\",\"UBAHN\",\"TRAM\",\"ANRUFPFLICHTIG\"],\"bikeCarriage\":false,\"anfrageZeitpunkt\":\"2025-05-19T10:00:00\",\"ankunftSuche\":\"ABFAHRT\",\"klasse\":\"KLASSE_2\",\"reisende\":[{\"typ\":\"ERWACHSENER\",\"anzahl\":1,\"alter\":[],\"ermaessigungen\":[{\"art\":\"KEINE_ERMAESSIGUNG\",\"klasse\":\"KLASSENLOS\"}]}]}" + }, + "queryString": [], + "url": "https://int.bahn.de/web/api/angebote/fahrplan" + }, + "response": { + "bodySize": 50785, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 50785, + "text": "{\"verbindungen\":[{\"tripId\":\"4c0c8fdc_3\",\"ctxRecon\":\"¶HKI¶T$A=1@O=Berlin Hbf@X=13369549@Y=52525589@L=8098160@a=128@$A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@L=8000284@a=128@$202505191004$202505191323$ICE 93$$1$$$$$$§T$A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@L=8000284@a=128@$A=1@O=München Hbf@X=11558339@Y=48140229@L=8000261@a=128@$202505191328$202505191441$ICE 535$$1$$$$$$¶KC¶#VE#2#CF#100#CA#0#CM#0#SICT#0#AM#81#AM2#0#RT#7#¶KCC¶I1ZFIzEjRVJHIzIjSElOIzAjRUNLIzc2MDkyNHw3NjA5MjR8NzYxMjAxfDc2MTIwMXwwfDB8NDg1fDc2MDkxN3wxfDB8MjZ8MHwwfC0yMTQ3NDgzNjQ4I0dBTSMxOTA1MjUxMDA0IwpaI1ZOIzEjU1QjMTczNDM3ODMyNyNQSSMxI1pJIzIyMzEzOSNUQSMwI0RBIzE5MDUyNSMxUyM4MDAyNTUzIzFUIzc1MSNMUyM4MTAzMDAwI0xUIzE3NDcjUFUjODEjUlQjMSNDQSNJQ0UjWkUjOTMjWkIjSUNFICAgOTMjUEMjMCNGUiM4MDk4MTYwI0ZUIzEwMDQjVE8jODAwMDI4NCNUVCMxMzIzIwpaI1ZOIzEjU1QjMTczNDM3ODMyNyNQSSMxI1pJIzE4MjMyMCNUQSMwI0RBIzE5MDUyNSMxUyM4MDAwMDUwIzFUIzkxNSNMUyM4MDAwMjYxI0xUIzE0NDEjUFUjODEjUlQjMSNDQSNJQ0UjWkUjNTM1I1pCI0lDRSAgNTM1I1BDIzAjRlIjODAwMDI4NCNGVCMxMzI4I1RPIzgwMDAyNjEjVFQjMTQ0MSM=¶KRCC¶#VE#1#¶SC¶1_H4sIAAAAAAACA3WQ3UvDMBTF/5f7XEtS6ZyBwexKQSlaRHwRH8KazUg+Zj6GpfR/96Z9GcjylHNyzu9eMsJZOGBA87s1ZCB+A4q6yt/r/B61Ez/ARjBRN8DKLF0qYCQDG0PNg8BwQYqSlDSl0XyTOpmUpIPWYSbc0Ay+zdCo4FpgHyOE4ZRi3etLjSFt+6Qen3cozlzFBVHcwvQ577T7Oi5gnKyluZS9OLV2v1CV7LH4sKHbdrMmlNIV2SLRh2XTZsZx564UCClW9H/hKEJn1aCkQe/AlRez92SjM2KobDS9v3zouPdKevzI4CJaYm877rjG0DhN0x9MKBu3cgEAAA==\",\"verbindungsAbschnitte\":[{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"1071\",\"externeBahnhofsinfoIdDestination\":\"4593\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:04:00\",\"abfahrtsOrt\":\"Berlin Hbf\",\"abfahrtsOrtExtId\":\"8098160\",\"abschnittsDauer\":11940,\"abschnittsAnteil\":73.16,\"ankunftsZeitpunkt\":\"2025-05-19T13:23:00\",\"ankunftsOrt\":\"Nürnberg Hbf\",\"ankunftsOrtExtId\":\"8000284\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=81@L=8098160@i=U×008031922@\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:04:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Berlin Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1071\",\"extId\":\"8098160\",\"himMeldungen\":[],\"routeIdx\":3,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Berlin Südkreuz@X=13365315@Y=52475043@U=81@L=8011113@i=U×008065971@\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:11:00\",\"ankunftsZeitpunkt\":\"2025-05-19T10:09:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Berlin Südkreuz\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4859\",\"extId\":\"8011113\",\"routeIdx\":4,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Halle(Saale)Hbf@X=11987088@Y=51477510@U=81@L=8010159@i=U×008023002@\",\"abfahrtsZeitpunkt\":\"2025-05-19T11:18:00\",\"ankunftsZeitpunkt\":\"2025-05-19T11:16:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"6\",\"name\":\"Halle(Saale)Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2498\",\"extId\":\"8010159\",\"routeIdx\":5,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erfurt Hbf@X=11037989@Y=50972352@U=81@L=8010101@i=U×008016043@\",\"abfahrtsZeitpunkt\":\"2025-05-19T11:54:00\",\"ankunftsZeitpunkt\":\"2025-05-19T11:52:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Erfurt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1634\",\"extId\":\"8010101\",\"routeIdx\":6,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Coburg@X=10957329@Y=50262923@U=81@L=8001338@i=U×008022804@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:28:00\",\"ankunftsZeitpunkt\":\"2025-05-19T12:27:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Coburg\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1059\",\"extId\":\"8001338\",\"routeIdx\":7,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"ankunftsZeitpunkt\":\"2025-05-19T13:23:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"8\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"himMeldungen\":[],\"routeIdx\":8,\"priorisierteMeldungen\":[]}],\"idx\":0,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#223139#TA#0#DA#190525#1S#8002553#1T#751#LS#8103000#LT#1747#PU#81#RT#1#CA#ICE#ZE#93#ZB#ICE 93#PC#0#FR#8002553#FT#751#TO#8103000#TT#1747#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 93\",\"nummer\":\"93\",\"richtung\":\"Wien Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FR\",\"value\":\"Bicycles conveyed - subject to reservation\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FB\",\"value\":\"Number of bicycles conveyed limited\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 93\",\"langText\":\"ICE 93\"}},{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"4593\",\"externeBahnhofsinfoIdDestination\":\"4234\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:28:00\",\"abfahrtsOrt\":\"Nürnberg Hbf\",\"abfahrtsOrtExtId\":\"8000284\",\"abschnittsDauer\":4380,\"abschnittsAnteil\":26.84,\"ankunftsZeitpunkt\":\"2025-05-19T14:41:00\",\"ankunftsOrt\":\"München Hbf\",\"ankunftsOrtExtId\":\"8000261\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:28:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"9\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"himMeldungen\":[],\"routeIdx\":8,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Ingolstadt Hbf@X=11437335@Y=48744538@U=81@L=8000183@i=U×008020422@\",\"abfahrtsZeitpunkt\":\"2025-05-19T14:01:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:59:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"Ingolstadt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2993\",\"extId\":\"8000183\",\"routeIdx\":9,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=München Hbf@X=11558339@Y=48140229@U=81@L=8000261@i=U×008020347@\",\"ankunftsZeitpunkt\":\"2025-05-19T14:41:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"name\":\"München Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4234\",\"extId\":\"8000261\",\"himMeldungen\":[],\"routeIdx\":10,\"priorisierteMeldungen\":[]}],\"idx\":1,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#182320#TA#0#DA#190525#1S#8000050#1T#915#LS#8000261#LT#1441#PU#81#RT#1#CA#ICE#ZE#535#ZB#ICE 535#PC#0#FR#8000050#FT#915#TO#8000261#TT#1441#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 535\",\"nummer\":\"535\",\"richtung\":\"München Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Nürnberg Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Nürnberg Hbf - München Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 535\",\"langText\":\"ICE 585 / ICE 535\"}}],\"umstiegsAnzahl\":1,\"verbindungsDauerInSeconds\":16620,\"ezVerbindungsDauerInSeconds\":16620,\"isAlternativeVerbindung\":false,\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"auslastungstexte\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_2\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_1\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_2\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_1\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"}],\"himMeldungen\":[],\"risNotizen\":[],\"priorisierteMeldungen\":[],\"reservierungsMeldungen\":[],\"isAngebotseinholungNachgelagert\":false,\"isAlterseingabeErforderlich\":false,\"serviceDays\":[{\"lastDateInPeriod\":\"2025-12-12\",\"regular\":\"Mo - Fr\",\"irregular\":\"not 18. Feb until 15. Apr 2025\",\"planningPeriodBegin\":\"2023-12-10\",\"planningPeriodEnd\":\"2025-12-13\",\"weekdays\":[\"MO\",\"DI\",\"MI\",\"DO\",\"FR\"]}],\"angebotsPreis\":{\"betrag\":69.99,\"waehrung\":\"EUR\",\"mwst\":[{\"betrag\":4.58,\"brutto\":69.99,\"netto\":65.41,\"satz\":7,\"literal\":\"D\"}]},\"angebotsPreisKlasse\":\"KLASSE_2\",\"hasTeilpreis\":false,\"reiseAngebote\":[],\"hinRueckPauschalpreis\":false,\"isReservierungAusserhalbVorverkaufszeitraum\":false,\"gesamtAngebotsbeziehungList\":[]},{\"tripId\":\"614526d1_3\",\"ctxRecon\":\"¶HKI¶T$A=1@O=Berlin Hbf@X=13369549@Y=52525589@L=8098160@a=128@$A=1@O=München Hbf@X=11558339@Y=48140229@L=8000261@a=128@$202505191028$202505191504$ICE 507$$1$$$$$$¶KC¶#VE#2#CF#100#CA#0#CM#0#SICT#0#AM#81#AM2#0#RT#7#¶KCC¶I1ZFIzEjRVJHIzEjSElOIzAjRUNLIzc2MDk0OHw3NjA5NDh8NzYxMjI0fDc2MTIyNHwwfDB8NDg1fDc2MDkyNXwyfDB8MTA1MHwwfDB8LTIxNDc0ODM2NDgjR0FNIzE5MDUyNTEwMjgjClojVk4jMSNTVCMxNzM0Mzc4MzI3I1BJIzEjWkkjMTgyMDI4I1RBIzAjREEjMTkwNTI1IzFTIzgwMDI1NTMjMVQjODE4I0xTIzgwMDAyNjEjTFQjMTUwNCNQVSM4MSNSVCMxI0NBI0lDRSNaRSM1MDcjWkIjSUNFICA1MDcjUEMjMCNGUiM4MDk4MTYwI0ZUIzEwMjgjVE8jODAwMDI2MSNUVCMxNTA0Iw==¶KRCC¶#VE#1#¶SC¶1_H4sIAAAAAAACA3WQ3UvDMBTF/5f7XEtS6ZyBwexKQSlaRHwRH8KazUg+Zj6GpfR/96Z9GcjylHNyzu9eMsJZOGBA87s1ZCB+A4q6yt/r/B61Ez/ARjBRN8DKLF0qYCQDG0PNg8BwQYqSlDSl0XyTOpmUpIPWYSbc0Ay+zdCo4FpgHyOE4ZRi3etLjSFt+6Qen3cozlzFBVHcwvQ577T7Oi5gnKyluZS9OLV2v1CV7LH4sKHbdrMmlNIV2SLRh2XTZsZx564UCClW9H/hKEJn1aCkQe/AlRez92SjM2KobDS9v3zouPdKevzI4CJaYm877rjG0DhN0x9MKBu3cgEAAA==\",\"verbindungsAbschnitte\":[{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"1071\",\"externeBahnhofsinfoIdDestination\":\"4234\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:28:00\",\"abfahrtsOrt\":\"Berlin Hbf\",\"abfahrtsOrtExtId\":\"8098160\",\"abschnittsDauer\":16560,\"abschnittsAnteil\":100,\"ankunftsZeitpunkt\":\"2025-05-19T15:04:00\",\"ankunftsOrt\":\"München Hbf\",\"ankunftsOrtExtId\":\"8000261\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=81@L=8098160@i=U×008031922@\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:28:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Berlin Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1071\",\"extId\":\"8098160\",\"himMeldungen\":[],\"routeIdx\":4,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Berlin Südkreuz@X=13365315@Y=52475043@U=81@L=8011113@i=U×008065971@\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:36:00\",\"ankunftsZeitpunkt\":\"2025-05-19T10:33:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"Berlin Südkreuz\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4859\",\"extId\":\"8011113\",\"routeIdx\":5,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Lutherstadt Wittenberg Hbf@X=12662286@Y=51867813@U=81@L=8010222@i=U×008023141@\",\"abfahrtsZeitpunkt\":\"2025-05-19T11:11:00\",\"ankunftsZeitpunkt\":\"2025-05-19T11:10:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Lutherstadt Wittenberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"3863\",\"extId\":\"8010222\",\"routeIdx\":6,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Leipzig Hbf@X=12382066@Y=51345467@U=81@L=8010205@i=U×008023179@\",\"abfahrtsZeitpunkt\":\"2025-05-19T11:48:00\",\"ankunftsZeitpunkt\":\"2025-05-19T11:42:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"11\",\"name\":\"Leipzig Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"3631\",\"extId\":\"8010205\",\"routeIdx\":7,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erfurt Hbf@X=11037989@Y=50972352@U=81@L=8010101@i=U×008016043@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:31:00\",\"ankunftsZeitpunkt\":\"2025-05-19T12:29:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Erfurt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1634\",\"extId\":\"8010101\",\"routeIdx\":8,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Bamberg@X=10899493@Y=49900757@U=81@L=8000025@i=U×008022090@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:15:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:14:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"Bamberg\",\"risNotizen\":[],\"bahnhofsInfoId\":\"0393\",\"extId\":\"8000025\",\"routeIdx\":9,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erlangen@X=11001637@Y=49595834@U=81@L=8001844@i=U×008022163@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:38:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:36:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Erlangen\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1650\",\"extId\":\"8001844\",\"routeIdx\":10,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:55:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:52:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"9\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"routeIdx\":11,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=München Hbf@X=11558339@Y=48140229@U=81@L=8000261@i=U×008020347@\",\"ankunftsZeitpunkt\":\"2025-05-19T15:04:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"name\":\"München Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4234\",\"extId\":\"8000261\",\"himMeldungen\":[],\"routeIdx\":12,\"priorisierteMeldungen\":[]}],\"idx\":0,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#182028#TA#0#DA#190525#1S#8002553#1T#818#LS#8000261#LT#1504#PU#81#RT#1#CA#ICE#ZE#507#ZB#ICE 507#PC#0#FR#8002553#FT#818#TO#8000261#TT#1504#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 507\",\"nummer\":\"507\",\"richtung\":\"München Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FR\",\"value\":\"Bicycles conveyed - subject to reservation\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FB\",\"value\":\"Number of bicycles conveyed limited\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"EH\",\"value\":\"vehicle-mounted access aid\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 507\",\"langText\":\"ICE 507\"}}],\"umstiegsAnzahl\":0,\"verbindungsDauerInSeconds\":16560,\"ezVerbindungsDauerInSeconds\":16560,\"isAlternativeVerbindung\":false,\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"auslastungstexte\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_2\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_1\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_2\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_1\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"}],\"himMeldungen\":[],\"risNotizen\":[],\"priorisierteMeldungen\":[],\"reservierungsMeldungen\":[],\"isAngebotseinholungNachgelagert\":false,\"isAlterseingabeErforderlich\":false,\"serviceDays\":[{\"lastDateInPeriod\":\"2025-12-13\",\"regular\":\"daily\",\"irregular\":\"not 18. Feb until 15. Apr 2025\",\"planningPeriodBegin\":\"2023-12-10\",\"planningPeriodEnd\":\"2025-12-13\",\"weekdays\":[\"MO\",\"DI\",\"MI\",\"DO\",\"FR\",\"SA\",\"SO\"]}],\"angebotsPreis\":{\"betrag\":37.99,\"waehrung\":\"EUR\",\"mwst\":[{\"betrag\":2.49,\"brutto\":37.99,\"netto\":35.5,\"satz\":7,\"literal\":\"D\"}]},\"angebotsPreisKlasse\":\"KLASSE_2\",\"hasTeilpreis\":false,\"reiseAngebote\":[],\"hinRueckPauschalpreis\":false,\"isReservierungAusserhalbVorverkaufszeitraum\":false,\"gesamtAngebotsbeziehungList\":[]},{\"tripId\":\"903ed404_3\",\"ctxRecon\":\"¶HKI¶T$A=1@O=Berlin Hbf@X=13369549@Y=52525589@L=8098160@a=128@$A=1@O=München Hbf@X=11558339@Y=48140229@L=8000261@a=128@$202505191204$202505191601$ICE 1005$$1$$$$$$¶KC¶#VE#2#CF#100#CA#0#CM#0#SICT#0#AM#81#AM2#0#RT#7#¶KCC¶I1ZFIzEjRVJHIzEjSElOIzAjRUNLIzc2MTA0NHw3NjEwNDR8NzYxMjgxfDc2MTI4MXwwfDB8NjYwMjF8NzYwOTQ5fDN8MHwxMDQyfDB8MHwtMjE0NzQ4MzY0OCNHQU0jMTkwNTI1MTIwNCMKWiNWTiMxI1NUIzE3MzQzNzgzMjcjUEkjMSNaSSMxNzk2MjUjVEEjMCNEQSMxOTA1MjUjMVMjODAwMjU1MyMxVCM5NTAjTFMjODAwMDI2MSNMVCMxNjAxI1BVIzgxI1JUIzEjQ0EjSUNFI1pFIzEwMDUjWkIjSUNFIDEwMDUjUEMjMCNGUiM4MDk4MTYwI0ZUIzEyMDQjVE8jODAwMDI2MSNUVCMxNjAxIw==¶KRCC¶#VE#1#¶SC¶1_H4sIAAAAAAACA3WQ3UvDMBTF/5f7XEtS6ZyBwexKQSlaRHwRH8KazUg+Zj6GpfR/96Z9GcjylHNyzu9eMsJZOGBA87s1ZCB+A4q6yt/r/B61Ez/ARjBRN8DKLF0qYCQDG0PNg8BwQYqSlDSl0XyTOpmUpIPWYSbc0Ay+zdCo4FpgHyOE4ZRi3etLjSFt+6Qen3cozlzFBVHcwvQ577T7Oi5gnKyluZS9OLV2v1CV7LH4sKHbdrMmlNIV2SLRh2XTZsZx564UCClW9H/hKEJn1aCkQe/AlRez92SjM2KobDS9v3zouPdKevzI4CJaYm877rjG0DhN0x9MKBu3cgEAAA==\",\"verbindungsAbschnitte\":[{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"1071\",\"externeBahnhofsinfoIdDestination\":\"4234\",\"iceSprinterNote\":\"ICE Sprinter\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:04:00\",\"abfahrtsOrt\":\"Berlin Hbf\",\"abfahrtsOrtExtId\":\"8098160\",\"abschnittsDauer\":14220,\"abschnittsAnteil\":100,\"ankunftsZeitpunkt\":\"2025-05-19T16:01:00\",\"ankunftsOrt\":\"München Hbf\",\"ankunftsOrtExtId\":\"8000261\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=81@L=8098160@i=U×008031922@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:04:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Berlin Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1071\",\"extId\":\"8098160\",\"himMeldungen\":[],\"routeIdx\":4,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Berlin Südkreuz@X=13365315@Y=52475043@U=81@L=8011113@i=U×008065971@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:11:00\",\"ankunftsZeitpunkt\":\"2025-05-19T12:09:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Berlin Südkreuz\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4859\",\"extId\":\"8011113\",\"routeIdx\":5,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Halle(Saale)Hbf@X=11987088@Y=51477510@U=81@L=8010159@i=U×008023002@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:18:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:16:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"6\",\"name\":\"Halle(Saale)Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2498\",\"extId\":\"8010159\",\"routeIdx\":6,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erfurt Hbf@X=11037989@Y=50972352@U=81@L=8010101@i=U×008016043@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:47:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:45:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Erfurt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1634\",\"extId\":\"8010101\",\"routeIdx\":7,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"abfahrtsZeitpunkt\":\"2025-05-19T14:59:00\",\"ankunftsZeitpunkt\":\"2025-05-19T14:56:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"8\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"routeIdx\":8,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=München Hbf@X=11558339@Y=48140229@U=81@L=8000261@i=U×008020347@\",\"ankunftsZeitpunkt\":\"2025-05-19T16:01:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"name\":\"München Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4234\",\"extId\":\"8000261\",\"himMeldungen\":[],\"routeIdx\":9,\"priorisierteMeldungen\":[]}],\"idx\":0,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#179625#TA#0#DA#190525#1S#8002553#1T#950#LS#8000261#LT#1601#PU#81#RT#1#CA#ICE#ZE#1005#ZB#ICE 1005#PC#0#FR#8002553#FT#950#TO#8000261#TT#1601#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 1005\",\"nummer\":\"1005\",\"richtung\":\"München Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"SPRINTER\",\"key\":\"IT\",\"value\":\"ICE Sprinter\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 1005\",\"langText\":\"ICE 1005\"}}],\"umstiegsAnzahl\":0,\"verbindungsDauerInSeconds\":14220,\"ezVerbindungsDauerInSeconds\":14220,\"isAlternativeVerbindung\":false,\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"auslastungstexte\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_2\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_1\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_2\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_1\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"}],\"himMeldungen\":[],\"risNotizen\":[],\"priorisierteMeldungen\":[],\"reservierungsMeldungen\":[],\"isAngebotseinholungNachgelagert\":false,\"isAlterseingabeErforderlich\":false,\"serviceDays\":[{\"lastDateInPeriod\":\"2025-12-13\",\"regular\":\"daily\",\"irregular\":\"not 18. Feb until 20. Apr 2025\",\"planningPeriodBegin\":\"2023-12-10\",\"planningPeriodEnd\":\"2025-12-13\",\"weekdays\":[\"MO\",\"DI\",\"MI\",\"DO\",\"FR\",\"SA\",\"SO\"]}],\"angebotsPreis\":{\"betrag\":65.99,\"waehrung\":\"EUR\",\"mwst\":[{\"betrag\":4.32,\"brutto\":65.99,\"netto\":61.67,\"satz\":7,\"literal\":\"D\"}]},\"angebotsPreisKlasse\":\"KLASSE_2\",\"hasTeilpreis\":false,\"reiseAngebote\":[],\"hinRueckPauschalpreis\":false,\"isReservierungAusserhalbVorverkaufszeitraum\":false,\"gesamtAngebotsbeziehungList\":[]},{\"tripId\":\"d8c7ca44_3\",\"ctxRecon\":\"¶HKI¶T$A=1@O=Berlin Hbf@X=13369549@Y=52525589@L=8098160@a=128@$A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@L=8000284@a=128@$202505191204$202505191456$ICE 1005$$1$$$$$$§T$A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@L=8000284@a=128@$A=1@O=München Hbf@X=11558339@Y=48140229@L=8000261@a=128@$202505191528$202505191641$ICE 537$$1$$$$$$¶KC¶#VE#2#CF#100#CA#0#CM#0#SICT#0#AM#81#AM2#0#RT#7#¶KCC¶I1ZFIzEjRVJHIzQ1MDU4I0hJTiMwI0VDSyM3NjEwNDR8NzYxMDQ0fDc2MTI4MXw3NjEzMjF8MHwwfDQ4NXw3NjA5NDl8NHwwfDh8MHwwfC0yMTQ3NDgzNjQ4I0dBTSMxOTA1MjUxMjA0IwpaI1ZOIzEjU1QjMTczNDM3ODMyNyNQSSMxI1pJIzE3OTYyNSNUQSMwI0RBIzE5MDUyNSMxUyM4MDAyNTUzIzFUIzk1MCNMUyM4MDAwMjYxI0xUIzE2MDEjUFUjODEjUlQjMSNDQSNJQ0UjWkUjMTAwNSNaQiNJQ0UgMTAwNSNQQyMwI0ZSIzgwOTgxNjAjRlQjMTIwNCNUTyM4MDAwMjg0I1RUIzE0NTYjClojVk4jMSNTVCMxNzM0Mzc4MzI3I1BJIzEjWkkjMTgyMzIyI1RBIzAjREEjMTkwNTI1IzFTIzgwMDAwNTAjMVQjMTExNSNMUyM4MDAwMjYxI0xUIzE2NDEjUFUjODEjUlQjMSNDQSNJQ0UjWkUjNTM3I1pCI0lDRSAgNTM3I1BDIzAjRlIjODAwMDI4NCNGVCMxNTI4I1RPIzgwMDAyNjEjVFQjMTY0MSM=¶KRCC¶#VE#1#¶SC¶1_H4sIAAAAAAACA3WQ3UvDMBTF/5f7XEtS6ZyBwexKQSlaRHwRH8KazUg+Zj6GpfR/96Z9GcjylHNyzu9eMsJZOGBA87s1ZCB+A4q6yt/r/B61Ez/ARjBRN8DKLF0qYCQDG0PNg8BwQYqSlDSl0XyTOpmUpIPWYSbc0Ay+zdCo4FpgHyOE4ZRi3etLjSFt+6Qen3cozlzFBVHcwvQ577T7Oi5gnKyluZS9OLV2v1CV7LH4sKHbdrMmlNIV2SLRh2XTZsZx564UCClW9H/hKEJn1aCkQe/AlRez92SjM2KobDS9v3zouPdKevzI4CJaYm877rjG0DhN0x9MKBu3cgEAAA==\",\"verbindungsAbschnitte\":[{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"1071\",\"externeBahnhofsinfoIdDestination\":\"4593\",\"iceSprinterNote\":\"ICE Sprinter\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:04:00\",\"abfahrtsOrt\":\"Berlin Hbf\",\"abfahrtsOrtExtId\":\"8098160\",\"abschnittsDauer\":10320,\"abschnittsAnteil\":70.2,\"ankunftsZeitpunkt\":\"2025-05-19T14:56:00\",\"ankunftsOrt\":\"Nürnberg Hbf\",\"ankunftsOrtExtId\":\"8000284\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=81@L=8098160@i=U×008031922@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:04:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Berlin Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1071\",\"extId\":\"8098160\",\"himMeldungen\":[],\"routeIdx\":4,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Berlin Südkreuz@X=13365315@Y=52475043@U=81@L=8011113@i=U×008065971@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:11:00\",\"ankunftsZeitpunkt\":\"2025-05-19T12:09:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Berlin Südkreuz\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4859\",\"extId\":\"8011113\",\"routeIdx\":5,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Halle(Saale)Hbf@X=11987088@Y=51477510@U=81@L=8010159@i=U×008023002@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:18:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:16:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"6\",\"name\":\"Halle(Saale)Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2498\",\"extId\":\"8010159\",\"routeIdx\":6,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erfurt Hbf@X=11037989@Y=50972352@U=81@L=8010101@i=U×008016043@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:47:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:45:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Erfurt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1634\",\"extId\":\"8010101\",\"routeIdx\":7,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"ankunftsZeitpunkt\":\"2025-05-19T14:56:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"8\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"himMeldungen\":[],\"routeIdx\":8,\"priorisierteMeldungen\":[]}],\"idx\":0,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#179625#TA#0#DA#190525#1S#8002553#1T#950#LS#8000261#LT#1601#PU#81#RT#1#CA#ICE#ZE#1005#ZB#ICE 1005#PC#0#FR#8002553#FT#950#TO#8000261#TT#1601#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 1005\",\"nummer\":\"1005\",\"richtung\":\"München Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"},{\"kategorie\":\"SPRINTER\",\"key\":\"IT\",\"value\":\"ICE Sprinter\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Berlin Hbf - Nürnberg Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 1005\",\"langText\":\"ICE 1005\"}},{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"4593\",\"externeBahnhofsinfoIdDestination\":\"4234\",\"abfahrtsZeitpunkt\":\"2025-05-19T15:28:00\",\"abfahrtsOrt\":\"Nürnberg Hbf\",\"abfahrtsOrtExtId\":\"8000284\",\"abschnittsDauer\":4380,\"abschnittsAnteil\":29.8,\"ankunftsZeitpunkt\":\"2025-05-19T16:41:00\",\"ankunftsOrt\":\"München Hbf\",\"ankunftsOrtExtId\":\"8000261\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"abfahrtsZeitpunkt\":\"2025-05-19T15:28:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"9\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"himMeldungen\":[],\"routeIdx\":8,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Ingolstadt Hbf@X=11437335@Y=48744538@U=81@L=8000183@i=U×008020422@\",\"abfahrtsZeitpunkt\":\"2025-05-19T16:02:00\",\"ankunftsZeitpunkt\":\"2025-05-19T16:00:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"Ingolstadt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2993\",\"extId\":\"8000183\",\"routeIdx\":9,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=München Hbf@X=11558339@Y=48140229@U=81@L=8000261@i=U×008020347@\",\"ankunftsZeitpunkt\":\"2025-05-19T16:41:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"name\":\"München Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4234\",\"extId\":\"8000261\",\"himMeldungen\":[],\"routeIdx\":10,\"priorisierteMeldungen\":[]}],\"idx\":1,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#182322#TA#0#DA#190525#1S#8000050#1T#1115#LS#8000261#LT#1641#PU#81#RT#1#CA#ICE#ZE#537#ZB#ICE 537#PC#0#FR#8000050#FT#1115#TO#8000261#TT#1641#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 537\",\"nummer\":\"537\",\"richtung\":\"München Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Nürnberg Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Nürnberg Hbf - München Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 537\",\"langText\":\"ICE 587 / ICE 537\"}}],\"umstiegsAnzahl\":1,\"verbindungsDauerInSeconds\":16620,\"ezVerbindungsDauerInSeconds\":16620,\"isAlternativeVerbindung\":false,\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"auslastungstexte\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_2\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_1\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_2\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_1\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"}],\"himMeldungen\":[],\"risNotizen\":[],\"priorisierteMeldungen\":[],\"reservierungsMeldungen\":[],\"isAngebotseinholungNachgelagert\":false,\"isAlterseingabeErforderlich\":false,\"serviceDays\":[{\"lastDateInPeriod\":\"2025-12-13\",\"regular\":\"daily\",\"irregular\":\"not 18. Feb until 20. Apr 2025\",\"planningPeriodBegin\":\"2023-12-10\",\"planningPeriodEnd\":\"2025-12-13\",\"weekdays\":[\"MO\",\"DI\",\"MI\",\"DO\",\"FR\",\"SA\",\"SO\"]}],\"angebotsPreis\":{\"betrag\":65.99,\"waehrung\":\"EUR\",\"mwst\":[{\"betrag\":4.32,\"brutto\":65.99,\"netto\":61.67,\"satz\":7,\"literal\":\"D\"}]},\"angebotsPreisKlasse\":\"KLASSE_2\",\"hasTeilpreis\":false,\"reiseAngebote\":[],\"hinRueckPauschalpreis\":false,\"isReservierungAusserhalbVorverkaufszeitraum\":false,\"gesamtAngebotsbeziehungList\":[]},{\"tripId\":\"d5ae1ed6_3\",\"ctxRecon\":\"¶HKI¶T$A=1@O=Berlin Hbf@X=13369549@Y=52525589@L=8098160@a=128@$A=1@O=München Hbf@X=11558339@Y=48140229@L=8000261@a=128@$202505191228$202505191701$ICE 509$$1$$$$$$¶KC¶#VE#2#CF#100#CA#0#CM#0#SICT#0#AM#81#AM2#0#RT#7#¶KCC¶I1ZFIzEjRVJHIzEjSElOIzAjRUNLIzc2MTA2OHw3NjEwNjh8NzYxMzQxfDc2MTM0MXwwfDB8NDg1fDc2MTA0NXw1fDB8MTA1MHwwfDB8LTIxNDc0ODM2NDgjR0FNIzE5MDUyNTEyMjgjClojVk4jMSNTVCMxNzM0Mzc4MzI3I1BJIzEjWkkjMTgyMDM1I1RBIzAjREEjMTkwNTI1IzFTIzgwMDI1NTMjMVQjMTAxNyNMUyM4MDAwMjYxI0xUIzE3MDEjUFUjODEjUlQjMSNDQSNJQ0UjWkUjNTA5I1pCI0lDRSAgNTA5I1BDIzAjRlIjODA5ODE2MCNGVCMxMjI4I1RPIzgwMDAyNjEjVFQjMTcwMSM=¶KRCC¶#VE#1#¶SC¶1_H4sIAAAAAAACA3WQ3UvDMBTF/5f7XEtS6ZyBwexKQSlaRHwRH8KazUg+Zj6GpfR/96Z9GcjylHNyzu9eMsJZOGBA87s1ZCB+A4q6yt/r/B61Ez/ARjBRN8DKLF0qYCQDG0PNg8BwQYqSlDSl0XyTOpmUpIPWYSbc0Ay+zdCo4FpgHyOE4ZRi3etLjSFt+6Qen3cozlzFBVHcwvQ577T7Oi5gnKyluZS9OLV2v1CV7LH4sKHbdrMmlNIV2SLRh2XTZsZx564UCClW9H/hKEJn1aCkQe/AlRez92SjM2KobDS9v3zouPdKevzI4CJaYm877rjG0DhN0x9MKBu3cgEAAA==\",\"verbindungsAbschnitte\":[{\"risNotizen\":[],\"himMeldungen\":[],\"priorisierteMeldungen\":[],\"externeBahnhofsinfoIdOrigin\":\"1071\",\"externeBahnhofsinfoIdDestination\":\"4234\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:28:00\",\"abfahrtsOrt\":\"Berlin Hbf\",\"abfahrtsOrtExtId\":\"8098160\",\"abschnittsDauer\":16380,\"abschnittsAnteil\":100,\"ankunftsZeitpunkt\":\"2025-05-19T17:01:00\",\"ankunftsOrt\":\"München Hbf\",\"ankunftsOrtExtId\":\"8000261\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"halte\":[{\"id\":\"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=81@L=8098160@i=U×008031922@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:28:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Berlin Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1071\",\"extId\":\"8098160\",\"himMeldungen\":[],\"routeIdx\":4,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Berlin Südkreuz@X=13365315@Y=52475043@U=81@L=8011113@i=U×008065971@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:36:00\",\"ankunftsZeitpunkt\":\"2025-05-19T12:33:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"Berlin Südkreuz\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4859\",\"extId\":\"8011113\",\"routeIdx\":5,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Lutherstadt Wittenberg Hbf@X=12662286@Y=51867813@U=81@L=8010222@i=U×008023141@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:11:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:10:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Lutherstadt Wittenberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"3863\",\"extId\":\"8010222\",\"routeIdx\":6,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Leipzig Hbf@X=12382066@Y=51345467@U=81@L=8010205@i=U×008023179@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:48:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:42:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"11\",\"name\":\"Leipzig Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"3631\",\"extId\":\"8010205\",\"routeIdx\":7,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erfurt Hbf@X=11037989@Y=50972352@U=81@L=8010101@i=U×008016043@\",\"abfahrtsZeitpunkt\":\"2025-05-19T14:31:00\",\"ankunftsZeitpunkt\":\"2025-05-19T14:29:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Erfurt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1634\",\"extId\":\"8010101\",\"routeIdx\":8,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Bamberg@X=10899493@Y=49900757@U=81@L=8000025@i=U×008022090@\",\"abfahrtsZeitpunkt\":\"2025-05-19T15:16:00\",\"ankunftsZeitpunkt\":\"2025-05-19T15:15:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"Bamberg\",\"risNotizen\":[],\"bahnhofsInfoId\":\"0393\",\"extId\":\"8000025\",\"routeIdx\":9,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Erlangen@X=11001637@Y=49595834@U=81@L=8001844@i=U×008022163@\",\"abfahrtsZeitpunkt\":\"2025-05-19T15:38:00\",\"ankunftsZeitpunkt\":\"2025-05-19T15:36:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Erlangen\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1650\",\"extId\":\"8001844\",\"routeIdx\":10,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"abfahrtsZeitpunkt\":\"2025-05-19T15:55:00\",\"ankunftsZeitpunkt\":\"2025-05-19T15:52:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"9\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"routeIdx\":11,\"priorisierteMeldungen\":[]},{\"id\":\"A=1@O=München Hbf@X=11558339@Y=48140229@U=81@L=8000261@i=U×008020347@\",\"ankunftsZeitpunkt\":\"2025-05-19T17:01:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"name\":\"München Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4234\",\"extId\":\"8000261\",\"himMeldungen\":[],\"routeIdx\":12,\"priorisierteMeldungen\":[]}],\"idx\":0,\"journeyId\":\"2|#VN#1#ST#1734378327#PI#1#ZI#182035#TA#0#DA#190525#1S#8002553#1T#1017#LS#8000261#LT#1701#PU#81#RT#1#CA#ICE#ZE#509#ZB#ICE 509#PC#0#FR#8002553#FT#1017#TO#8000261#TT#1701#\",\"verkehrsmittel\":{\"produktGattung\":\"ICE\",\"kategorie\":\"ICE\",\"name\":\"ICE 509\",\"nummer\":\"509\",\"richtung\":\"München Hbf\",\"typ\":\"PUBLICTRANSPORT\",\"zugattribute\":[{\"kategorie\":\"BEFÖRDERER\",\"key\":\"BEF\",\"value\":\"DB Fernverkehr AG\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FR\",\"value\":\"Bicycles conveyed - subject to reservation\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FB\",\"value\":\"Number of bicycles conveyed limited\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"EH\",\"value\":\"vehicle-mounted access aid\",\"teilstreckenHinweis\":\"(Berlin Hbf - München Hbf)\"}],\"kurzText\":\"ICE\",\"mittelText\":\"ICE 509\",\"langText\":\"ICE 509\"}}],\"umstiegsAnzahl\":0,\"verbindungsDauerInSeconds\":16380,\"ezVerbindungsDauerInSeconds\":16380,\"isAlternativeVerbindung\":false,\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"auslastungstexte\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_2\",\"stufe\":0,\"kurzText\":\"No occupancy information available\"},{\"klasse\":\"KLASSE_1\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_2\",\"stufe\":1,\"kurzText\":\"Low demand expected\"},{\"klasse\":\"KLASSE_1\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":2,\"anzeigeText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\",\"kurzText\":\"Medium demand expected\",\"langText\":\"We expect medium demand for your journey. Reserve the seat of your choice now.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":3,\"anzeigeText\":\"We expect high demand for your journey. We recommend reserving a seat.\",\"kurzText\":\"High demand expected\",\"langText\":\"We expect high demand for your journey. We recommend reserving a seat.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 1st class. Passengers who have not yet purchased a ticket should choose a different connection or book a 2nd.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":4,\"anzeigeText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect an exceptionally high occupancy in the course of your trip in 2nd class. Passengers who have not yet purchased a ticket should choose a different connection or book a 1st.\"},{\"klasse\":\"KLASSE_1\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"},{\"klasse\":\"KLASSE_2\",\"stufe\":99,\"anzeigeText\":\"We expect exceptionally high demand for your journey.\",\"kurzText\":\"Exceptionally high demand expected\",\"langText\":\"We expect exceptionally high demand for your journey. Passengers who have not yet purchased a ticket should choose another connection.\"}],\"himMeldungen\":[],\"risNotizen\":[],\"priorisierteMeldungen\":[],\"reservierungsMeldungen\":[],\"isAngebotseinholungNachgelagert\":false,\"isAlterseingabeErforderlich\":false,\"serviceDays\":[{\"lastDateInPeriod\":\"2025-12-13\",\"regular\":\"daily\",\"irregular\":\"not 18. Feb until 15. Apr 2025\",\"planningPeriodBegin\":\"2023-12-10\",\"planningPeriodEnd\":\"2025-12-13\",\"weekdays\":[\"MO\",\"DI\",\"MI\",\"DO\",\"FR\",\"SA\",\"SO\"]}],\"angebotsPreis\":{\"betrag\":37.99,\"waehrung\":\"EUR\",\"mwst\":[{\"betrag\":2.49,\"brutto\":37.99,\"netto\":35.5,\"satz\":7,\"literal\":\"D\"}]},\"angebotsPreisKlasse\":\"KLASSE_2\",\"hasTeilpreis\":false,\"reiseAngebote\":[],\"hinRueckPauschalpreis\":false,\"isReservierungAusserhalbVorverkaufszeitraum\":false,\"gesamtAngebotsbeziehungList\":[]}],\"verbindungReference\":{\"earlier\":\"3|OB|MTµ14µ760924µ760924µ761201µ761201µ0µ0µ485µ760917µ1µ0µ26µ0µ0µ-2147483648µ1µ2|PDHµ911ba99c31657ded28e805d6766e45d4|RDµ19052025|RTµ100000|USµ0|RSµINIT\",\"later\":\"3|OF|MTµ14µ761068µ761068µ761341µ761341µ0µ0µ485µ761045µ5µ0µ1050µ0µ0µ-2147483648µ1µ2|PDHµ911ba99c31657ded28e805d6766e45d4|RDµ19052025|RTµ100000|USµ0|RSµINIT\"}}" + }, + "cookies": [ + { + "domain": ".bahn.de", + "expires": "2025-12-18T01:15:12.000Z", + "maxAge": 31536000, + "name": "_abck", + "path": "/", + "secure": true, + "value": "45517FB39BE42231C33B282084E42AB1~-1~YAAQY7MUAvRJK7uTAQAAKk5V1w1gxbVfwi3tPJcNwBC4KktqAI/cJbqXiV5I9EHHiKFZaa7QKamOz+FD1wng/OXWcZTa0ZElKyymbvNjQwX38ugliVu+xjuLBiP/z3ZoXhNHYuG1eOVk0JkF0HCJ1cYHijClEx9dkMG/FTbUkVqWEaHljpia7nw7ENlvAKT/M3hLG9hpvegZ3dEI5jOEfAH3fStAqircaYdANBg5fTo0iLvlggxkKIayW7LEdZD6OU2EakXKCvcGiwDkWRxr1avSFNFhv4hvmc6dzG0JnCWuD0qft9jJE4sh95mZ+X67fuSC+Kzo12Y2PVZEKhRGJSEFMs7rR2nWpe91LqDO/9tG8Yqf+3USjm7Y1/DPtZTtY4XzplLpRxDTXUnnSku4aQpFFFRHIaI=~-1~-1~-1" + }, + { + "domain": ".bahn.de", + "expires": "2024-12-18T05:15:11.000Z", + "maxAge": 14399, + "name": "bm_sz", + "path": "/", + "value": "3F8A74456E4223DD3A242105CED409EF~YAAQY7MUAvVJK7uTAQAAKk5V1xrtLa0RQyF3sKkYU4WYg8Lr0yyJ8UN9aXdfeMIv0m0Yx84YTZeobVsWjJJWPiUL8HqLbJ3HMeUv6iE5bZALNzZxLpKo602ypZNX4jIkQDTzo1QzoqrmDF2y3Czr8ZoX/pGIPMA8LqDQf63QEw5gC76UUDHUCjt97JCC1JFIoCAHOQIZGV86S0wo3QelyPS5faz1PN4T5mWdUFdnLxeX0QwNtmIpy1ei6PSUEsc2TeXRiTfpkzgHq4QJVlfLAxMIfFW3yMO8DtNbinBBhXi0minrNvN6YhZ+jz4tbnLshSqy1MZ1Zx1vT3AJ7dRbGTNJF6DBwHpGH/uM~4469304~4538694" + } + ], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "50785" + }, + { + "name": "server-timing", + "value": "intid;desc=2073d875c603607c, intid;desc=2073d875c603607c" + }, + { + "name": "cache-control", + "value": "no-store, max-age=0" + }, + { + "name": "etag", + "value": "W/\"c661-zFyWe89t+jbYiVbVR4N/D8QnSwI\"" + }, + { + "name": "strict-transport-security", + "value": "max-age=16070400; includeSubDomains" + }, + { + "name": "date", + "value": "Wed, 18 Dec 2024 01:15:12 GMT" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "_abck=45517FB39BE42231C33B282084E42AB1~-1~YAAQY7MUAvRJK7uTAQAAKk5V1w1gxbVfwi3tPJcNwBC4KktqAI/cJbqXiV5I9EHHiKFZaa7QKamOz+FD1wng/OXWcZTa0ZElKyymbvNjQwX38ugliVu+xjuLBiP/z3ZoXhNHYuG1eOVk0JkF0HCJ1cYHijClEx9dkMG/FTbUkVqWEaHljpia7nw7ENlvAKT/M3hLG9hpvegZ3dEI5jOEfAH3fStAqircaYdANBg5fTo0iLvlggxkKIayW7LEdZD6OU2EakXKCvcGiwDkWRxr1avSFNFhv4hvmc6dzG0JnCWuD0qft9jJE4sh95mZ+X67fuSC+Kzo12Y2PVZEKhRGJSEFMs7rR2nWpe91LqDO/9tG8Yqf+3USjm7Y1/DPtZTtY4XzplLpRxDTXUnnSku4aQpFFFRHIaI=~-1~-1~-1; Domain=.bahn.de; Path=/; Expires=Thu, 18 Dec 2025 01:15:12 GMT; Max-Age=31536000; Secure" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "bm_sz=3F8A74456E4223DD3A242105CED409EF~YAAQY7MUAvVJK7uTAQAAKk5V1xrtLa0RQyF3sKkYU4WYg8Lr0yyJ8UN9aXdfeMIv0m0Yx84YTZeobVsWjJJWPiUL8HqLbJ3HMeUv6iE5bZALNzZxLpKo602ypZNX4jIkQDTzo1QzoqrmDF2y3Czr8ZoX/pGIPMA8LqDQf63QEw5gC76UUDHUCjt97JCC1JFIoCAHOQIZGV86S0wo3QelyPS5faz1PN4T5mWdUFdnLxeX0QwNtmIpy1ei6PSUEsc2TeXRiTfpkzgHq4QJVlfLAxMIfFW3yMO8DtNbinBBhXi0minrNvN6YhZ+jz4tbnLshSqy1MZ1Zx1vT3AJ7dRbGTNJF6DBwHpGH/uM~4469304~4538694; Domain=.bahn.de; Path=/; Expires=Wed, 18 Dec 2024 05:15:11 GMT; Max-Age=14399" + } + ], + "headersSize": 1425, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2024-12-18T01:15:11.738Z", + "time": 574, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 574 + } + }, + { + "_id": "87d6a3b313d00a23b7a99ca1809e984d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip, br, deflate" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "accept-language", + "value": "en" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "publi26559bc-transp26559bort/ha26559bfas-clien26559bt:test" + }, + { + "_fromType": "array", + "name": "connection", + "value": "keep-alive" + }, + { + "name": "host", + "value": "int.bahn.de" + } + ], + "headersSize": 561, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "journeyId", + "value": "2|#VN#1#ST#1734378327#PI#1#ZI#223139#TA#0#DA#190525#1S#8002553#1T#751#LS#8103000#LT#1747#PU#81#RT#1#CA#ICE#ZE#93#ZB#ICE 93#PC#0#FR#8002553#FT#751#TO#8103000#TT#1747#" + } + ], + "url": "https://int.bahn.de/web/api/reiseloesung/fahrt?journeyId=2%7C%23VN%231%23ST%231734378327%23PI%231%23ZI%23223139%23TA%230%23DA%23190525%231S%238002553%231T%23751%23LS%238103000%23LT%231747%23PU%2381%23RT%231%23CA%23ICE%23ZE%2393%23ZB%23ICE%20%20%2093%23PC%230%23FR%238002553%23FT%23751%23TO%238103000%23TT%231747%23" + }, + "response": { + "bodySize": 8621, + "content": { + "mimeType": "application/json; charset=utf-8", + "size": 8621, + "text": "{\"reisetag\":\"2025-05-19\",\"regulaereVerkehrstage\":\"not every day\",\"irregulaereVerkehrstage\":\"18. Dec 2024 until 1. Aug 2025; not 18. Feb until 15. Apr 2025\",\"zugName\":\"ICE 93\",\"halte\":[{\"id\":\"A=1@O=Hamburg-Altona@X=9935175@Y=53552697@U=81@L=8002553@i=U×008001093@\",\"abfahrtsZeitpunkt\":\"2025-05-19T07:51:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"9\",\"name\":\"Hamburg-Altona\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2517\",\"extId\":\"8002553\",\"routeIdx\":0,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Hamburg Hbf@X=10006909@Y=53552733@U=81@L=8002549@i=U×008001071@\",\"abfahrtsZeitpunkt\":\"2025-05-19T08:05:00\",\"ankunftsZeitpunkt\":\"2025-05-19T08:02:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"8\",\"name\":\"Hamburg Hbf\",\"risNotizen\":[{\"key\":\"text.realtime.stop.exit.disabled\",\"value\":\"Enter only, no exiting allowed\"}],\"bahnhofsInfoId\":\"2514\",\"extId\":\"8002549\",\"routeIdx\":1,\"priorisierteMeldungen\":[{\"prioritaet\":\"NIEDRIG\",\"text\":\"Enter only, no exiting allowed\"}],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Berlin-Spandau@X=13196902@Y=52534650@U=81@L=8010404@i=U×008003025@\",\"abfahrtsZeitpunkt\":\"2025-05-19T09:45:00\",\"ankunftsZeitpunkt\":\"2025-05-19T09:43:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"5\",\"name\":\"Berlin-Spandau\",\"risNotizen\":[],\"bahnhofsInfoId\":\"0561\",\"extId\":\"8010404\",\"routeIdx\":2,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=81@L=8098160@i=U×008031922@\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:04:00\",\"ankunftsZeitpunkt\":\"2025-05-19T09:53:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Berlin Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1071\",\"extId\":\"8098160\",\"routeIdx\":3,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Berlin Südkreuz@X=13365315@Y=52475043@U=81@L=8011113@i=U×008065971@\",\"abfahrtsZeitpunkt\":\"2025-05-19T10:11:00\",\"ankunftsZeitpunkt\":\"2025-05-19T10:09:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Berlin Südkreuz\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4859\",\"extId\":\"8011113\",\"routeIdx\":4,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Halle(Saale)Hbf@X=11987088@Y=51477510@U=81@L=8010159@i=U×008023002@\",\"abfahrtsZeitpunkt\":\"2025-05-19T11:18:00\",\"ankunftsZeitpunkt\":\"2025-05-19T11:16:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"6\",\"name\":\"Halle(Saale)Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"2498\",\"extId\":\"8010159\",\"routeIdx\":5,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Erfurt Hbf@X=11037989@Y=50972352@U=81@L=8010101@i=U×008016043@\",\"abfahrtsZeitpunkt\":\"2025-05-19T11:54:00\",\"ankunftsZeitpunkt\":\"2025-05-19T11:52:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"1\",\"name\":\"Erfurt Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1634\",\"extId\":\"8010101\",\"routeIdx\":6,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Coburg@X=10957329@Y=50262923@U=81@L=8001338@i=U×008022804@\",\"abfahrtsZeitpunkt\":\"2025-05-19T12:28:00\",\"ankunftsZeitpunkt\":\"2025-05-19T12:27:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"2\",\"name\":\"Coburg\",\"risNotizen\":[],\"bahnhofsInfoId\":\"1059\",\"extId\":\"8001338\",\"routeIdx\":7,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@U=81@L=8000284@i=U×008022193@\",\"abfahrtsZeitpunkt\":\"2025-05-19T13:32:00\",\"ankunftsZeitpunkt\":\"2025-05-19T13:23:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"8\",\"name\":\"Nürnberg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4593\",\"extId\":\"8000284\",\"routeIdx\":8,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Regensburg Hbf@X=12099615@Y=49011670@U=81@L=8000309@i=U×008026294@\",\"abfahrtsZeitpunkt\":\"2025-05-19T14:25:00\",\"ankunftsZeitpunkt\":\"2025-05-19T14:23:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"9\",\"name\":\"Regensburg Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"5169\",\"extId\":\"8000309\",\"routeIdx\":9,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Straubing@X=12574093@Y=48876976@U=81@L=8000095@i=U×008026397@\",\"abfahrtsZeitpunkt\":\"2025-05-19T14:49:00\",\"ankunftsZeitpunkt\":\"2025-05-19T14:47:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"4\",\"name\":\"Straubing\",\"risNotizen\":[],\"bahnhofsInfoId\":\"6056\",\"extId\":\"8000095\",\"routeIdx\":10,\"priorisierteMeldungen\":[],\"adminID\":\"80\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Passau Hbf@X=13450775@Y=48573635@U=81@L=8000298@i=U×008026506@\",\"abfahrtsZeitpunkt\":\"2025-05-19T15:29:00\",\"ankunftsZeitpunkt\":\"2025-05-19T15:26:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"5\",\"name\":\"Passau Hbf\",\"risNotizen\":[],\"bahnhofsInfoId\":\"4872\",\"extId\":\"8000298\",\"routeIdx\":11,\"priorisierteMeldungen\":[],\"adminID\":\"81\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Linz Hbf@X=14292129@Y=48290178@U=81@L=8100013@i=U×008101073@\",\"abfahrtsZeitpunkt\":\"2025-05-19T16:28:00\",\"ankunftsZeitpunkt\":\"2025-05-19T16:26:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"8A-F\",\"name\":\"Linz Hbf\",\"risNotizen\":[],\"extId\":\"8100013\",\"routeIdx\":12,\"priorisierteMeldungen\":[],\"adminID\":\"81\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=St.Pölten Hbf@X=15624681@Y=48208277@U=81@L=8100008@i=U×008101032@\",\"abfahrtsZeitpunkt\":\"2025-05-19T17:16:00\",\"ankunftsZeitpunkt\":\"2025-05-19T17:14:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"3\",\"name\":\"St.Pölten Hbf\",\"risNotizen\":[],\"extId\":\"8100008\",\"routeIdx\":13,\"priorisierteMeldungen\":[],\"adminID\":\"81\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Wien Meidling@X=16333085@Y=48174451@U=81@L=8100514@i=U×008103107@\",\"abfahrtsZeitpunkt\":\"2025-05-19T17:42:00\",\"ankunftsZeitpunkt\":\"2025-05-19T17:40:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"6\",\"name\":\"Wien Meidling\",\"risNotizen\":[],\"extId\":\"8100514\",\"routeIdx\":14,\"priorisierteMeldungen\":[],\"adminID\":\"81\",\"kategorie\":\"ICE\",\"nummer\":\"93\"},{\"id\":\"A=1@O=Wien Hbf@X=16377114@Y=48185103@U=81@L=8103000@i=U×008101003@\",\"ankunftsZeitpunkt\":\"2025-05-19T17:47:00\",\"auslastungsmeldungen\":[{\"klasse\":\"KLASSE_1\",\"stufe\":0},{\"klasse\":\"KLASSE_2\",\"stufe\":0}],\"gleis\":\"11A-B\",\"name\":\"Wien Hbf\",\"risNotizen\":[],\"extId\":\"8103000\",\"routeIdx\":15,\"priorisierteMeldungen\":[],\"adminID\":\"81\",\"kategorie\":\"ICE\",\"nummer\":\"93\"}],\"himMeldungen\":[],\"risNotizen\":[],\"zugattribute\":[{\"kategorie\":\"BARRIEREFREI\",\"key\":\"RO\",\"value\":\"space for wheelchairs\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"},{\"kategorie\":\"BORDBISTRO\",\"key\":\"BR\",\"value\":\"Bordrestaurant\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FR\",\"value\":\"Bicycles conveyed - subject to reservation\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FB\",\"value\":\"Number of bicycles conveyed limited\",\"teilstreckenHinweis\":\"(Hamburg-Altona - Passau Hbf)\"},{\"kategorie\":\"FAHRRADMITNAHME\",\"key\":\"FB\",\"value\":\"Number of bicycles conveyed limited\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"WV\",\"value\":\"Wifi available\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"},{\"kategorie\":\"KINDERABTEIL\",\"key\":\"KK\",\"value\":\"parent-and-children compartment\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"CK\",\"value\":\"Komfort Check-in possible (visit bahn.de/kci for more information)\",\"teilstreckenHinweis\":\"(Hamburg-Altona - Passau Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"OA\",\"value\":\"Wheelchair space - For advance notification, call +43 5 1717\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"OC\",\"value\":\"WC accessible for wheelchair\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"},{\"kategorie\":\"INFORMATION\",\"key\":\"HD\",\"value\":\"Quiet Zone\",\"teilstreckenHinweis\":\"(Passau Hbf - Wien Hbf)\"}],\"priorisierteMeldungen\":[],\"abfahrtsZeitpunkt\":\"2025-05-19T07:51:00\",\"ankunftsZeitpunkt\":\"2025-05-19T17:47:00\",\"cancelled\":false}" + }, + "cookies": [ + { + "domain": ".bahn.de", + "expires": "2025-12-18T01:15:12.000Z", + "maxAge": 31536000, + "name": "_abck", + "path": "/", + "secure": true, + "value": "50F31CBA566B50FFD7C04098C024DD52~-1~YAAQY7MUAgFKK7uTAQAA4U5V1w3aEasultfoSQfZEZ8BvZLddJgJgnjwNAU4MDRX5C45Lba0SoJ8xzxJx2neFUQlsFWiHz/OjHhvuHRjppqD9upj0xk2rFlW6VvQV8MZh/vGNJiC6Vki+drKA7Rfyi846hh+nZbxjd7CuRrYF4B68/UVG0SQm5XyYuFPiJJVz9fapLzxpSQVvgRkXNd75YnemuK4Wy5k8n8OvMWjuh5P0h3kGi+mpNw57SW7Vetmf6fWI6N1bqANnYi2UTE1SS4eVhZ5OwWbVjhE3/q5tMDqr/d44TT2b2MWRhA88Ov0O78XhkDR44v0u8fGGzm4VrSg2UKMmckS3A0XCFXRSTf/kxxAjW/B8K/3snDPgeH8tjIQWUGyJ0uOPtodjKvxNG+PON7EJ/w=~-1~-1~-1" + }, + { + "domain": ".bahn.de", + "expires": "2024-12-18T05:15:12.000Z", + "maxAge": 14400, + "name": "bm_sz", + "path": "/", + "value": "D7FD5A55CCAC3BEDFE38F3DEB8195B30~YAAQY7MUAgJKK7uTAQAA4U5V1xrRI8SznhWRMEcATjfdkh+1/r0nABKd+WjGKOXQuOr6A+lE6YRyRJL+MBuJ77Cwi1vsoShSRi13sKmesPqaZSmDk0Gl/6ZZv3HLAg/MbysJd/nbzHGS69oknsQe3rB/E1EUq3qWMnVRgy65Dlcm0cklHJmlxXd8CXqgGbp6lJ2Bx4BEGZvxV458gt9ZovUk6UAX4i+F6liOHZ9qtCtq18O2+L1wfXFtafeHdiSfllPsDHlmH0HC5cICcC51x6lZjM4kOb8hmdqJ4adZpqC4ZjRt8YSbqgeJWgqPSDXQE+1DHEFGrIat1sLnHFjLnFXLpxVRC2SXwTFM~3289925~3684675" + } + ], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "content-length", + "value": "8621" + }, + { + "name": "server-timing", + "value": "intid;desc=091439f89f5256a1, intid;desc=091439f89f5256a1" + }, + { + "name": "cache-control", + "value": "no-store, max-age=0" + }, + { + "name": "etag", + "value": "W/\"21ad-4ErLyvwIYhfFcHqNoHt2b++F9yc\"" + }, + { + "name": "strict-transport-security", + "value": "max-age=16070400; includeSubDomains" + }, + { + "name": "date", + "value": "Wed, 18 Dec 2024 01:15:12 GMT" + }, + { + "name": "connection", + "value": "keep-alive" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "_abck=50F31CBA566B50FFD7C04098C024DD52~-1~YAAQY7MUAgFKK7uTAQAA4U5V1w3aEasultfoSQfZEZ8BvZLddJgJgnjwNAU4MDRX5C45Lba0SoJ8xzxJx2neFUQlsFWiHz/OjHhvuHRjppqD9upj0xk2rFlW6VvQV8MZh/vGNJiC6Vki+drKA7Rfyi846hh+nZbxjd7CuRrYF4B68/UVG0SQm5XyYuFPiJJVz9fapLzxpSQVvgRkXNd75YnemuK4Wy5k8n8OvMWjuh5P0h3kGi+mpNw57SW7Vetmf6fWI6N1bqANnYi2UTE1SS4eVhZ5OwWbVjhE3/q5tMDqr/d44TT2b2MWRhA88Ov0O78XhkDR44v0u8fGGzm4VrSg2UKMmckS3A0XCFXRSTf/kxxAjW/B8K/3snDPgeH8tjIQWUGyJ0uOPtodjKvxNG+PON7EJ/w=~-1~-1~-1; Domain=.bahn.de; Path=/; Expires=Thu, 18 Dec 2025 01:15:12 GMT; Max-Age=31536000; Secure" + }, + { + "_fromType": "array", + "name": "set-cookie", + "value": "bm_sz=D7FD5A55CCAC3BEDFE38F3DEB8195B30~YAAQY7MUAgJKK7uTAQAA4U5V1xrRI8SznhWRMEcATjfdkh+1/r0nABKd+WjGKOXQuOr6A+lE6YRyRJL+MBuJ77Cwi1vsoShSRi13sKmesPqaZSmDk0Gl/6ZZv3HLAg/MbysJd/nbzHGS69oknsQe3rB/E1EUq3qWMnVRgy65Dlcm0cklHJmlxXd8CXqgGbp6lJ2Bx4BEGZvxV458gt9ZovUk6UAX4i+F6liOHZ9qtCtq18O2+L1wfXFtafeHdiSfllPsDHlmH0HC5cICcC51x6lZjM4kOb8hmdqJ4adZpqC4ZjRt8YSbqgeJWgqPSDXQE+1DHEFGrIat1sLnHFjLnFXLpxVRC2SXwTFM~3289925~3684675; Domain=.bahn.de; Path=/; Expires=Wed, 18 Dec 2024 05:15:12 GMT; Max-Age=14400" + } + ], + "headersSize": 1424, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-12-18T01:15:12.326Z", + "time": 164, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 164 + } } ], "pages": [], diff --git a/test/e2e/lib/validators.js b/test/e2e/lib/validators.js index 62349a65..3bc3dd7b 100644 --- a/test/e2e/lib/validators.js +++ b/test/e2e/lib/validators.js @@ -24,7 +24,7 @@ const createValidateRealtimeDataUpdatedAt = (cfg) => { const createValidateProducts = (cfg) => { const validateProducts = (val, p, name = 'products') => { return; // TODO - /*a.ok(isObj(p), name + ' must be an object'); + /* a.ok(isObj(p), name + ' must be an object'); for (let product of cfg.products) { const msg = `${name}[${product.id}] must be a boolean`; a.strictEqual(typeof p[product.id], 'boolean', msg);