diff --git a/p/bvg/index.js b/p/bvg/index.js
index fb0d9c7c..87c89470 100644
--- a/p/bvg/index.js
+++ b/p/bvg/index.js
@@ -9,7 +9,9 @@ const {parseHook} = require('../../lib/profile-hooks')
const {
parseLine: _parseLine,
parseLocation: _parseLocation,
+ parseArrival: _parseArrival,
parseDeparture: _parseDeparture,
+ parseStopover: _parseStopover,
parseJourneyLeg: _parseJourneyLeg,
formatStation: _formatStation,
} = require('../../lib/default-profile')
@@ -17,6 +19,29 @@ const {
const baseProfile = require('./base.json')
const products = require('./products')
+const addOccupancy = (item, occupancyCodes) => {
+ const remIdx = (item.remarks || [])
+ .findIndex(r => r.code && occupancyCodes.has(r.code))
+ if (remIdx < 0) return;
+ const rem = item.remarks[remIdx]
+
+ item.occupancy = occupancyCodes.get(rem.code)
+ item.remarks = [
+ ...item.remarks.slice(0, remIdx),
+ ...item.remarks.slice(remIdx + 1),
+ ]
+}
+const stopoverOccupancyCodes = new Map([
+ ['text.occup.loc.max.11', 'low'],
+ ['text.occup.loc.max.12', 'medium'],
+ // todo: high
+])
+const journeyLegOccupancyCodes = new Map([
+ ['text.occup.jny.max.11', 'low'],
+ ['text.occup.jny.max.12', 'medium'],
+ // todo: high
+])
+
// todo: https://m.tagesspiegel.de/berlin/fahrerlebnis-wie-im-regionalexpress-so-faehrt-es-sich-in-der-neuen-express-s-bahn/25338674.html
const parseLineWithMoreDetails = ({parsed}, p) => {
parsed.name = p.name.replace(/^(bus|tram)\s+/i, '')
@@ -56,6 +81,27 @@ const parseDepartureRenameRingbahn = ({parsed}, dep) => {
}
return parsed
}
+const parseArrivalRenameRingbahn = ({parsed}, arr) => {
+ if (parsed.line && parsed.line.product === 'suburban') {
+ const p = parsed.provenance && parsed.provenance.trim()
+ if (ringbahnClockwise.test(p)) {
+ parsed.provenance = 'Ringbahn S41 ⟳'
+ } else if (ringbahnAnticlockwise.test(p)) {
+ parsed.provenance = 'Ringbahn S42 ⟲'
+ }
+ }
+ return parsed
+}
+
+const parseArrDepWithOccupancy = ({parsed}, d) => {
+ addOccupancy(parsed, stopoverOccupancyCodes)
+ return parsed
+}
+
+const parseStopoverWithOccupancy = ({parsed}, st, date) => {
+ addOccupancy(parsed, stopoverOccupancyCodes)
+ return parsed
+}
const parseJourneyLegWithBerlkönig = (ctx, leg, date) => {
if (leg.type === 'KISS') {
@@ -86,6 +132,12 @@ const parseJourneyLegWithBerlkönig = (ctx, leg, date) => {
}
return _parseJourneyLeg(ctx, leg, date)
}
+const parseJourneyLegWithOccupancy = ({parsed}, leg, date) => {
+ if (leg.type === 'JNY') {
+ addOccupancy(parsed, journeyLegOccupancyCodes)
+ }
+ return parsed
+}
const validIBNR = /^\d+$/
const formatStation = (id) => {
@@ -126,8 +178,19 @@ const bvgProfile = {
parseLine: parseHook(_parseLine, parseLineWithMoreDetails),
parseLocation: parseHook(_parseLocation, parseLocation),
parseStationName: (ctx, name) => shorten(name),
- parseDeparture: parseHook(_parseDeparture, parseDepartureRenameRingbahn),
- parseJourneyLeg: parseJourneyLegWithBerlkönig,
+ parseArrival: parseHook(
+ parseHook(_parseArrival, parseArrivalRenameRingbahn),
+ parseArrDepWithOccupancy,
+ ),
+ parseDeparture: parseHook(
+ parseHook(_parseDeparture, parseDepartureRenameRingbahn),
+ parseArrDepWithOccupancy,
+ ),
+ parseStopover: parseHook(_parseStopover, parseStopoverWithOccupancy),
+ parseJourneyLeg: parseHook(
+ parseJourneyLegWithBerlkönig,
+ parseJourneyLegWithOccupancy,
+ ),
formatStation,
diff --git a/test/bvg-arrivals.js b/test/bvg-arrivals.js
new file mode 100644
index 00000000..0ee83c0f
--- /dev/null
+++ b/test/bvg-arrivals.js
@@ -0,0 +1,31 @@
+'use strict'
+
+const tap = require('tap')
+
+const createClient = require('..')
+const rawProfile = require('../p/bvg')
+const res = require('./fixtures/bvg-arrivals.json')
+const expected = require('./fixtures/bvg-arrivals.js')
+
+const client = createClient(rawProfile, 'public-transport/hafas-client:test')
+const {profile} = client
+
+const opt = {
+ direction: null,
+ duration: 10,
+ linesOfStops: true,
+ remarks: true,
+ stopovers: true,
+ includeRelatedStations: true,
+ when: '2021-10-28T10:35:00+02:00',
+ products: {}
+}
+
+tap.test('parses an arrival correctly (BVG)', (t) => {
+ const common = profile.parseCommon({profile, opt, res})
+ const ctx = {profile, opt, common, res}
+ const arrivals = res.jnyL.map(d => profile.parseArrival(ctx, d))
+
+ t.same(arrivals, expected)
+ t.end()
+})
diff --git a/test/bvg-trip-with-occupancy.js b/test/bvg-trip-with-occupancy.js
new file mode 100644
index 00000000..1c109541
--- /dev/null
+++ b/test/bvg-trip-with-occupancy.js
@@ -0,0 +1,29 @@
+'use strict'
+
+const tap = require('tap')
+
+const createClient = require('..')
+const rawProfile = require('../p/bvg')
+const res = require('./fixtures/bvg-trip-with-occupancy.json')
+const expected = require('./fixtures/bvg-trip-with-occupancy.js')
+
+const client = createClient(rawProfile, 'public-transport/hafas-client:test')
+const {profile} = client
+
+const opt = {
+ stopovers: true,
+ polyline: true,
+ subStops: false,
+ entrances: true,
+ remarks: true,
+ when: '2021-10-28T09:28:00+02:00',
+}
+
+tap.test('parses an trip with occupancy correctly (BVG)', (t) => {
+ const common = profile.parseCommon({profile, opt, res})
+ const ctx = {profile, opt, common, res}
+ const trip = profile.parseTrip(ctx, res.journey)
+
+ t.same(trip, expected)
+ t.end()
+})
diff --git a/test/fixtures/bvg-arrivals.js b/test/fixtures/bvg-arrivals.js
new file mode 100644
index 00000000..44870b0b
--- /dev/null
+++ b/test/fixtures/bvg-arrivals.js
@@ -0,0 +1,1367 @@
+'use strict'
+
+const sLandsbergerAllee = {
+ type: 'stop',
+ id: '900000110004',
+ name: 'S Landsberger Allee',
+ location: {
+ type: 'location',
+ id: '900110004',
+ latitude: 52.528771,
+ longitude: 13.455944,
+ },
+ products: {
+ suburban: true,
+ subway: false,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false,
+ },
+ lines: [{
+ type: 'line',
+ id: 's8',
+ fahrtNr: null,
+ name: 'S8',
+ public: true,
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ symbol: 'S',
+ nr: 8,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 's41',
+ fahrtNr: null,
+ name: 'S41',
+ public: true,
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ symbol: 'S',
+ nr: 41,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 's42',
+ fahrtNr: null,
+ name: 'S42',
+ public: true,
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 's85',
+ fahrtNr: null,
+ name: 'S85',
+ public: true,
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ symbol: 'S',
+ nr: 85,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: '56',
+ fahrtNr: null,
+ name: '56',
+ public: true,
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ symbol: null,
+ nr: 56,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 'm2',
+ fahrtNr: null,
+ name: 'M2',
+ public: true,
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ symbol: 'M',
+ nr: 2,
+ metro: true,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 'm5',
+ fahrtNr: null,
+ name: 'M5',
+ public: true,
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ symbol: 'M',
+ nr: 5,
+ metro: true,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 'm6',
+ fahrtNr: null,
+ name: 'M6',
+ public: true,
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ symbol: 'M',
+ nr: 6,
+ metro: true,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 'm8',
+ fahrtNr: null,
+ name: 'M8',
+ public: true,
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ symbol: 'M',
+ nr: 8,
+ metro: true,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 'm10',
+ fahrtNr: null,
+ name: 'M10',
+ public: true,
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ symbol: 'M',
+ nr: 10,
+ metro: true,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: '156',
+ fahrtNr: null,
+ name: '156',
+ public: true,
+ productName: 'Bus',
+ mode: 'bus',
+ product: 'bus',
+ symbol: null,
+ nr: 156,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 'm6',
+ fahrtNr: null,
+ name: 'M6',
+ public: true,
+ productName: 'Bus',
+ mode: 'bus',
+ product: 'bus',
+ symbol: 'M',
+ nr: 6,
+ metro: true,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 's41',
+ fahrtNr: null,
+ name: 'S41',
+ public: true,
+ productName: 'Bus',
+ mode: 'bus',
+ product: 'bus',
+ symbol: 'S',
+ nr: 41,
+ metro: false,
+ express: false,
+ night: false,
+ }, {
+ type: 'line',
+ id: 's42',
+ fahrtNr: null,
+ name: 'S42',
+ public: true,
+ productName: 'Bus',
+ mode: 'bus',
+ product: 'bus',
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false,
+ }],
+}
+
+const achtungFalscheFahrplanauskünfte = {
+ id: '140812',
+ type: 'warning',
+ summary: 'Achtung! Falsche Fahrplanauskünfte für S41, S42 für Do (28.10.)',
+ text: 'Informationen zum Fahrplan finden Sie hier:\n' +
+ 'sbahn.berlin',
+ icon: {type: 'HIM2', title: null},
+ priority: 100,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'VBB',
+ categories: [2],
+ validFrom: '2021-10-27T18:10:00+02:00',
+ validUntil: '2021-10-29T02:00:00+02:00',
+ modified: '2021-10-28T08:50:03+02:00',
+}
+
+const gemeinsamSicherUnterwegs = {
+ id: '118634',
+ type: 'warning',
+ summary: 'Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!',
+ text: 'An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.\n' +
+ 'Weitere Informationen',
+ icon: {type: 'HIM0', title: null},
+ priority: 100,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'VBB',
+ categories: [0],
+ validFrom: '2021-04-24T00:00:00+02:00',
+ validUntil: '2022-12-31T00:00:00+01:00',
+ modified: '2021-06-12T07:43:36+02:00',
+}
+
+const ausfallS8 = {
+ id: '140655',
+ type: 'warning',
+ summary: 'Ausfall S8 zwischen Frankfurter Allee und Greifswalder Straße.',
+ text: 'Bauzeitverlängerung: Weiterhin durchgehend bis zum 29.10.(Do), ca. 1:30 Uhr kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee. Zwischen Greifswalder Straße und Ostkreuz ist Ersatzverkehr mit Bussen eingerichtet. Bitte steigen Sie zwischen der S-Bahn und dem Ersatzverkehr am Bahnhof Ostkreuz um, am Bahnhof Frankfurter Allee beträgt der Fußweg zwischen S-Bahnhof und der Haltestelle des Ersatzverkehrs in der Gürtelstraße ca. 300 Meter. Achtung eingeschränkte Fahrradmitnahme! Bitte informieren Sie sich frühzeitig über Ihre Fahrmöglichkeiten. Wir bitten um Entschuldigung.\n' +
+ 'S-Bahn Berlin',
+ icon: {type: 'HIM1', title: null},
+ priority: 100,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'S-Bahn Berlin',
+ categories: [1],
+ validFrom: '2021-10-28T02:00:00+02:00',
+ validUntil: '2021-10-29T02:00:00+02:00',
+ modified: '2021-10-27T09:58:25+02:00',
+}
+
+const ersatzlinieWegenBauarbeiten = {
+ id: '140433',
+ type: 'warning',
+ summary: '.Ersatzlinie wegen Bauarbeiten',
+ text: 'Tram 56: fährt als Ersatz für M6 Riesaer Str. - S Hackescher Markt, umgeleitet zwischen Blumberger Damm/Landsberger Allee - Hohenschönhauser Str. über Allee der Kosmonauten - S Springpfuhl - Herzbergstr. - Roederplatz - Weißenseer Weg. Die Züge M6 fahren Riesaer Str. - S Marzahn, Busse als Ersatzverkehr fahren über Landsberger Allee zwischen S Marzahn und Hohenschönhauser Str. bzw. im Nachtverkehr bis Landsberger Allee/Petersburger Str..',
+ icon: {type: 'HIM1', title: null},
+ priority: 100,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'BVG',
+ categories: [1],
+ validFrom: '2021-10-25T02:00:00+02:00',
+ validUntil: '2021-11-22T03:00:00+01:00',
+ modified: '2021-10-22T23:39:21+02:00',
+}
+
+const fehlerImITSysem = {
+ id: '140805',
+ type: 'warning',
+ summary: 'Information.',
+ text: 'Aufgrund eines Fehlers in den IT-Systemen sind die Daten in der Fahrplanauskunft für die Fahrten der Linien S41 und S42 am Donnerstag, den 28.10.2021 fehlerhaft. Die Züge der Linien S41 und S42 fahren wie folgt: S41 - Frankfurter Allee > Ostkreuz > Südkreuz > Westkreuz > Gesundbrunnen > Greifswalder Straße im 10-Minuten-Takt, zusätzliche Verstärkerzüge fahren Frankfurter Allee > Ostkreuz > Südkreuz > Westkreuz > Gesundbrunnen im 20-Minuten-Takt (von ca. 5 bis 21 Uhr); S42 - Greifswalder Straße > Gesundbrunnen > Westkreuz > Südkreuz > Ostkreuz > Frankfurter Allee im 10-Minuten-Takt, zusätzliche Verstärkerzüge fahren Gesundbrunnen > Westkreuz > Südkreuz > Ostkreuz > Frankfurter Allee im 20-Minuten-Takt (von ca. 5 bis 21 Uhr)',
+ icon: {type: 'HIM0', title: null},
+ priority: 50,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'VBB',
+ categories: [0],
+ validFrom: '2021-10-27T17:10:00+02:00',
+ validUntil: '2021-10-29T02:00:00+02:00',
+ modified: '2021-10-27T17:39:54+02:00',
+}
+
+const bauzeitverlängerung = {
+ id: '140558',
+ type: 'warning',
+ summary: 'Bauarbeiten.',
+ text: 'Bauzeitverlängerung: Weiterhin durchgehend bis zum 29.10.(Fr), ca. 1:30 Uhr kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee. Zwischen Greifswalder Straße und Ostkreuz ist Ersatzverkehr mit Bussen eingerichtet. Bitte steigen Sie zwischen der S-Bahn und dem Ersatzverkehr am Bahnhof Ostkreuz um, am Bahnhof Frankfurter Allee beträgt der Fußweg zwischen S-Bahnhof und der Haltestelle des Ersatzverkehrs in der Gürtelstraße ca. 300 Meter. Achtung eingeschränkte Fahrradmitnahme! Bitte informieren Sie sich frühzeitig über Ihre Fahrmöglichkeiten. Wir bitten um Entschuldigung.\n' +
+ 'Infos Bauzeitverlängerung',
+ icon: {type: 'HIM1', title: null},
+ priority: 1,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'VBB',
+ categories: [1],
+ validFrom: '2021-10-28T02:00:00+02:00',
+ validUntil: '2021-10-29T01:30:00+02:00',
+ modified: '2021-10-27T17:00:45+02:00',
+}
+
+module.exports = [
+ {
+ tripId: '1|18731|26|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:34:00+02:00',
+ plannedWhen: '2021-10-28T10:30:00+02:00',
+ delay: 240,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Clara-Jaschke-Str.',
+ line: {
+ type: 'line',
+ id: 'm5',
+ fahrtNr: '2780',
+ name: 'M5',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 5,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.529859, longitude: 13.460987}
+ },
+ {
+ tripId: '1|19013|5|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:34:00+02:00',
+ plannedWhen: '2021-10-28T10:33:00+02:00',
+ delay: 60,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Ahrensfelde/Stadtgrenze',
+ line: {
+ type: 'line',
+ id: 'm8',
+ fahrtNr: '3085',
+ name: 'M8',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 8,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.527639, longitude: 13.452159}
+ },
+ {
+ tripId: '1|19067|24|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:37:00+02:00',
+ plannedWhen: '2021-10-28T10:33:00+02:00',
+ delay: 240,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Clara-Jaschke-Str.',
+ line: {
+ type: 'line',
+ id: 'm8',
+ fahrtNr: '3151',
+ name: 'M8',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 8,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.525949, longitude: 13.446262}
+ },
+ {
+ tripId: '1|17032|5|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:31:00+02:00',
+ plannedWhen: '2021-10-28T10:34:00+02:00',
+ delay: -180,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Riesaer Str.',
+ line: {
+ type: 'line',
+ id: '56',
+ fahrtNr: '3255',
+ name: '56',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: null,
+ nr: 56,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ ersatzlinieWegenBauarbeiten,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.524088, longitude: 13.439943}
+ },
+ {
+ tripId: '1|24512|0|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:34:00+02:00',
+ plannedWhen: '2021-10-28T10:34:00+02:00',
+ delay: 0,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Grünau',
+ line: {
+ type: 'line',
+ id: 's8',
+ fahrtNr: '25595',
+ name: 'S8',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 8,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ ausfallS8,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.528915, longitude: 13.45536}
+ },
+ {
+ tripId: '1|52562|17|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:34:00+02:00',
+ plannedWhen: '2021-10-28T10:34:00+02:00',
+ delay: 0,
+ platform: '1',
+ plannedPlatform: '1',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's41',
+ fahrtNr: '893',
+ name: 'S41',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 41,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.52638, longitude: 13.458002}
+ },
+ {
+ tripId: '1|53738|6|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:35:00+02:00',
+ plannedWhen: '2021-10-28T10:35:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1710',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.493426, longitude: 13.461283}
+ },
+ {
+ tripId: '1|17078|26|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:37:00+02:00',
+ plannedWhen: '2021-10-28T10:36:00+02:00',
+ delay: 60,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'S Hackescher Markt',
+ line: {
+ type: 'line',
+ id: '56',
+ fahrtNr: '3304',
+ name: '56',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: null,
+ nr: 56,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ ersatzlinieWegenBauarbeiten,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.525949, longitude: 13.446262}
+ },
+ {
+ tripId: '1|53354|9|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:36:00+02:00',
+ plannedWhen: '2021-10-28T10:36:00+02:00',
+ delay: 0,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1344',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.523513, longitude: 13.466003}
+ },
+ {
+ tripId: '1|18606|6|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:38:00+02:00',
+ plannedWhen: '2021-10-28T10:38:00+02:00',
+ delay: 0,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Scharnweberstr./Weichselstr.',
+ line: {
+ type: 'line',
+ id: 'm5',
+ fahrtNr: '2643',
+ name: 'M5',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 5,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.530803, longitude: 13.461661}
+ },
+ {
+ tripId: '1|52010|0|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:39:00+02:00',
+ plannedWhen: '2021-10-28T10:39:00+02:00',
+ delay: 0,
+ platform: '1',
+ plannedPlatform: '1',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's41',
+ fahrtNr: '654',
+ name: 'S41',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 41,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.54479, longitude: 13.425884}
+ },
+ {
+ tripId: '1|53328|1|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:40:00+02:00',
+ plannedWhen: '2021-10-28T10:40:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1357',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.492473, longitude: 13.460636}
+ },
+ {
+ tripId: '1|18731|27|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:39:00+02:00',
+ plannedWhen: '2021-10-28T10:40:00+02:00',
+ delay: -60,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Clara-Jaschke-Str.',
+ line: {
+ type: 'line',
+ id: 'm5',
+ fahrtNr: '2780',
+ name: 'M5',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 5,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.524016, longitude: 13.439745}
+ },
+ {
+ tripId: '1|24642|3|86|28102021',
+ stop: sLandsbergerAllee,
+ when: null,
+ plannedWhen: '2021-10-28T10:41:00+02:00',
+ prognosedWhen: null,
+ delay: null,
+ platform: null,
+ plannedPlatform: null,
+ prognosedPlatform: null,
+ direction: null,
+ provenance: 'S Birkenwerder',
+ line: {
+ type: 'line',
+ id: 's8',
+ fahrtNr: '25467',
+ name: 'S8',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 8,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ ausfallS8,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs,
+ {
+ type: 'status',
+ code: 'text.realtime.journey.cancelled',
+ text: 'S8: Fällt aus'
+ },
+ {
+ type: 'status',
+ code: 'text.realtime.stop.cancelled',
+ text: 'Halt entfällt'
+ }
+ ],
+ cancelled: true
+ },
+ {
+ tripId: '1|19013|6|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:46:00+02:00',
+ plannedWhen: '2021-10-28T10:43:00+02:00',
+ delay: 180,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Ahrensfelde/Stadtgrenze',
+ line: {
+ type: 'line',
+ id: 'm8',
+ fahrtNr: '3085',
+ name: 'M8',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 8,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.525499, longitude: 13.509529}
+ },
+ {
+ tripId: '1|19067|25|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:42:00+02:00',
+ plannedWhen: '2021-10-28T10:43:00+02:00',
+ delay: -60,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Clara-Jaschke-Str.',
+ line: {
+ type: 'line',
+ id: 'm8',
+ fahrtNr: '3151',
+ name: 'M8',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: 'M',
+ nr: 8,
+ metro: true,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.524385, longitude: 13.421965}
+ },
+ {
+ tripId: '1|17032|6|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:47:00+02:00',
+ plannedWhen: '2021-10-28T10:44:00+02:00',
+ delay: 180,
+ platform: null,
+ plannedPlatform: null,
+ direction: null,
+ provenance: 'Riesaer Str.',
+ line: {
+ type: 'line',
+ id: '56',
+ fahrtNr: '3255',
+ name: '56',
+ public: true,
+ adminCode: 'BVT',
+ productName: 'Tram',
+ mode: 'train',
+ product: 'tram',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: null,
+ nr: 56,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ ersatzlinieWegenBauarbeiten,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.526749, longitude: 13.482327}
+ },
+ {
+ tripId: '1|24781|1|86|28102021',
+ stop: sLandsbergerAllee,
+ when: null,
+ plannedWhen: '2021-10-28T10:44:00+02:00',
+ prognosedWhen: null,
+ delay: null,
+ platform: null,
+ plannedPlatform: null,
+ prognosedPlatform: null,
+ direction: null,
+ provenance: 'S Grünau',
+ line: {
+ type: 'line',
+ id: 's85',
+ fahrtNr: '26542',
+ name: 'S85',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 85,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ {
+ id: '140567',
+ type: 'warning',
+ summary: 'Bauarbeiten.',
+ text: 'Diese Fahrt fällt heute leider aus, bitte auf die Linie S8 ausweichen. Wegen Bauzeitverlängerung fahren keine Züge zwischen Frankfurter Allee und Greifswalder Straße, hier fahren Busse. Wir bitten um Entschuldigung\n' +
+ 'Infos Bauzeitverlängerung',
+ icon: {type: 'HIM1', title: null},
+ priority: 50,
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: true,
+ express: true,
+ regional: true
+ },
+ company: 'VBB',
+ categories: [1],
+ validFrom: '2021-10-26T06:17:00+02:00',
+ validUntil: '2021-10-29T02:00:00+02:00',
+ modified: '2021-10-27T13:00:52+02:00'
+ },
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs,
+ {
+ type: 'status',
+ code: 'text.realtime.journey.cancelled',
+ text: 'S85: Fällt aus'
+ },
+ {
+ type: 'status',
+ code: 'text.realtime.stop.cancelled',
+ text: 'Halt entfällt'
+ }
+ ],
+ cancelled: true
+ },
+ {
+ tripId: '1|52562|18|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:44:00+02:00',
+ plannedWhen: '2021-10-28T10:44:00+02:00',
+ delay: 0,
+ platform: '1',
+ plannedPlatform: '1',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's41',
+ fahrtNr: '889',
+ name: 'S41',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 41,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.548898, longitude: 13.386934}
+ },
+ {
+ tripId: '1|53738|8|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T10:55:00+02:00',
+ plannedWhen: '2021-10-28T10:55:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1706',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.48752, longitude: 13.459063}
+ },
+ {
+ tripId: '1|53738|9|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T11:10:00+02:00',
+ plannedWhen: '2021-10-28T11:10:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1704',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.471834, longitude: 13.37905}
+ },
+ {
+ tripId: '1|53738|10|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T11:15:00+02:00',
+ plannedWhen: '2021-10-28T11:15:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1702',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.480652, longitude: 13.45785}
+ },
+ {
+ tripId: '1|53738|11|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T11:25:00+02:00',
+ plannedWhen: '2021-10-28T11:25:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1700',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.477227, longitude: 13.457068}
+ },
+ {
+ tripId: '1|53738|12|86|28102021',
+ stop: sLandsbergerAllee,
+ when: '2021-10-28T11:35:00+02:00',
+ plannedWhen: '2021-10-28T11:35:00+02:00',
+ delay: null,
+ platform: '2',
+ plannedPlatform: '2',
+ direction: null,
+ provenance: 'S Südkreuz',
+ line: {
+ type: 'line',
+ id: 's42',
+ fahrtNr: '1698',
+ name: 'S42',
+ public: true,
+ adminCode: 'DBS',
+ productName: 'S',
+ mode: 'train',
+ product: 'suburban',
+ operator: {
+ type: 'operator',
+ id: 's-bahn-berlin-gmbh',
+ name: 'S-Bahn Berlin GmbH'
+ },
+ symbol: 'S',
+ nr: 42,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ {type: 'hint', code: 'bf', text: 'barrierefrei'},
+ {type: 'hint', code: 'FB', text: 'Fahrradmitnahme möglich'},
+ fehlerImITSysem,
+ bauzeitverlängerung,
+ achtungFalscheFahrplanauskünfte,
+ gemeinsamSicherUnterwegs
+ ],
+ currentTripPosition: {type: 'location', latitude: 52.473811, longitude: 13.456142},
+ },
+]
diff --git a/test/fixtures/bvg-arrivals.json b/test/fixtures/bvg-arrivals.json
new file mode 100644
index 00000000..0b63472a
--- /dev/null
+++ b/test/fixtures/bvg-arrivals.json
@@ -0,0 +1,4332 @@
+{
+ "common": {
+ "locL": [
+ {
+ "lid": "A=1@O=S Landsberger Allee (Berlin)@X=13455944@Y=52528771@U=86@L=900110004@",
+ "type": "S",
+ "name": "S Landsberger Allee (Berlin)",
+ "icoX": 0,
+ "extId": "900110004",
+ "state": "F",
+ "crd": {
+ "x": 13455944,
+ "y": 52528771,
+ "floor": 0
+ },
+ "pCls": 13,
+ "pRefL": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14
+ ],
+ "gidL": [
+ "A×de:11000:900110004"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=S Südkreuz Bhf (Berlin)@X=13365575@Y=52475465@U=86@L=900058101@",
+ "type": "S",
+ "name": "S Südkreuz Bhf (Berlin)",
+ "icoX": 0,
+ "extId": "900058101",
+ "state": "F",
+ "crd": {
+ "x": 13365575,
+ "y": 52475465,
+ "floor": 0
+ },
+ "pCls": 105,
+ "pRefL": [
+ 15,
+ 16,
+ 17,
+ 2,
+ 3,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29
+ ],
+ "gidL": [
+ "A×de:11000:900058101"
+ ],
+ "chgTime": "001000"
+ },
+ {
+ "lid": "A=1@O=Clara-Jaschke-Str. (Berlin)@X=13366052@Y=52524924@U=86@L=900003255@",
+ "type": "S",
+ "name": "Clara-Jaschke-Str. (Berlin)",
+ "icoX": 2,
+ "extId": "900003255",
+ "state": "F",
+ "crd": {
+ "x": 13366393,
+ "y": 52524933,
+ "floor": 0
+ },
+ "pCls": 4,
+ "pRefL": [
+ 7,
+ 9,
+ 10
+ ],
+ "gidL": [
+ "A×de:11000:900003255"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=Ahrensfelde/Stadtgrenze (Berlin)@X=13574673@Y=52572837@U=86@L=900170006@",
+ "type": "S",
+ "name": "Ahrensfelde/Stadtgrenze (Berlin)",
+ "icoX": 2,
+ "extId": "900170006",
+ "state": "F",
+ "crd": {
+ "x": 13574673,
+ "y": 52572837,
+ "floor": 0
+ },
+ "pCls": 4,
+ "pRefL": [
+ 37,
+ 9
+ ],
+ "gidL": [
+ "A×de:11000:900170006"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=Riesaer Str. (Berlin)@X=13624186@Y=52529401@U=86@L=900175013@",
+ "type": "S",
+ "name": "Riesaer Str. (Berlin)",
+ "icoX": 2,
+ "extId": "900175013",
+ "state": "F",
+ "crd": {
+ "x": 13624186,
+ "y": 52529401,
+ "floor": 0
+ },
+ "pCls": 12,
+ "pRefL": [
+ 40,
+ 5,
+ 8,
+ 41,
+ 42,
+ 43
+ ],
+ "gidL": [
+ "A×de:11000:900175013"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=S Grünau (Berlin)@X=13574017@Y=52412712@U=86@L=900186001@",
+ "type": "S",
+ "name": "S Grünau (Berlin)",
+ "icoX": 0,
+ "extId": "900186001",
+ "state": "F",
+ "crd": {
+ "x": 13573469,
+ "y": 52413026,
+ "floor": 0
+ },
+ "pCls": 13,
+ "pRefL": [
+ 45,
+ 18,
+ 19,
+ 4
+ ],
+ "gidL": [
+ "A×de:11000:900186001"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=S+U Frankfurter Allee (Berlin)@X=13475846@Y=52513580@U=86@L=900120001@",
+ "type": "S",
+ "name": "S+U Frankfurter Allee (Berlin)",
+ "icoX": 0,
+ "extId": "900120001",
+ "state": "F",
+ "crd": {
+ "x": 13475846,
+ "y": 52513580,
+ "floor": 0
+ },
+ "pCls": 15,
+ "pRefL": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 46,
+ 37,
+ 7,
+ 47,
+ 42,
+ 13,
+ 14
+ ],
+ "gidL": [
+ "A×de:11000:900120001"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=S Greifswalder Str. (Berlin)@X=13438352@Y=52540727@U=86@L=900110003@",
+ "type": "S",
+ "name": "S Greifswalder Str. (Berlin)",
+ "icoX": 0,
+ "extId": "900110003",
+ "state": "F",
+ "crd": {
+ "x": 13438352,
+ "y": 52540727,
+ "floor": 0
+ },
+ "pCls": 13,
+ "pRefL": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 48,
+ 49,
+ 6,
+ 50,
+ 13
+ ],
+ "gidL": [
+ "A×de:11000:900110003"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=S Hackescher Markt (Berlin)@X=13402359@Y=52522605@U=86@L=900100002@",
+ "type": "S",
+ "name": "S Hackescher Markt (Berlin)",
+ "icoX": 0,
+ "extId": "900100002",
+ "state": "F",
+ "crd": {
+ "x": 13402359,
+ "y": 52522605,
+ "floor": 0
+ },
+ "pCls": 13,
+ "pRefL": [
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 48,
+ 5,
+ 49,
+ 50,
+ 7,
+ 8,
+ 58,
+ 59
+ ],
+ "gidL": [
+ "A×de:11000:900100002"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=Scharnweberstr./Weichselstr. (Berlin)@X=13470174@Y=52512339@U=86@L=900120540@",
+ "type": "S",
+ "name": "Scharnweberstr./Weichselstr. (Berlin)",
+ "icoX": 2,
+ "extId": "900120540",
+ "state": "F",
+ "crd": {
+ "x": 13470174,
+ "y": 52512339,
+ "floor": 0
+ },
+ "pCls": 4,
+ "pRefL": [
+ 37,
+ 7,
+ 47
+ ],
+ "gidL": [
+ "A×de:11000:900120540"
+ ],
+ "chgTime": "000300"
+ },
+ {
+ "lid": "A=1@O=S Birkenwerder Bhf@X=13288736@Y=52688573@U=86@L=900200008@",
+ "type": "S",
+ "name": "S Birkenwerder Bhf",
+ "icoX": 0,
+ "extId": "900200008",
+ "state": "F",
+ "crd": {
+ "x": 13288736,
+ "y": 52688573,
+ "floor": 0
+ },
+ "pCls": 73,
+ "pRefL": [
+ 64,
+ 1,
+ 65,
+ 66
+ ],
+ "gidL": [
+ "A×de:12065:900200008"
+ ],
+ "chgTime": "000300"
+ }
+ ],
+ "prodL": [
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1710",
+ "line": "S42",
+ "matchId": "42071",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "name": "S8",
+ "nameS": "S8",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S8",
+ "line": "S8",
+ "lineId": "S8",
+ "catOut": "S ",
+ "catOutS": "S-8",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S41",
+ "nameS": "S41",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S41",
+ "line": "S41",
+ "lineId": "S41",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S42",
+ "nameS": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S42",
+ "line": "S42",
+ "lineId": "S42",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S85",
+ "nameS": "S85",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S85",
+ "line": "S85",
+ "lineId": "S85",
+ "catOut": "S ",
+ "catOutS": "S12",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "56",
+ "nameS": "56",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "56",
+ "line": "56",
+ "lineId": "56",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M2",
+ "nameS": "M2",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M2",
+ "line": "M2",
+ "lineId": "M2",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M5",
+ "nameS": "M5",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M5",
+ "line": "M5",
+ "lineId": "M5",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M6",
+ "nameS": "M6",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M6",
+ "line": "M6",
+ "lineId": "M6",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M8",
+ "nameS": "M8",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M8",
+ "line": "M8",
+ "lineId": "M8",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M10",
+ "nameS": "M10",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M10",
+ "line": "M10",
+ "lineId": "M10",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "156",
+ "nameS": "156",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "156",
+ "line": "156",
+ "lineId": "156",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "M6",
+ "nameS": "M6",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "M6",
+ "line": "M6",
+ "lineId": "M6",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "S41",
+ "nameS": "S41",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "S41",
+ "line": "S41",
+ "lineId": "S41",
+ "catOut": "Bus ",
+ "catOutS": "Bus",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "S42",
+ "nameS": "S42",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "S42",
+ "line": "S42",
+ "lineId": "S42",
+ "catOut": "Bus ",
+ "catOutS": "Bus",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "S2",
+ "nameS": "S2",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S2",
+ "line": "S2",
+ "lineId": "S2",
+ "catOut": "S ",
+ "catOutS": "S-7",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S25",
+ "nameS": "S25",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S25",
+ "line": "S25",
+ "lineId": "S25",
+ "catOut": "S ",
+ "catOutS": "S-6",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S26",
+ "nameS": "S26",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S26",
+ "line": "S26",
+ "lineId": "S26",
+ "catOut": "S ",
+ "catOutS": "S-5",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S45",
+ "nameS": "S45",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S45",
+ "line": "S45",
+ "lineId": "S45",
+ "catOut": "S ",
+ "catOutS": "S-6",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S46",
+ "nameS": "S46",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S46",
+ "line": "S46",
+ "lineId": "S46",
+ "catOut": "S ",
+ "catOutS": "S-9",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S47",
+ "nameS": "S47",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S47",
+ "line": "S47",
+ "lineId": "S47",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "106",
+ "nameS": "106",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "106",
+ "line": "106",
+ "lineId": "106",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "204",
+ "nameS": "204",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "204",
+ "line": "204",
+ "lineId": "204",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "M46",
+ "nameS": "M46",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "M46",
+ "line": "M46",
+ "lineId": "M46",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "",
+ "icoX": 5,
+ "cls": 32,
+ "prodCtx": {
+ "name": ""
+ }
+ },
+ {
+ "name": "RB10",
+ "nameS": "RB10",
+ "icoX": 6,
+ "cls": 64,
+ "prodCtx": {
+ "name": "RB10",
+ "line": "RB10",
+ "lineId": "RB10",
+ "catOut": "RB ",
+ "catOutS": "RB",
+ "catOutL": "RB "
+ }
+ },
+ {
+ "name": "RE2",
+ "nameS": "RE2",
+ "icoX": 6,
+ "cls": 64,
+ "prodCtx": {
+ "name": "RE2",
+ "line": "RE2",
+ "lineId": "RE2",
+ "catOut": "RE ",
+ "catOutS": "RE",
+ "catOutL": "RE "
+ }
+ },
+ {
+ "name": "RE3",
+ "nameS": "RE3",
+ "icoX": 6,
+ "cls": 64,
+ "prodCtx": {
+ "name": "RE3",
+ "line": "RE3",
+ "lineId": "RE3",
+ "catOut": "RE ",
+ "catOutS": "RE",
+ "catOutL": "RE "
+ }
+ },
+ {
+ "name": "RE4",
+ "nameS": "RE4",
+ "icoX": 6,
+ "cls": 64,
+ "prodCtx": {
+ "name": "RE4",
+ "line": "RE4",
+ "lineId": "RE4",
+ "catOut": "RE ",
+ "catOutS": "RE",
+ "catOutL": "RE "
+ }
+ },
+ {
+ "name": "RE5",
+ "nameS": "RE5",
+ "icoX": 6,
+ "cls": 64,
+ "prodCtx": {
+ "name": "RE5",
+ "line": "RE5",
+ "lineId": "RE5",
+ "catOut": "RE ",
+ "catOutS": "RE",
+ "catOutL": "RE "
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1357",
+ "line": "S42",
+ "matchId": "42565",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1706",
+ "line": "S42",
+ "matchId": "42075",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1704",
+ "line": "S42",
+ "matchId": "42077",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1702",
+ "line": "S42",
+ "matchId": "42079",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::2::Tram::B3041857784::Tram_3041857784_M5::*",
+ "name": "M5",
+ "nameS": "M5",
+ "number": "M5",
+ "icoX": 2,
+ "cls": 4,
+ "oprX": 1,
+ "prodCtx": {
+ "name": " M5",
+ "num": "2780",
+ "line": "M5",
+ "matchId": "M5",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram ",
+ "catIn": "T",
+ "catCode": "2",
+ "admin": "BVT---"
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1700",
+ "line": "S42",
+ "matchId": "42081",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::2::Tram::B3041857784::Tram_3041857784_M8::*",
+ "name": "M8",
+ "nameS": "M8",
+ "number": "M8",
+ "icoX": 2,
+ "cls": 4,
+ "oprX": 1,
+ "prodCtx": {
+ "name": " M8",
+ "num": "3085",
+ "line": "M8",
+ "matchId": "M8",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram ",
+ "catIn": "T",
+ "catCode": "2",
+ "admin": "BVT---"
+ }
+ },
+ {
+ "name": "16",
+ "nameS": "16",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "16",
+ "line": "16",
+ "lineId": "16",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "pid": "L::2::Tram::B3041857784::Tram_3041857784_M8::*",
+ "name": "M8",
+ "nameS": "M8",
+ "number": "M8",
+ "icoX": 2,
+ "cls": 4,
+ "oprX": 1,
+ "prodCtx": {
+ "name": " M8",
+ "num": "3151",
+ "line": "M8",
+ "matchId": "M8",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram ",
+ "catIn": "T",
+ "catCode": "2",
+ "admin": "BVT---"
+ }
+ },
+ {
+ "pid": "L::2::Tram::B3041857784::Tram_3041857784_56::*",
+ "name": "56",
+ "nameS": "56",
+ "number": "56",
+ "icoX": 2,
+ "cls": 4,
+ "oprX": 1,
+ "prodCtx": {
+ "name": " 56",
+ "num": "3255",
+ "line": "56",
+ "matchId": "56",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram ",
+ "catIn": "T",
+ "catCode": "2",
+ "admin": "BVT---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140433"
+ ]
+ },
+ {
+ "name": "18",
+ "nameS": "18",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "18",
+ "line": "18",
+ "lineId": "18",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "395",
+ "nameS": "395",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "395",
+ "line": "395",
+ "lineId": "395",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "N5",
+ "nameS": "N5",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "N5",
+ "line": "N5",
+ "lineId": "N5",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "N95",
+ "nameS": "N95",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "N95",
+ "line": "N95",
+ "lineId": "N95",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S8::*",
+ "name": "S8",
+ "nameS": "S8",
+ "number": "S8",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S8",
+ "num": "25595",
+ "line": "S8",
+ "matchId": "8074",
+ "catOut": "S ",
+ "catOutS": "S-8",
+ "catOutL": "S ",
+ "catIn": "S-8",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_138781",
+ "HIM_FREETEXT_140318",
+ "HIM_FREETEXT_140320",
+ "HIM_FREETEXT_140056",
+ "HIM_FREETEXT_140112",
+ "HIM_FREETEXT_140114",
+ "HIM_FREETEXT_140655",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "name": "S8",
+ "nameS": "S8",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S8",
+ "line": "S8",
+ "lineId": "S8",
+ "catOut": "S ",
+ "catOutS": "S12",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "U5",
+ "nameS": "U5",
+ "icoX": 14,
+ "cls": 2,
+ "prodCtx": {
+ "name": "U5",
+ "line": "U5",
+ "lineId": "U5",
+ "catOut": "U ",
+ "catOutS": "U",
+ "catOutL": "U "
+ }
+ },
+ {
+ "name": "M13",
+ "nameS": "M13",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M13",
+ "line": "M13",
+ "lineId": "M13",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "50",
+ "nameS": "50",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "50",
+ "line": "50",
+ "lineId": "50",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M1",
+ "nameS": "M1",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M1",
+ "line": "M1",
+ "lineId": "M1",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M4",
+ "nameS": "M4",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "M4",
+ "line": "M4",
+ "lineId": "M4",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S41::*",
+ "name": "S41",
+ "nameS": "S41",
+ "number": "S41",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S41",
+ "num": "893",
+ "line": "S41",
+ "matchId": "41078",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::2::Tram::B3041857784::Tram_3041857784_56::*",
+ "name": "56",
+ "nameS": "56",
+ "number": "56",
+ "icoX": 2,
+ "cls": 4,
+ "oprX": 1,
+ "prodCtx": {
+ "name": " 56",
+ "num": "3304",
+ "line": "56",
+ "matchId": "56",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram ",
+ "catIn": "T",
+ "catCode": "2",
+ "admin": "BVT---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140433"
+ ]
+ },
+ {
+ "name": "S3",
+ "nameS": "S3",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S3",
+ "line": "S3",
+ "lineId": "S3",
+ "catOut": "S ",
+ "catOutS": "S-7",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S5",
+ "nameS": "S5",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S5",
+ "line": "S5",
+ "lineId": "S5",
+ "catOut": "S ",
+ "catOutS": "S-7",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S7",
+ "nameS": "S7",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S7",
+ "line": "S7",
+ "lineId": "S7",
+ "catOut": "S ",
+ "catOutS": "S-7",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "S9",
+ "nameS": "S9",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S9",
+ "line": "S9",
+ "lineId": "S9",
+ "catOut": "S ",
+ "catOutS": "S-7",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "12",
+ "nameS": "12",
+ "icoX": 2,
+ "cls": 4,
+ "prodCtx": {
+ "name": "12",
+ "line": "12",
+ "lineId": "12",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram "
+ }
+ },
+ {
+ "name": "M1",
+ "nameS": "M1",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "M1",
+ "line": "M1",
+ "lineId": "M1",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "N42",
+ "nameS": "N42",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "N42",
+ "line": "N42",
+ "lineId": "N42",
+ "catOut": "Bus ",
+ "catOutS": "B",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1344",
+ "line": "S42",
+ "matchId": "42587",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::2::Tram::B3041857784::Tram_3041857784_M5::*",
+ "name": "M5",
+ "nameS": "M5",
+ "number": "M5",
+ "icoX": 2,
+ "cls": 4,
+ "oprX": 1,
+ "prodCtx": {
+ "name": " M5",
+ "num": "2643",
+ "line": "M5",
+ "matchId": "M5",
+ "catOut": "Tram ",
+ "catOutS": "T",
+ "catOutL": "Tram ",
+ "catIn": "T",
+ "catCode": "2",
+ "admin": "BVT---"
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S41::*",
+ "name": "S41",
+ "nameS": "S41",
+ "number": "S41",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S41",
+ "num": "654",
+ "line": "S41",
+ "matchId": "41562",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S8::*",
+ "name": "S8",
+ "nameS": "S8",
+ "number": "S8",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S8",
+ "num": "25467",
+ "line": "S8",
+ "matchId": "8075",
+ "catOut": "S ",
+ "catOutS": "S-8",
+ "catOutL": "S ",
+ "catIn": "S-8",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_138781",
+ "HIM_FREETEXT_140318",
+ "HIM_FREETEXT_140320",
+ "HIM_FREETEXT_140056",
+ "HIM_FREETEXT_140112",
+ "HIM_FREETEXT_140114",
+ "HIM_FREETEXT_140655",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "name": "S1",
+ "nameS": "S1",
+ "icoX": 0,
+ "cls": 1,
+ "prodCtx": {
+ "name": "S1",
+ "line": "S1",
+ "lineId": "S1",
+ "catOut": "S ",
+ "catOutS": "S-7",
+ "catOutL": "S "
+ }
+ },
+ {
+ "name": "809",
+ "nameS": "809",
+ "icoX": 3,
+ "cls": 8,
+ "prodCtx": {
+ "name": "809",
+ "line": "809",
+ "lineId": "809",
+ "catOut": "Bus ",
+ "catOutS": "HVN",
+ "catOutL": "Bus "
+ }
+ },
+ {
+ "name": "RB20",
+ "nameS": "RB20",
+ "icoX": 6,
+ "cls": 64,
+ "prodCtx": {
+ "name": "RB20",
+ "line": "RB20",
+ "lineId": "RB20",
+ "catOut": "RB ",
+ "catOutS": "RB",
+ "catOutL": "RB "
+ }
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S42::*",
+ "name": "S42",
+ "nameS": "S42",
+ "number": "S42",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S42",
+ "num": "1698",
+ "line": "S42",
+ "matchId": "42083",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S85::*",
+ "name": "S85",
+ "nameS": "S85",
+ "number": "S85",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S85",
+ "num": "26542",
+ "line": "S85",
+ "matchId": "85542",
+ "catOut": "S ",
+ "catOutS": "S12",
+ "catOutL": "S ",
+ "catIn": "S12",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_138781",
+ "HIM_FREETEXT_140567",
+ "HIM_FREETEXT_138697"
+ ]
+ },
+ {
+ "pid": "L::0::S::B1090519025::S_1090519025_S41::*",
+ "name": "S41",
+ "nameS": "S41",
+ "number": "S41",
+ "icoX": 0,
+ "cls": 1,
+ "oprX": 0,
+ "prodCtx": {
+ "name": " S41",
+ "num": "889",
+ "line": "S41",
+ "matchId": "41080",
+ "catOut": "S ",
+ "catOutS": "S-3",
+ "catOutL": "S ",
+ "catIn": "S-3",
+ "catCode": "0",
+ "admin": "DBS---"
+ },
+ "himIdL": [
+ "HIM_FREETEXT_140805",
+ "HIM_FREETEXT_140558",
+ "HIM_FREETEXT_138697"
+ ]
+ }
+ ],
+ "opL": [
+ {
+ "name": "S-Bahn Berlin GmbH",
+ "url": "https://sbahn.berlin/",
+ "icoX": 1,
+ "id": "1"
+ },
+ {
+ "name": "Berliner Verkehrsbetriebe",
+ "url": "https://www.bvg.de/",
+ "icoX": 11,
+ "id": "796"
+ }
+ ],
+ "remL": [
+ {
+ "type": "A",
+ "code": "bf",
+ "prio": 2,
+ "icoX": 4,
+ "txtN": "barrierefrei"
+ },
+ {
+ "type": "A",
+ "code": "FB",
+ "prio": 10,
+ "icoX": 7,
+ "txtN": "Fahrradmitnahme möglich"
+ },
+ {
+ "type": "R",
+ "code": "text.realtime.stop.cancelled",
+ "icoX": 15,
+ "txtN": "Halt entfällt"
+ },
+ {
+ "type": "R",
+ "code": "text.realtime.journey.cancelled",
+ "icoX": 16,
+ "txtN": "S8: Fällt aus"
+ },
+ {
+ "type": "R",
+ "code": "text.realtime.journey.cancelled",
+ "icoX": 16,
+ "txtN": "S85: Fällt aus"
+ }
+ ],
+ "himL": [
+ {
+ "hid": "140805",
+ "act": true,
+ "head": "Information.",
+ "lead": "Daten in der Fahrplanauskunft Linien S41, S42 am 28.10.2021 fehlerhaft",
+ "text": "Aufgrund eines Fehlers in den IT-Systemen sind die Daten in der Fahrplanauskunft für die Fahrten der Linien S41 und S42 am Donnerstag, den 28.10.2021 fehlerhaft. Die Züge der Linien S41 und S42 fahren wie folgt: S41 - Frankfurter Allee > Ostkreuz > Südkreuz > Westkreuz > Gesundbrunnen > Greifswalder Straße im 10-Minuten-Takt, zusätzliche Verstärkerzüge fahren Frankfurter Allee > Ostkreuz > Südkreuz > Westkreuz > Gesundbrunnen im 20-Minuten-Takt (von ca. 5 bis 21 Uhr); S42 - Greifswalder Straße > Gesundbrunnen > Westkreuz > Südkreuz > Ostkreuz > Frankfurter Allee im 10-Minuten-Takt, zusätzliche Verstärkerzüge fahren Gesundbrunnen > Westkreuz > Südkreuz > Ostkreuz > Frankfurter Allee im 20-Minuten-Takt (von ca. 5 bis 21 Uhr)",
+ "icoX": 8,
+ "prio": 50,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20211027",
+ "lModTime": "173954",
+ "sDate": "20211027",
+ "sTime": "171000",
+ "eDate": "20211029",
+ "eTime": "020000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "VBB",
+ "catRefL": [
+ 0
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20211027",
+ "fTime": "171000",
+ "tDate": "20211029",
+ "tTime": "020000"
+ }
+ ]
+ },
+ {
+ "hid": "140558",
+ "act": true,
+ "head": "Bauarbeiten.",
+ "lead": "Kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee - Als Ersatz fahren Busse.",
+ "text": "Bauzeitverlängerung: Weiterhin durchgehend bis zum 29.10.(Fr), ca. 1:30 Uhr kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee. Zwischen Greifswalder Straße und Ostkreuz ist Ersatzverkehr mit Bussen eingerichtet. Bitte steigen Sie zwischen der S-Bahn und dem Ersatzverkehr am Bahnhof Ostkreuz um, am Bahnhof Frankfurter Allee beträgt der Fußweg zwischen S-Bahnhof und der Haltestelle des Ersatzverkehrs in der Gürtelstraße ca. 300 Meter. Achtung eingeschränkte Fahrradmitnahme! Bitte informieren Sie sich frühzeitig über Ihre Fahrmöglichkeiten. Wir bitten um Entschuldigung.
Infos Bauzeitverlängerung",
+ "icoX": 9,
+ "prio": 1,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20211027",
+ "lModTime": "170045",
+ "sDate": "20211028",
+ "sTime": "020000",
+ "eDate": "20211029",
+ "eTime": "013000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "VBB",
+ "catRefL": [
+ 1
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20211025",
+ "fTime": "150000",
+ "tDate": "20211029",
+ "tTime": "013000"
+ }
+ ]
+ },
+ {
+ "hid": "140812",
+ "act": true,
+ "head": "Achtung! Falsche Fahrplanauskünfte für S41, S42 für Do (28.10.)",
+ "text": "Informationen zum Fahrplan finden Sie hier:
sbahn.berlin",
+ "icoX": 10,
+ "prio": 100,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20211028",
+ "lModTime": "085003",
+ "sDate": "20211027",
+ "sTime": "181000",
+ "eDate": "20211029",
+ "eTime": "020000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "VBB",
+ "catRefL": [
+ 2
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20211027",
+ "fTime": "181000",
+ "tDate": "20211029",
+ "tTime": "020000"
+ }
+ ]
+ },
+ {
+ "hid": "118634",
+ "act": true,
+ "head": "Gemeinsam sicher unterwegs - mit Abstand und medizinischer Maske (in Berlin: FFP2)!",
+ "text": "An Haltestellen und Bahnhöfen sowie in Fahrzeugen. Maskenmuffel riskieren mindestens 50 Euro.
Weitere Informationen",
+ "icoX": 8,
+ "prio": 100,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20210612",
+ "lModTime": "074336",
+ "sDate": "20210424",
+ "sTime": "000000",
+ "eDate": "20221231",
+ "eTime": "000000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "VBB",
+ "catRefL": [
+ 0
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20210423",
+ "fTime": "134200",
+ "tDate": "20221231",
+ "tTime": "000000"
+ }
+ ]
+ },
+ {
+ "hid": "140433",
+ "act": true,
+ "head": ".Ersatzlinie wegen Bauarbeiten",
+ "text": "Tram 56: fährt als Ersatz für M6 Riesaer Str. - S Hackescher Markt, umgeleitet zwischen Blumberger Damm/Landsberger Allee - Hohenschönhauser Str. über Allee der Kosmonauten - S Springpfuhl - Herzbergstr. - Roederplatz - Weißenseer Weg. Die Züge M6 fahren Riesaer Str. - S Marzahn, Busse als Ersatzverkehr fahren über Landsberger Allee zwischen S Marzahn und Hohenschönhauser Str. bzw. im Nachtverkehr bis Landsberger Allee/Petersburger Str..",
+ "icoX": 9,
+ "prio": 100,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20211022",
+ "lModTime": "233921",
+ "sDate": "20211025",
+ "sTime": "020000",
+ "eDate": "20211122",
+ "eTime": "030000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "BVG",
+ "catRefL": [
+ 1
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20211022",
+ "fTime": "233100",
+ "tDate": "20211122",
+ "tTime": "030000"
+ }
+ ]
+ },
+ {
+ "hid": "140655",
+ "act": true,
+ "head": "Ausfall S8 zwischen Frankfurter Allee und Greifswalder Straße.",
+ "text": "Bauzeitverlängerung: Weiterhin durchgehend bis zum 29.10.(Do), ca. 1:30 Uhr kein Zugverkehr zwischen Greifswalder Str. und Frankfurter Allee. Zwischen Greifswalder Straße und Ostkreuz ist Ersatzverkehr mit Bussen eingerichtet. Bitte steigen Sie zwischen der S-Bahn und dem Ersatzverkehr am Bahnhof Ostkreuz um, am Bahnhof Frankfurter Allee beträgt der Fußweg zwischen S-Bahnhof und der Haltestelle des Ersatzverkehrs in der Gürtelstraße ca. 300 Meter. Achtung eingeschränkte Fahrradmitnahme! Bitte informieren Sie sich frühzeitig über Ihre Fahrmöglichkeiten. Wir bitten um Entschuldigung.
S-Bahn Berlin",
+ "icoX": 9,
+ "prio": 100,
+ "fLocX": 6,
+ "tLocX": 7,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20211027",
+ "lModTime": "095825",
+ "sDate": "20211028",
+ "sTime": "020000",
+ "eDate": "20211029",
+ "eTime": "020000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "S-Bahn Berlin",
+ "catRefL": [
+ 1
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20211027",
+ "fTime": "080000",
+ "tDate": "20211029",
+ "tTime": "020000"
+ }
+ ]
+ },
+ {
+ "hid": "140567",
+ "act": true,
+ "head": "Bauarbeiten.",
+ "lead": "Bauzeitverlängerung, Ausfall S85",
+ "text": "Diese Fahrt fällt heute leider aus, bitte auf die Linie S8 ausweichen. Wegen Bauzeitverlängerung fahren keine Züge zwischen Frankfurter Allee und Greifswalder Straße, hier fahren Busse. Wir bitten um Entschuldigung
Infos Bauzeitverlängerung",
+ "icoX": 9,
+ "prio": 50,
+ "prod": 65535,
+ "src": 50,
+ "lModDate": "20211027",
+ "lModTime": "130052",
+ "sDate": "20211026",
+ "sTime": "061700",
+ "eDate": "20211029",
+ "eTime": "020000",
+ "sDaily": "000000",
+ "eDaily": "235900",
+ "comp": "VBB",
+ "catRefL": [
+ 1
+ ],
+ "pubChL": [
+ {
+ "name": "TIMETABLE",
+ "fDate": "20211026",
+ "fTime": "061700",
+ "tDate": "20211029",
+ "tTime": "020000"
+ }
+ ]
+ }
+ ],
+ "icoL": [
+ {
+ "res": "prod_comm_t",
+ "fg": {
+ "r": 255,
+ "g": 255,
+ "b": 255
+ },
+ "bg": {
+ "r": 55,
+ "g": 135,
+ "b": 74
+ }
+ },
+ {
+ "res": "DBS",
+ "txt": "S-Bahn Berlin GmbH"
+ },
+ {
+ "res": "prod_tram_t",
+ "fg": {
+ "r": 255,
+ "g": 255,
+ "b": 255
+ },
+ "bg": {
+ "r": 204,
+ "g": 0,
+ "b": 0
+ }
+ },
+ {
+ "res": "prod_bus_t",
+ "fg": {
+ "r": 255,
+ "g": 255,
+ "b": 255
+ },
+ "bg": {
+ "r": 153,
+ "g": 51,
+ "b": 153
+ }
+ },
+ {
+ "res": "attr_info"
+ },
+ {
+ "res": "prod_ic",
+ "fg": {
+ "r": 255,
+ "g": 255,
+ "b": 255
+ },
+ "bg": {
+ "r": 125,
+ "g": 129,
+ "b": 133
+ }
+ },
+ {
+ "res": "prod_reg",
+ "fg": {
+ "r": 255,
+ "g": 255,
+ "b": 255
+ },
+ "bg": {
+ "r": 226,
+ "g": 0,
+ "b": 25
+ }
+ },
+ {
+ "res": "attr_bike"
+ },
+ {
+ "res": "HIM0"
+ },
+ {
+ "res": "HIM1"
+ },
+ {
+ "res": "HIM2"
+ },
+ {
+ "res": "BVG",
+ "txt": "Berliner Verkehrsbetriebe"
+ },
+ {
+ "res": "rt_cnf"
+ },
+ {
+ "res": "rt_ont",
+ "txtA": "pünktlich"
+ },
+ {
+ "res": "prod_sub_t",
+ "fg": {
+ "r": 255,
+ "g": 255,
+ "b": 255
+ },
+ "bg": {
+ "r": 0,
+ "g": 51,
+ "b": 153
+ }
+ },
+ {
+ "res": "rt_scancel"
+ },
+ {
+ "res": "rt_cancel"
+ }
+ ],
+ "himMsgCatL": [
+ {
+ "id": 0
+ },
+ {
+ "id": 1
+ },
+ {
+ "id": 2
+ }
+ ],
+ "lDrawStyleL": [
+ {
+ "sIcoX": 0,
+ "type": "SOLID",
+ "bg": {
+ "r": 55,
+ "g": 135,
+ "b": 74
+ }
+ },
+ {
+ "type": "SOLID",
+ "bg": {
+ "r": 55,
+ "g": 135,
+ "b": 74
+ }
+ },
+ {
+ "sIcoX": 2,
+ "type": "SOLID",
+ "bg": {
+ "r": 204,
+ "g": 0,
+ "b": 0
+ }
+ },
+ {
+ "type": "SOLID",
+ "bg": {
+ "r": 204,
+ "g": 0,
+ "b": 0
+ }
+ }
+ ],
+ "rtSrcL": [
+ {
+ "name": "",
+ "type": "DEFAULT",
+ "freeTextIdCount": 0
+ }
+ ],
+ "timeStyleL": [
+ {
+ "mode": "ABS"
+ },
+ {
+ "mode": "CNT"
+ },
+ {
+ "mode": "DLT",
+ "fg": {
+ "r": 212,
+ "g": 12,
+ "b": 66
+ }
+ },
+ {
+ "mode": "CNT",
+ "icoX": 12
+ },
+ {
+ "mode": "ABS",
+ "fg": {
+ "r": 212,
+ "g": 12,
+ "b": 66
+ }
+ },
+ {
+ "mode": "HIDE"
+ },
+ {
+ "mode": "ABS",
+ "icoX": 13
+ },
+ {
+ "mode": "ABS",
+ "fg": {
+ "r": 212,
+ "g": 12,
+ "b": 66
+ },
+ "strikeOut": true
+ }
+ ]
+ },
+ "type": "ARR",
+ "jnyL": [
+ {
+ "jid": "1|18731|26|86|28102021",
+ "date": "20211028",
+ "prodX": 34,
+ "dirTxt": "Clara-Jaschke-Str. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 16,
+ "aProdX": 34,
+ "aTimeS": "103000",
+ "aTimeR": "103400",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFR": {
+ "styleX": 2,
+ "txtA": "4 Minuten später"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13460987,
+ "y": 52529859
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|19013|5|86|28102021",
+ "date": "20211028",
+ "prodX": 36,
+ "dirTxt": "Ahrensfelde/Stadtgrenze (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 22,
+ "aProdX": 36,
+ "aTimeS": "103300",
+ "aTimeR": "103400",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFR": {
+ "styleX": 2,
+ "txtA": "1 Minuten später"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13452159,
+ "y": 52527639
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 3,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 3,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 3,
+ "tLocX": 3,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 3,
+ "tLocX": 3,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|19067|24|86|28102021",
+ "date": "20211028",
+ "prodX": 38,
+ "dirTxt": "Clara-Jaschke-Str. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 15,
+ "aProdX": 38,
+ "aTimeS": "103300",
+ "aTimeR": "103700",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFR": {
+ "styleX": 2,
+ "txtA": "4 Minuten später"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13446262,
+ "y": 52525949
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|17032|5|86|28102021",
+ "date": "20211028",
+ "prodX": 39,
+ "dirTxt": "Riesaer Str. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 32,
+ "aProdX": 39,
+ "aTimeS": "103400",
+ "aTimeR": "103100",
+ "aTimeFS": {
+ "styleX": 0,
+ "txtA": "Ankunft 10 34 ist verfrüht"
+ },
+ "aTimeFR": {
+ "styleX": 4,
+ "txtA": ", neue Ankunft 10 31 bestätigt"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13439943,
+ "y": 52524088
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 4,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "HIM",
+ "himX": 4,
+ "sty": "M",
+ "fLocX": 4,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 373363637
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 4,
+ "tLocX": 4,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 4,
+ "tLocX": 4,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|24512|0|86|28102021",
+ "date": "20211028",
+ "prodX": 44,
+ "dirTxt": "S Grünau (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 10,
+ "aProdX": 44,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "103400",
+ "aTimeR": "103400",
+ "aTimeFS": {
+ "styleX": 5
+ },
+ "aTimeFR": {
+ "styleX": 6,
+ "txtA": "10 34 pünktlich"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13455360,
+ "y": 52528915
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 5,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 5,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 5,
+ "sty": "M",
+ "fLocX": 6,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 373357258
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 5,
+ "tLocX": 5,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 5,
+ "tLocX": 5,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|52562|17|86|28102021",
+ "date": "20211028",
+ "prodX": 51,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 45,
+ "aProdX": 51,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "1"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "1"
+ },
+ "aTimeS": "103400",
+ "aTimeR": "103400",
+ "aTimeFS": {
+ "styleX": 5
+ },
+ "aTimeFR": {
+ "styleX": 6,
+ "txtA": "10 34 pünktlich"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13458002,
+ "y": 52526380
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53738|6|86|28102021",
+ "date": "20211028",
+ "prodX": 0,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 0,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "103500",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13461283,
+ "y": 52493426
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|17078|26|86|28102021",
+ "date": "20211028",
+ "prodX": 52,
+ "dirTxt": "S Hackescher Markt (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 9,
+ "aProdX": 52,
+ "aTimeS": "103600",
+ "aTimeR": "103700",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFR": {
+ "styleX": 2,
+ "txtA": "1 Minuten später"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13446262,
+ "y": 52525949
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 8,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "HIM",
+ "himX": 4,
+ "sty": "M",
+ "fLocX": 8,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 373363637
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 8,
+ "tLocX": 8,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 8,
+ "tLocX": 8,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53354|9|86|28102021",
+ "date": "20211028",
+ "prodX": 60,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 60,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "103600",
+ "aTimeR": "103600",
+ "aTimeFS": {
+ "styleX": 5
+ },
+ "aTimeFR": {
+ "styleX": 6,
+ "txtA": "10 36 pünktlich"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13466003,
+ "y": 52523513
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|18606|6|86|28102021",
+ "date": "20211028",
+ "prodX": 61,
+ "dirTxt": "Scharnweberstr./Weichselstr. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 11,
+ "aProdX": 61,
+ "aTimeS": "103800",
+ "aTimeR": "103800",
+ "aTimeFS": {
+ "styleX": 5
+ },
+ "aTimeFR": {
+ "styleX": 6,
+ "txtA": "10 38 pünktlich"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13461661,
+ "y": 52530803
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 9,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 9,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 9,
+ "tLocX": 9,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 9,
+ "tLocX": 9,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|52010|0|86|28102021",
+ "date": "20211028",
+ "prodX": 62,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 72,
+ "aProdX": 62,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "1"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "1"
+ },
+ "aTimeS": "103900",
+ "aTimeR": "103900",
+ "aTimeFS": {
+ "styleX": 5
+ },
+ "aTimeFR": {
+ "styleX": 6,
+ "txtA": "10 39 pünktlich"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13425884,
+ "y": 52544790
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53328|1|86|28102021",
+ "date": "20211028",
+ "prodX": 30,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 63,
+ "aProdX": 30,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "104000",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13460636,
+ "y": 52492473
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|18731|27|86|28102021",
+ "date": "20211028",
+ "prodX": 34,
+ "dirTxt": "Clara-Jaschke-Str. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 16,
+ "aProdX": 34,
+ "aTimeS": "104000",
+ "aTimeR": "103900",
+ "aTimeFS": {
+ "styleX": 0,
+ "txtA": "Ankunft 10 40 ist verfrüht"
+ },
+ "aTimeFR": {
+ "styleX": 4,
+ "txtA": ", neue Ankunft 10 39 bestätigt"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13439745,
+ "y": 52524016
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|24642|3|86|28102021",
+ "date": "20211028",
+ "prodX": 63,
+ "dirTxt": "S Birkenwerder Bhf",
+ "status": "P",
+ "isCncl": true,
+ "isRchbl": false,
+ "stbStop": {
+ "locX": 0,
+ "idx": 12,
+ "aProdX": 63,
+ "aOutR": false,
+ "aTimeS": "104100",
+ "aTimeFS": {
+ "styleX": 7,
+ "txtA": "fällt aus"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aCncl": true,
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 2,
+ "sty": "M",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "sort": 13107200,
+ "persist": false
+ }
+ ],
+ "type": "N",
+ "aCnclRtSrcX": 0
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 10,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 10,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 5,
+ "sty": "M",
+ "fLocX": 7,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 373357258
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 10,
+ "tLocX": 10,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 10,
+ "tLocX": 10,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ },
+ {
+ "type": "REM",
+ "remX": 3,
+ "sty": "M",
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 13107200,
+ "persist": false
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|19013|6|86|28102021",
+ "date": "20211028",
+ "prodX": 36,
+ "dirTxt": "Ahrensfelde/Stadtgrenze (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 22,
+ "aProdX": 36,
+ "aTimeS": "104300",
+ "aTimeR": "104600",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFR": {
+ "styleX": 2,
+ "txtA": "3 Minuten später"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13509529,
+ "y": 52525499
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 3,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 3,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 3,
+ "tLocX": 3,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 3,
+ "tLocX": 3,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|19067|25|86|28102021",
+ "date": "20211028",
+ "prodX": 38,
+ "dirTxt": "Clara-Jaschke-Str. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 15,
+ "aProdX": 38,
+ "aTimeS": "104300",
+ "aTimeR": "104200",
+ "aTimeFS": {
+ "styleX": 0,
+ "txtA": "Ankunft 10 43 ist verfrüht"
+ },
+ "aTimeFR": {
+ "styleX": 4,
+ "txtA": ", neue Ankunft 10 42 bestätigt"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13421965,
+ "y": 52524385
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 2,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 2,
+ "tLocX": 2,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|17032|6|86|28102021",
+ "date": "20211028",
+ "prodX": 39,
+ "dirTxt": "Riesaer Str. (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 32,
+ "aProdX": 39,
+ "aTimeS": "104400",
+ "aTimeR": "104700",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFR": {
+ "styleX": 2,
+ "txtA": "3 Minuten später"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "CALCULATED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13482327,
+ "y": 52526749
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 4,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "HIM",
+ "himX": 4,
+ "sty": "M",
+ "fLocX": 4,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 373363637
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 4,
+ "tLocX": 4,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 4,
+ "tLocX": 4,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 2,
+ "resLDrawStyleX": 3,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|24781|1|86|28102021",
+ "date": "20211028",
+ "prodX": 68,
+ "dirTxt": "S Grünau (Berlin)",
+ "status": "P",
+ "isCncl": true,
+ "isRchbl": false,
+ "stbStop": {
+ "locX": 0,
+ "idx": 10,
+ "aProdX": 68,
+ "aOutR": false,
+ "aTimeS": "104400",
+ "aTimeFS": {
+ "styleX": 7,
+ "txtA": "fällt aus"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aCncl": true,
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 2,
+ "sty": "M",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "sort": 13107200,
+ "persist": false
+ }
+ ],
+ "type": "N",
+ "aCnclRtSrcX": 0
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 5,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 5,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 6,
+ "sty": "M",
+ "fLocX": 5,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320928276
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 5,
+ "tLocX": 5,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 5,
+ "tLocX": 5,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ },
+ {
+ "type": "REM",
+ "remX": 4,
+ "sty": "M",
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 13107200,
+ "persist": false
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|52562|18|86|28102021",
+ "date": "20211028",
+ "prodX": 69,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 45,
+ "aProdX": 69,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "1"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "1"
+ },
+ "aTimeS": "104400",
+ "aTimeR": "104400",
+ "aTimeFS": {
+ "styleX": 5
+ },
+ "aTimeFR": {
+ "styleX": 6,
+ "txtA": "10 44 pünktlich"
+ },
+ "aTimeFC": {
+ "styleX": 3
+ },
+ "aProgType": "PROGNOSED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13386934,
+ "y": 52548898
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53738|8|86|28102021",
+ "date": "20211028",
+ "prodX": 31,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 31,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "105500",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13459063,
+ "y": 52487520
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53738|9|86|28102021",
+ "date": "20211028",
+ "prodX": 32,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 32,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "111000",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13379050,
+ "y": 52471834
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53738|10|86|28102021",
+ "date": "20211028",
+ "prodX": 33,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 33,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "111500",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13457850,
+ "y": 52480652
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53738|11|86|28102021",
+ "date": "20211028",
+ "prodX": 35,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 35,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "112500",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13457068,
+ "y": 52477227
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ },
+ {
+ "jid": "1|53738|12|86|28102021",
+ "date": "20211028",
+ "prodX": 67,
+ "dirTxt": "S Südkreuz Bhf (Berlin)",
+ "status": "P",
+ "isRchbl": true,
+ "stbStop": {
+ "locX": 0,
+ "idx": 36,
+ "aProdX": 67,
+ "aPltfS": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aPltfR": {
+ "type": "PL",
+ "txt": "2"
+ },
+ "aTimeS": "113500",
+ "aTimeFS": {
+ "styleX": 0
+ },
+ "aTimeFC": {
+ "styleX": 1
+ },
+ "aProgType": "CORRECTED",
+ "type": "N"
+ },
+ "pos": {
+ "x": 13456142,
+ "y": 52473811
+ },
+ "msgL": [
+ {
+ "type": "REM",
+ "remX": 0,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "sort": 402915328
+ },
+ {
+ "type": "REM",
+ "remX": 1,
+ "sty": "I",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_DTL_H2"
+ ],
+ "sort": 538181632
+ },
+ {
+ "type": "HIM",
+ "himX": 0,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 320927997
+ },
+ {
+ "type": "HIM",
+ "himX": 1,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 0,
+ "tagL": [
+ "RES_JNY_H1"
+ ],
+ "sort": 269547812
+ },
+ {
+ "type": "HIM",
+ "himX": 2,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373355886
+ },
+ {
+ "type": "HIM",
+ "himX": 3,
+ "sty": "M",
+ "fLocX": 1,
+ "tLocX": 1,
+ "tagL": [
+ "RES_GLB_HDR_H3",
+ "SUM_GLB_HDR_H3"
+ ],
+ "sort": 373554673
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0,
+ "resLDrawStyleX": 1,
+ "trainStartDate": "20211028"
+ }
+ ],
+ "fpB": "20211022",
+ "fpE": "20211211",
+ "planrtTS": "1635410055",
+ "sD": "20211028",
+ "sT": "103442",
+ "locRefL": [
+ 0
+ ]
+}
diff --git a/test/fixtures/bvg-trip-with-occupancy.js b/test/fixtures/bvg-trip-with-occupancy.js
new file mode 100644
index 00000000..6e48bd44
--- /dev/null
+++ b/test/fixtures/bvg-trip-with-occupancy.js
@@ -0,0 +1,1937 @@
+'use strict'
+
+module.exports = {
+ id: '1|6849|3|86|1112021',
+ direction: 'S Ostbahnhof via S+U Wedding',
+ reachable: true,
+ line: {
+ type: 'line',
+ id: '147',
+ fahrtNr: '7070',
+ name: '147',
+ public: true,
+ adminCode: 'BVB',
+ productName: 'Bus',
+ mode: 'bus',
+ product: 'bus',
+ operator: {
+ type: 'operator',
+ id: 'berliner-verkehrsbetriebe',
+ name: 'Berliner Verkehrsbetriebe'
+ },
+ symbol: null,
+ nr: 147,
+ metro: false,
+ express: false,
+ night: false
+ },
+ remarks: [
+ { type: 'hint', code: 'bf', text: 'barrier-free' },
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.journey.message',
+ text: 'From S+U Wedding (Berlin) as 147 heading towards S Ostbahnhof via S+U Hauptbahnhof'
+ },
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.journey.message',
+ text: 'From S+U Berlin Hauptbahnhof as 147 heading towards S Ostbahnhof via Friedrichstr.'
+ },
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.journey.message',
+ text: 'From S+U Friedrichstr. Bhf (Berlin) as 147 heading towards S Ostbahnhof'
+ }
+ ],
+ occupancy: 'medium',
+ realtimeDataUpdatedAt: 1635406146,
+
+ origin: {
+ type: 'stop',
+ id: '900000009102',
+ name: 'U Leopoldplatz',
+ location: {
+ type: 'location',
+ id: '900009102',
+ latitude: 52.546489,
+ longitude: 13.359391
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ departure: '2021-11-01T07:18:00+01:00',
+ plannedDeparture: '2021-11-01T07:18:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+
+ destination: {
+ type: 'stop',
+ id: '900000120005',
+ name: 'S Ostbahnhof',
+ location: {
+ type: 'location',
+ id: '900120005',
+ latitude: 52.510335,
+ longitude: 13.435089
+ },
+ products: {
+ suburban: true,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: true,
+ regional: true
+ }
+ },
+ arrival: '2021-11-01T07:59:00+01:00',
+ plannedArrival: '2021-11-01T07:59:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+
+ polyline: {
+ type: 'FeatureCollection',
+ features: [
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000009102',
+ name: 'U Leopoldplatz',
+ location: {
+ type: 'location',
+ id: '900009102',
+ latitude: 52.546489,
+ longitude: 13.359391
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.35954, 52.54606 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000009151',
+ name: 'Gerichtstr.',
+ location: {
+ type: 'location',
+ id: '900009151',
+ latitude: 52.544476,
+ longitude: 13.362663
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36199, 52.54468 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000009104',
+ name: 'S+U Wedding',
+ location: {
+ type: 'location',
+ id: '900009104',
+ latitude: 52.542732,
+ longitude: 13.366061
+ },
+ products: {
+ suburban: true,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36525, 52.54283 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36811, 52.54121 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36814, 52.54108 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000008104',
+ name: 'U Reinickendorfer Str./Fennstr.',
+ location: {
+ type: 'location',
+ id: '900008104',
+ latitude: 52.541195,
+ longitude: 13.368713
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36785, 52.54092 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000001202',
+ name: 'Am Nordhafen',
+ location: {
+ type: 'location',
+ id: '900001202',
+ latitude: 52.538848,
+ longitude: 13.363607
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36308, 52.53868 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36057, 52.53751 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36036, 52.53723 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36077, 52.53685 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36246, 52.5361 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36311, 52.53556 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000001252',
+ name: 'Friedrich-Krause-Ufer',
+ location: {
+ type: 'location',
+ id: '900001252',
+ latitude: 52.536736,
+ longitude: 13.361216
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36167, 52.53653 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36539, 52.53325 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000001206',
+ name: 'Heidestr.',
+ location: {
+ type: 'location',
+ id: '900001206',
+ latitude: 52.53332,
+ longitude: 13.365512
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36544, 52.53332 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36603, 52.5326 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000001203',
+ name: 'Döberitzer Str.',
+ location: {
+ type: 'location',
+ id: '900001203',
+ latitude: 52.530668,
+ longitude: 13.36811
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36783, 52.5309 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36882, 52.52984 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36937, 52.52903 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36932, 52.5289 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36834, 52.52845 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36768, 52.52788 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36751, 52.5275 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.3674, 52.52633 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36762, 52.52592 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.36782, 52.52587 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000003201',
+ name: 'S+U Berlin Hauptbahnhof',
+ location: {
+ type: 'location',
+ id: '900003201',
+ latitude: 52.525607,
+ longitude: 13.369072
+ },
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: true,
+ regional: true
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.36915, 52.52623 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.37048, 52.52664 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.3711, 52.52694 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100503',
+ name: 'Invalidenpark',
+ location: {
+ type: 'location',
+ id: '900100503',
+ latitude: 52.528762,
+ longitude: 13.376929
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.37714, 52.52876 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.37833, 52.52912 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.3785, 52.52905 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100542',
+ name: 'Charité - Campus Mitte',
+ location: {
+ type: 'location',
+ id: '900100542',
+ latitude: 52.52576,
+ longitude: 13.379086
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.37905, 52.52581 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100033',
+ name: 'Schumannstr.',
+ location: {
+ type: 'location',
+ id: '900100033',
+ latitude: 52.524052,
+ longitude: 13.379392
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.37942, 52.52361 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.37965, 52.52258 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100509',
+ name: 'Deutsches Theater',
+ location: {
+ type: 'location',
+ id: '900100509',
+ latitude: 52.523126,
+ longitude: 13.383266
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.38345, 52.52317 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100047',
+ name: 'Friedrichstr./Reinhardtstr.',
+ location: {
+ type: 'location',
+ id: '900100047',
+ latitude: 52.523711,
+ longitude: 13.386835
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.3867, 52.5237 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.38745, 52.52382 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.38761, 52.52376 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100001',
+ name: 'S+U Friedrichstr.',
+ location: {
+ type: 'location',
+ id: '900100001',
+ latitude: 52.520519,
+ longitude: 13.386448
+ },
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: true
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.38818, 52.52058 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.38833, 52.51913 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100513',
+ name: 'U Unter den Linden',
+ location: {
+ type: 'location',
+ id: '900100513',
+ latitude: 52.516996,
+ longitude: 13.388875
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.38889, 52.51663 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.38872, 52.51723 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.38914, 52.51479 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100027',
+ name: 'Französische Str.',
+ location: {
+ type: 'location',
+ id: '900100027',
+ latitude: 52.514766,
+ longitude: 13.389208
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.38959, 52.51475 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100530',
+ name: 'Werderscher Markt',
+ location: {
+ type: 'location',
+ id: '900100530',
+ latitude: 52.515306,
+ longitude: 13.397334
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.3971, 52.51524 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.39995, 52.51587 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.40046, 52.51582 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100052',
+ name: 'Berliner Schloss',
+ location: {
+ type: 'location',
+ id: '900100052',
+ latitude: 52.516124,
+ longitude: 13.401676
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.40196, 52.51628 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.40251, 52.51634 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100531',
+ name: 'Neumannsgasse',
+ location: {
+ type: 'location',
+ id: '900100531',
+ latitude: 52.515189,
+ longitude: 13.403995
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.40414, 52.51521 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100726',
+ name: 'Fischerinsel.',
+ location: {
+ type: 'location',
+ id: '900100726',
+ latitude: 52.513571,
+ longitude: 13.406449
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.4063, 52.51363 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.40867, 52.51202 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100014',
+ name: 'U Märkisches Museum',
+ location: {
+ type: 'location',
+ id: '900100014',
+ latitude: 52.512007,
+ longitude: 13.408768
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.40938, 52.51132 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.41117, 52.5096 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100032',
+ name: 'Heinrich-Heine-Str./Annenstr.',
+ location: {
+ type: 'location',
+ id: '900100032',
+ latitude: 52.508285,
+ longitude: 13.413749
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.41383, 52.50815 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.41531, 52.50736 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100544',
+ name: 'Heinrich-Heine-Platz',
+ location: {
+ type: 'location',
+ id: '900100544',
+ latitude: 52.506595,
+ longitude: 13.417857
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.41761, 52.50662 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.41951, 52.50609 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.41935, 52.50579 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.41947, 52.50569 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.42159, 52.50512 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000100546',
+ name: 'Adalbertstr.',
+ location: {
+ type: 'location',
+ id: '900100546',
+ latitude: 52.505283,
+ longitude: 13.422144
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.42233, 52.50507 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.42443, 52.50514 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.42561, 52.50542 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.42639, 52.5057 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.42708, 52.50612 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.4279, 52.5068 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000014107',
+ name: 'Bethaniendamm',
+ location: {
+ type: 'location',
+ id: '900014107',
+ latitude: 52.507215,
+ longitude: 13.428437
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.42813, 52.50712 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.42845, 52.5082 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.43015, 52.51009 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.43482, 52.50851 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.43507, 52.5086 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {},
+ geometry: { type: 'Point', coordinates: [ 13.4355, 52.50904 ] }
+ },
+ {
+ type: 'Feature',
+ properties: {
+ type: 'stop',
+ id: '900000120005',
+ name: 'S Ostbahnhof',
+ location: {
+ type: 'location',
+ id: '900120005',
+ latitude: 52.510335,
+ longitude: 13.435089
+ },
+ products: {
+ suburban: true,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: true,
+ regional: true
+ }
+ },
+ geometry: { type: 'Point', coordinates: [ 13.43447, 52.50953 ] }
+ }
+ ]
+ },
+
+ stopovers: [
+ {
+ stop: {
+ type: 'stop',
+ id: '900000009102',
+ name: 'U Leopoldplatz',
+ location: {
+ type: 'location',
+ id: '900009102',
+ latitude: 52.546489,
+ longitude: 13.359391
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: null,
+ plannedArrival: null,
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:18:00+01:00',
+ plannedDeparture: '2021-11-01T07:18:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.stop.message',
+ text: 'As 147 heading towards S Ostbahnhof via S+U Wedding from here'
+ }
+ ],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000009151',
+ name: 'Gerichtstr.',
+ location: {
+ type: 'location',
+ id: '900009151',
+ latitude: 52.544476,
+ longitude: 13.362663
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:20:00+01:00',
+ plannedArrival: '2021-11-01T07:20:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:20:00+01:00',
+ plannedDeparture: '2021-11-01T07:20:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000009104',
+ name: 'S+U Wedding',
+ location: {
+ type: 'location',
+ id: '900009104',
+ latitude: 52.542732,
+ longitude: 13.366061
+ },
+ products: {
+ suburban: true,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:21:00+01:00',
+ plannedArrival: '2021-11-01T07:21:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:21:00+01:00',
+ plannedDeparture: '2021-11-01T07:21:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.stop.message',
+ text: 'As 147 heading towards S Ostbahnhof via S+U Hauptbahnhof from here'
+ }
+ ],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000008104',
+ name: 'U Reinickendorfer Str./Fennstr.',
+ location: {
+ type: 'location',
+ id: '900008104',
+ latitude: 52.541195,
+ longitude: 13.368713
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:22:00+01:00',
+ plannedArrival: '2021-11-01T07:22:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:22:00+01:00',
+ plannedDeparture: '2021-11-01T07:22:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000001202',
+ name: 'Am Nordhafen',
+ location: {
+ type: 'location',
+ id: '900001202',
+ latitude: 52.538848,
+ longitude: 13.363607
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:24:00+01:00',
+ plannedArrival: '2021-11-01T07:24:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:24:00+01:00',
+ plannedDeparture: '2021-11-01T07:24:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000001252',
+ name: 'Friedrich-Krause-Ufer',
+ location: {
+ type: 'location',
+ id: '900001252',
+ latitude: 52.536736,
+ longitude: 13.361216
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:26:00+01:00',
+ plannedArrival: '2021-11-01T07:26:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:26:00+01:00',
+ plannedDeparture: '2021-11-01T07:26:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000001206',
+ name: 'Heidestr.',
+ location: {
+ type: 'location',
+ id: '900001206',
+ latitude: 52.53332,
+ longitude: 13.365512
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:27:00+01:00',
+ plannedArrival: '2021-11-01T07:27:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:27:00+01:00',
+ plannedDeparture: '2021-11-01T07:27:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000001203',
+ name: 'Döberitzer Str.',
+ location: {
+ type: 'location',
+ id: '900001203',
+ latitude: 52.530668,
+ longitude: 13.36811
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:28:00+01:00',
+ plannedArrival: '2021-11-01T07:28:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:28:00+01:00',
+ plannedDeparture: '2021-11-01T07:28:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000003201',
+ name: 'S+U Berlin Hauptbahnhof',
+ location: {
+ type: 'location',
+ id: '900003201',
+ latitude: 52.525607,
+ longitude: 13.369072
+ },
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: true,
+ regional: true
+ }
+ },
+ arrival: '2021-11-01T07:31:00+01:00',
+ plannedArrival: '2021-11-01T07:31:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:31:00+01:00',
+ plannedDeparture: '2021-11-01T07:31:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.stop.message',
+ text: 'As 147 heading towards S Ostbahnhof via Friedrichstr. from here'
+ }
+ ],
+ occupancy: 'medium'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100503',
+ name: 'Invalidenpark',
+ location: {
+ type: 'location',
+ id: '900100503',
+ latitude: 52.528762,
+ longitude: 13.376929
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:33:00+01:00',
+ plannedArrival: '2021-11-01T07:33:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:33:00+01:00',
+ plannedDeparture: '2021-11-01T07:33:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'medium'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100542',
+ name: 'Charité - Campus Mitte',
+ location: {
+ type: 'location',
+ id: '900100542',
+ latitude: 52.52576,
+ longitude: 13.379086
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:35:00+01:00',
+ plannedArrival: '2021-11-01T07:35:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:35:00+01:00',
+ plannedDeparture: '2021-11-01T07:35:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100033',
+ name: 'Schumannstr.',
+ location: {
+ type: 'location',
+ id: '900100033',
+ latitude: 52.524052,
+ longitude: 13.379392
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:36:00+01:00',
+ plannedArrival: '2021-11-01T07:36:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:36:00+01:00',
+ plannedDeparture: '2021-11-01T07:36:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100509',
+ name: 'Deutsches Theater',
+ location: {
+ type: 'location',
+ id: '900100509',
+ latitude: 52.523126,
+ longitude: 13.383266
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:38:00+01:00',
+ plannedArrival: '2021-11-01T07:38:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:38:00+01:00',
+ plannedDeparture: '2021-11-01T07:38:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100047',
+ name: 'Friedrichstr./Reinhardtstr.',
+ location: {
+ type: 'location',
+ id: '900100047',
+ latitude: 52.523711,
+ longitude: 13.386835
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:39:00+01:00',
+ plannedArrival: '2021-11-01T07:39:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:39:00+01:00',
+ plannedDeparture: '2021-11-01T07:39:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100001',
+ name: 'S+U Friedrichstr.',
+ location: {
+ type: 'location',
+ id: '900100001',
+ latitude: 52.520519,
+ longitude: 13.386448
+ },
+ products: {
+ suburban: true,
+ subway: true,
+ tram: true,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: true
+ }
+ },
+ arrival: '2021-11-01T07:41:00+01:00',
+ plannedArrival: '2021-11-01T07:41:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:41:00+01:00',
+ plannedDeparture: '2021-11-01T07:41:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [
+ {
+ type: 'hint',
+ code: 'text.journeystop.product.or.direction.changes.stop.message',
+ text: 'As 147 heading towards S Ostbahnhof from here'
+ }
+ ],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100513',
+ name: 'U Unter den Linden',
+ location: {
+ type: 'location',
+ id: '900100513',
+ latitude: 52.516996,
+ longitude: 13.388875
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:44:00+01:00',
+ plannedArrival: '2021-11-01T07:44:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:44:00+01:00',
+ plannedDeparture: '2021-11-01T07:44:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100027',
+ name: 'Französische Str.',
+ location: {
+ type: 'location',
+ id: '900100027',
+ latitude: 52.514766,
+ longitude: 13.389208
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:45:00+01:00',
+ plannedArrival: '2021-11-01T07:45:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:45:00+01:00',
+ plannedDeparture: '2021-11-01T07:45:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100530',
+ name: 'Werderscher Markt',
+ location: {
+ type: 'location',
+ id: '900100530',
+ latitude: 52.515306,
+ longitude: 13.397334
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:47:00+01:00',
+ plannedArrival: '2021-11-01T07:47:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:47:00+01:00',
+ plannedDeparture: '2021-11-01T07:47:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100052',
+ name: 'Berliner Schloss',
+ location: {
+ type: 'location',
+ id: '900100052',
+ latitude: 52.516124,
+ longitude: 13.401676
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:47:00+01:00',
+ plannedArrival: '2021-11-01T07:47:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:47:00+01:00',
+ plannedDeparture: '2021-11-01T07:47:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100531',
+ name: 'Neumannsgasse',
+ location: {
+ type: 'location',
+ id: '900100531',
+ latitude: 52.515189,
+ longitude: 13.403995
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:48:00+01:00',
+ plannedArrival: '2021-11-01T07:48:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:48:00+01:00',
+ plannedDeparture: '2021-11-01T07:48:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100726',
+ name: 'Fischerinsel.',
+ location: {
+ type: 'location',
+ id: '900100726',
+ latitude: 52.513571,
+ longitude: 13.406449
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:49:00+01:00',
+ plannedArrival: '2021-11-01T07:49:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:49:00+01:00',
+ plannedDeparture: '2021-11-01T07:49:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100014',
+ name: 'U Märkisches Museum',
+ location: {
+ type: 'location',
+ id: '900100014',
+ latitude: 52.512007,
+ longitude: 13.408768
+ },
+ products: {
+ suburban: false,
+ subway: true,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:50:00+01:00',
+ plannedArrival: '2021-11-01T07:50:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:50:00+01:00',
+ plannedDeparture: '2021-11-01T07:50:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100032',
+ name: 'Heinrich-Heine-Str./Annenstr.',
+ location: {
+ type: 'location',
+ id: '900100032',
+ latitude: 52.508285,
+ longitude: 13.413749
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:51:00+01:00',
+ plannedArrival: '2021-11-01T07:51:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:51:00+01:00',
+ plannedDeparture: '2021-11-01T07:51:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100544',
+ name: 'Heinrich-Heine-Platz',
+ location: {
+ type: 'location',
+ id: '900100544',
+ latitude: 52.506595,
+ longitude: 13.417857
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:52:00+01:00',
+ plannedArrival: '2021-11-01T07:52:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:52:00+01:00',
+ plannedDeparture: '2021-11-01T07:52:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000100546',
+ name: 'Adalbertstr.',
+ location: {
+ type: 'location',
+ id: '900100546',
+ latitude: 52.505283,
+ longitude: 13.422144
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:53:00+01:00',
+ plannedArrival: '2021-11-01T07:53:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:53:00+01:00',
+ plannedDeparture: '2021-11-01T07:53:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000014107',
+ name: 'Bethaniendamm',
+ location: {
+ type: 'location',
+ id: '900014107',
+ latitude: 52.507215,
+ longitude: 13.428437
+ },
+ products: {
+ suburban: false,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: false,
+ regional: false
+ }
+ },
+ arrival: '2021-11-01T07:55:00+01:00',
+ plannedArrival: '2021-11-01T07:55:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: '2021-11-01T07:55:00+01:00',
+ plannedDeparture: '2021-11-01T07:55:00+01:00',
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null,
+ remarks: [],
+ occupancy: 'low'
+ },
+ {
+ stop: {
+ type: 'stop',
+ id: '900000120005',
+ name: 'S Ostbahnhof',
+ location: {
+ type: 'location',
+ id: '900120005',
+ latitude: 52.510335,
+ longitude: 13.435089
+ },
+ products: {
+ suburban: true,
+ subway: false,
+ tram: false,
+ bus: true,
+ ferry: false,
+ express: true,
+ regional: true
+ }
+ },
+ arrival: '2021-11-01T07:59:00+01:00',
+ plannedArrival: '2021-11-01T07:59:00+01:00',
+ arrivalDelay: null,
+ arrivalPlatform: null,
+ plannedArrivalPlatform: null,
+ departure: null,
+ plannedDeparture: null,
+ departureDelay: null,
+ departurePlatform: null,
+ plannedDeparturePlatform: null
+ }
+ ],
+}
diff --git a/test/fixtures/bvg-trip-with-occupancy.json b/test/fixtures/bvg-trip-with-occupancy.json
new file mode 100644
index 00000000..68331180
--- /dev/null
+++ b/test/fixtures/bvg-trip-with-occupancy.json
@@ -0,0 +1,1699 @@
+{
+ "common": {
+ "crdSysL": [
+ {
+ "id": "standard",
+ "index": 0,
+ "type": "WGS84"
+ }
+ ],
+ "dirL": [
+ {
+ "flg": "2",
+ "txt": "S Ostbahnhof via S+U Wedding"
+ },
+ {
+ "flg": "2",
+ "txt": "S Ostbahnhof via S+U Hauptbahnhof"
+ },
+ {
+ "flg": "2",
+ "txt": "S Ostbahnhof via Friedrichstr."
+ },
+ {
+ "flg": "2",
+ "txt": "S Ostbahnhof"
+ }
+ ],
+ "icoL": [
+ {
+ "bg": {
+ "b": 153,
+ "g": 51,
+ "r": 153
+ },
+ "fg": {
+ "b": 255,
+ "g": 255,
+ "r": 255
+ },
+ "res": "prod_bus_t"
+ },
+ {
+ "res": "BVG",
+ "txt": "Berliner Verkehrsbetriebe"
+ },
+ {
+ "bg": {
+ "b": 153,
+ "g": 51,
+ "r": 0
+ },
+ "fg": {
+ "b": 255,
+ "g": 255,
+ "r": 255
+ },
+ "res": "prod_sub_t"
+ },
+ {
+ "bg": {
+ "b": 74,
+ "g": 135,
+ "r": 55
+ },
+ "fg": {
+ "b": 255,
+ "g": 255,
+ "r": 255
+ },
+ "res": "prod_comm_t"
+ },
+ {
+ "res": "occup_fig_low"
+ },
+ {
+ "res": "occup_fig_mid"
+ },
+ {
+ "bg": {
+ "b": 0,
+ "g": 0,
+ "r": 204
+ },
+ "fg": {
+ "b": 255,
+ "g": 255,
+ "r": 255
+ },
+ "res": "prod_tram_t"
+ },
+ {
+ "res": "attr_info"
+ }
+ ],
+ "lDrawStyleL": [
+ {
+ "bg": {
+ "b": 153,
+ "g": 51,
+ "r": 153
+ },
+ "sIcoX": 0,
+ "type": "SOLID"
+ },
+ {
+ "bg": {
+ "b": 153,
+ "g": 51,
+ "r": 153
+ },
+ "type": "SOLID"
+ }
+ ],
+ "layerL": [
+ {
+ "annoCnt": 0,
+ "id": "standard",
+ "index": 0,
+ "name": "standard"
+ }
+ ],
+ "locL": [
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13359391,
+ "y": 52546489
+ },
+ "extId": "900009102",
+ "icoX": 2,
+ "lid": "A=1@O=U Leopoldplatz (Berlin)@X=13359391@Y=52546489@U=86@L=900009102@",
+ "name": "U Leopoldplatz (Berlin)",
+ "pCls": 10,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13366061,
+ "y": 52542732
+ },
+ "extId": "900009104",
+ "icoX": 3,
+ "lid": "A=1@O=S+U Wedding (Berlin)@X=13366061@Y=52542732@U=86@L=900009104@",
+ "name": "S+U Wedding (Berlin)",
+ "pCls": 11,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13369072,
+ "y": 52525607
+ },
+ "extId": "900003201",
+ "icoX": 3,
+ "lid": "A=1@O=S+U Berlin Hauptbahnhof@X=13369072@Y=52525607@U=86@L=900003201@",
+ "name": "S+U Berlin Hauptbahnhof",
+ "pCls": 111,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13386448,
+ "y": 52520519
+ },
+ "extId": "900100001",
+ "icoX": 3,
+ "lid": "A=1@O=S+U Friedrichstr. Bhf (Berlin)@X=13386448@Y=52520519@U=86@L=900100001@",
+ "name": "S+U Friedrichstr. Bhf (Berlin)",
+ "pCls": 79,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13435089,
+ "y": 52510335
+ },
+ "extId": "900120005",
+ "icoX": 3,
+ "lid": "A=1@O=S Ostbahnhof (Berlin)@X=13435089@Y=52510335@U=86@L=900120005@",
+ "name": "S Ostbahnhof (Berlin)",
+ "pCls": 105,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13362663,
+ "y": 52544476
+ },
+ "extId": "900009151",
+ "icoX": 0,
+ "lid": "A=1@O=Gerichtstr. (Berlin)@X=13362663@Y=52544476@U=86@L=900009151@",
+ "name": "Gerichtstr. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13368713,
+ "y": 52541195
+ },
+ "extId": "900008104",
+ "icoX": 0,
+ "lid": "A=1@O=U Reinickendorfer Str./Fennstr. (Berlin)@X=13368713@Y=52541195@U=86@L=900008104@",
+ "name": "U Reinickendorfer Str./Fennstr. (Berlin)",
+ "pCls": 10,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13363607,
+ "y": 52538848
+ },
+ "extId": "900001202",
+ "icoX": 0,
+ "lid": "A=1@O=Am Nordhafen (Berlin)@X=13363607@Y=52538848@U=86@L=900001202@",
+ "name": "Am Nordhafen (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13361216,
+ "y": 52536736
+ },
+ "extId": "900001252",
+ "icoX": 0,
+ "lid": "A=1@O=Friedrich-Krause-Ufer (Berlin)@X=13361216@Y=52536736@U=86@L=900001252@",
+ "name": "Friedrich-Krause-Ufer (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13365512,
+ "y": 52533320
+ },
+ "extId": "900001206",
+ "icoX": 0,
+ "lid": "A=1@O=Heidestr. (Berlin)@X=13365512@Y=52533320@U=86@L=900001206@",
+ "name": "Heidestr. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13368110,
+ "y": 52530668
+ },
+ "extId": "900001203",
+ "icoX": 0,
+ "lid": "A=1@O=Döberitzer Str. (Berlin)@X=13368110@Y=52530668@U=86@L=900001203@",
+ "name": "Döberitzer Str. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13376929,
+ "y": 52528762
+ },
+ "extId": "900100503",
+ "icoX": 6,
+ "lid": "A=1@O=Invalidenpark (Berlin)@X=13376929@Y=52528762@U=86@L=900100503@",
+ "name": "Invalidenpark (Berlin)",
+ "pCls": 12,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13379086,
+ "y": 52525760
+ },
+ "extId": "900100542",
+ "icoX": 0,
+ "lid": "A=1@O=Charité - Campus Mitte (Berlin)@X=13379086@Y=52525760@U=86@L=900100542@",
+ "name": "Charité - Campus Mitte (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13379392,
+ "y": 52524052
+ },
+ "extId": "900100033",
+ "icoX": 0,
+ "lid": "A=1@O=Schumannstr. (Berlin)@X=13379392@Y=52524052@U=86@L=900100033@",
+ "name": "Schumannstr. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13383266,
+ "y": 52523126
+ },
+ "extId": "900100509",
+ "icoX": 0,
+ "lid": "A=1@O=Deutsches Theater (Berlin)@X=13383266@Y=52523126@U=86@L=900100509@",
+ "name": "Deutsches Theater (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13386835,
+ "y": 52523711
+ },
+ "extId": "900100047",
+ "icoX": 0,
+ "lid": "A=1@O=Friedrichstr./Reinhardtstr. (Berlin)@X=13386835@Y=52523711@U=86@L=900100047@",
+ "name": "Friedrichstr./Reinhardtstr. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13388875,
+ "y": 52516996
+ },
+ "extId": "900100513",
+ "icoX": 2,
+ "lid": "A=1@O=U Unter den Linden (Berlin)@X=13388875@Y=52516996@U=86@L=900100513@",
+ "name": "U Unter den Linden (Berlin)",
+ "pCls": 10,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13389208,
+ "y": 52514766
+ },
+ "extId": "900100027",
+ "icoX": 0,
+ "lid": "A=1@O=Französische Str. (Berlin)@X=13389208@Y=52514766@U=86@L=900100027@",
+ "name": "Französische Str. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13397334,
+ "y": 52515306
+ },
+ "extId": "900100530",
+ "icoX": 0,
+ "lid": "A=1@O=Werderscher Markt (Berlin)@X=13397334@Y=52515306@U=86@L=900100530@",
+ "name": "Werderscher Markt (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13401676,
+ "y": 52516124
+ },
+ "extId": "900100052",
+ "icoX": 0,
+ "lid": "A=1@O=Berliner Schloss (Berlin)@X=13401676@Y=52516124@U=86@L=900100052@",
+ "name": "Berliner Schloss (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13403995,
+ "y": 52515189
+ },
+ "extId": "900100531",
+ "icoX": 0,
+ "lid": "A=1@O=Neumannsgasse (Berlin)@X=13403995@Y=52515189@U=86@L=900100531@",
+ "name": "Neumannsgasse (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13406449,
+ "y": 52513571
+ },
+ "extId": "900100726",
+ "icoX": 0,
+ "lid": "A=1@O=Fischerinsel. (Berlin)@X=13406449@Y=52513571@U=86@L=900100726@",
+ "name": "Fischerinsel. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13408768,
+ "y": 52512007
+ },
+ "extId": "900100014",
+ "icoX": 2,
+ "lid": "A=1@O=U Märkisches Museum (Berlin)@X=13408768@Y=52512007@U=86@L=900100014@",
+ "name": "U Märkisches Museum (Berlin)",
+ "pCls": 10,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13413749,
+ "y": 52508285
+ },
+ "extId": "900100032",
+ "icoX": 0,
+ "lid": "A=1@O=Heinrich-Heine-Str./Annenstr. (Berlin)@X=13413749@Y=52508285@U=86@L=900100032@",
+ "name": "Heinrich-Heine-Str./Annenstr. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13417857,
+ "y": 52506595
+ },
+ "extId": "900100544",
+ "icoX": 0,
+ "lid": "A=1@O=Heinrich-Heine-Platz (Berlin)@X=13417857@Y=52506595@U=86@L=900100544@",
+ "name": "Heinrich-Heine-Platz (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13422144,
+ "y": 52505283
+ },
+ "extId": "900100546",
+ "icoX": 0,
+ "lid": "A=1@O=Adalbertstr. (Berlin)@X=13422144@Y=52505283@U=86@L=900100546@",
+ "name": "Adalbertstr. (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ },
+ {
+ "crd": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "x": 13428437,
+ "y": 52507215
+ },
+ "extId": "900014107",
+ "icoX": 0,
+ "lid": "A=1@O=Bethaniendamm (Berlin)@X=13428437@Y=52507215@U=86@L=900014107@",
+ "name": "Bethaniendamm (Berlin)",
+ "pCls": 8,
+ "state": "F",
+ "type": "S"
+ }
+ ],
+ "opL": [
+ {
+ "icoX": 1,
+ "id": "796",
+ "name": "Berliner Verkehrsbetriebe",
+ "url": "https://www.bvg.de/"
+ }
+ ],
+ "polyL": [
+ {
+ "crdEncF": "????????????????????????????????????????????????????????????????????????????????????????????????????",
+ "crdEncS": "NNNNNNLNNNNMNMMNNNLNNKNNKNKLNKNLNNNKLNNMNNNNNNNNNNLNNNKNNNNNNNNMMNNNNNNNMNNNNNNNNNLNMNNMNKNKNNNNNKNN",
+ "crdEncYX": "{{u_IchppArGiN??pJkS??bI{PXE^x@??~Lx\\??hFtNv@h@jAqAtCqIjBaCaE~G??nSgVMI??nCuBrIgJ??rEeE`DmBXHxAbEpBbCjA`@hFTpAk@Hg@gAiG??qAiG{@{BkJwd@??gAmFLa@fSmB??vLiA??lEm@uBwV??iBiS??WuCJ_@zRqB??`H]rNoB??wB`@fNsAFyA??aB}m@??}ByPHeB{AkH??KmB`FeI??zHoL??`IyMjCmC??vIeJ`HsO??|CgHrCkM??hB{Jz@^RWpBgLHsC??McLw@kFw@{CsAiCgCcD_Am@??wE_AyJsIzHe\\Qq@wAuAaBlE",
+ "delta": true,
+ "dim": 2,
+ "lDrawStyleX": 0,
+ "ppLocRefL": [
+ {
+ "locX": 0,
+ "ppIdx": 0
+ },
+ {
+ "locX": 5,
+ "ppIdx": 1
+ },
+ {
+ "locX": 1,
+ "ppIdx": 3
+ },
+ {
+ "locX": 6,
+ "ppIdx": 7
+ },
+ {
+ "locX": 7,
+ "ppIdx": 9
+ },
+ {
+ "locX": 8,
+ "ppIdx": 16
+ },
+ {
+ "locX": 9,
+ "ppIdx": 19
+ },
+ {
+ "locX": 10,
+ "ppIdx": 22
+ },
+ {
+ "locX": 2,
+ "ppIdx": 33
+ },
+ {
+ "locX": 11,
+ "ppIdx": 37
+ },
+ {
+ "locX": 12,
+ "ppIdx": 41
+ },
+ {
+ "locX": 13,
+ "ppIdx": 43
+ },
+ {
+ "locX": 14,
+ "ppIdx": 46
+ },
+ {
+ "locX": 15,
+ "ppIdx": 48
+ },
+ {
+ "locX": 3,
+ "ppIdx": 52
+ },
+ {
+ "locX": 16,
+ "ppIdx": 55
+ },
+ {
+ "locX": 17,
+ "ppIdx": 59
+ },
+ {
+ "locX": 18,
+ "ppIdx": 61
+ },
+ {
+ "locX": 19,
+ "ppIdx": 65
+ },
+ {
+ "locX": 20,
+ "ppIdx": 68
+ },
+ {
+ "locX": 21,
+ "ppIdx": 70
+ },
+ {
+ "locX": 22,
+ "ppIdx": 73
+ },
+ {
+ "locX": 23,
+ "ppIdx": 76
+ },
+ {
+ "locX": 24,
+ "ppIdx": 79
+ },
+ {
+ "locX": 25,
+ "ppIdx": 85
+ },
+ {
+ "locX": 26,
+ "ppIdx": 92
+ },
+ {
+ "locX": 4,
+ "ppIdx": 99
+ }
+ ]
+ }
+ ],
+ "prodL": [
+ {
+ "cls": 8,
+ "icoX": 0,
+ "name": "147",
+ "nameS": "147",
+ "number": "147",
+ "oprX": 0,
+ "pid": "L::3::Bus::B3041857784::Bus_3041857784_147::*",
+ "prodCtx": {
+ "admin": "BVB---",
+ "catCode": "3",
+ "catIn": "B",
+ "catOut": "Bus ",
+ "catOutL": "Bus ",
+ "catOutS": "B",
+ "line": "147",
+ "matchId": "147",
+ "name": " 147",
+ "num": "7070"
+ }
+ }
+ ],
+ "remL": [
+ {
+ "code": "text.occup.loc.max.11",
+ "icoX": 4,
+ "txtN": "low occupancy expected",
+ "type": "A"
+ },
+ {
+ "code": "text.occup.loc.max.12",
+ "icoX": 5,
+ "txtN": "medium occupancy expected",
+ "type": "A"
+ },
+ {
+ "code": "bf",
+ "icoX": 7,
+ "prio": 2,
+ "txtN": "barrier-free",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.stop.message",
+ "icoX": 7,
+ "txtN": "As 147 heading towards S Ostbahnhof via S+U Wedding from here",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.stop.message",
+ "icoX": 7,
+ "txtN": "As 147 heading towards S Ostbahnhof via S+U Hauptbahnhof from here",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.journey.message",
+ "icoX": 7,
+ "txtN": "From S+U Wedding (Berlin) as 147 heading towards S Ostbahnhof via S+U Hauptbahnhof",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.stop.message",
+ "icoX": 7,
+ "txtN": "As 147 heading towards S Ostbahnhof via Friedrichstr. from here",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.journey.message",
+ "icoX": 7,
+ "txtN": "From S+U Berlin Hauptbahnhof as 147 heading towards S Ostbahnhof via Friedrichstr.",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.stop.message",
+ "icoX": 7,
+ "txtN": "As 147 heading towards S Ostbahnhof from here",
+ "type": "A"
+ },
+ {
+ "code": "text.journeystop.product.or.direction.changes.journey.message",
+ "icoX": 7,
+ "txtN": "From S+U Friedrichstr. Bhf (Berlin) as 147 heading towards S Ostbahnhof",
+ "type": "A"
+ },
+ {
+ "code": "text.occup.jny.max.12",
+ "icoX": 5,
+ "txtN": "medium occupancy expected",
+ "type": "A"
+ }
+ ],
+ "tcocL": [
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ },
+ {
+ "c": "SECOND"
+ }
+ ]
+ },
+ "fpB": "20211022",
+ "fpE": "20211211",
+ "journey": {
+ "date": "20211101",
+ "dirFlg": "2",
+ "dirL": [
+ {
+ "dirX": 0,
+ "fIdx": 0,
+ "fLocX": 0,
+ "tIdx": 2,
+ "tLocX": 1
+ },
+ {
+ "dirX": 1,
+ "fIdx": 2,
+ "fLocX": 1,
+ "tIdx": 8,
+ "tLocX": 2
+ },
+ {
+ "dirX": 2,
+ "fIdx": 8,
+ "fLocX": 2,
+ "tIdx": 14,
+ "tLocX": 3
+ },
+ {
+ "dirX": 3,
+ "fIdx": 14,
+ "fLocX": 3,
+ "tIdx": 26,
+ "tLocX": 4
+ }
+ ],
+ "dirTxt": "S Ostbahnhof via S+U Wedding",
+ "isRchbl": true,
+ "jid": "1|6849|3|86|1112021",
+ "msgL": [
+ {
+ "fLocX": 0,
+ "remX": 2,
+ "sort": 402915328,
+ "sty": "I",
+ "tLocX": 4,
+ "tagL": [
+ "RES_JNY_DTL_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 5,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "SUM_JNY_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 7,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "SUM_JNY_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 9,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "SUM_JNY_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "dspl": "U",
+ "remX": 10,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "SUM_CON_HDR_H3",
+ "RES_CON_HDR_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "polyG": {
+ "crdSysX": 0,
+ "layerX": 0,
+ "polyXL": [
+ 0
+ ]
+ },
+ "prodL": [
+ {
+ "fIdx": 0,
+ "fLocX": 0,
+ "prodX": 0,
+ "tIdx": 2,
+ "tLocX": 1
+ },
+ {
+ "fIdx": 2,
+ "fLocX": 1,
+ "prodX": 0,
+ "tIdx": 8,
+ "tLocX": 2
+ },
+ {
+ "fIdx": 8,
+ "fLocX": 2,
+ "prodX": 0,
+ "tIdx": 14,
+ "tLocX": 3
+ },
+ {
+ "fIdx": 14,
+ "fLocX": 3,
+ "prodX": 0,
+ "tIdx": 26,
+ "tLocX": 4
+ }
+ ],
+ "prodX": 0,
+ "resLDrawStyleX": 1,
+ "sDaysL": [
+ {
+ "fLocIdx": 0,
+ "fLocX": 0,
+ "sDaysB": "9F3E7CF9F3E7C0",
+ "sDaysR": "Mo - Fr",
+ "tLocIdx": 26,
+ "tLocX": 4
+ }
+ ],
+ "status": "P",
+ "stopL": [
+ {
+ "dDirFlg": "2",
+ "dDirTxt": "S Ostbahnhof via S+U Wedding",
+ "dProdX": 0,
+ "dProgType": "PROGNOSED",
+ "dTimeS": "071800",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 0
+ ]
+ },
+ "idx": 0,
+ "locX": 0,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 3,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072000",
+ "dProdX": 0,
+ "dTimeS": "072000",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 1
+ ]
+ },
+ "idx": 1,
+ "locX": 5,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072100",
+ "dDirTxt": "S Ostbahnhof via S+U Hauptbahnhof",
+ "dProdX": 0,
+ "dTimeS": "072100",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 2
+ ]
+ },
+ "idx": 2,
+ "locX": 1,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 4,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072200",
+ "dProdX": 0,
+ "dTimeS": "072200",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 3
+ ]
+ },
+ "idx": 3,
+ "locX": 6,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072400",
+ "dProdX": 0,
+ "dTimeS": "072400",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 4
+ ]
+ },
+ "idx": 4,
+ "locX": 7,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072600",
+ "dProdX": 0,
+ "dTimeS": "072600",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 5
+ ]
+ },
+ "idx": 5,
+ "locX": 8,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072700",
+ "dProdX": 0,
+ "dTimeS": "072700",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 6
+ ]
+ },
+ "idx": 6,
+ "locX": 9,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "072800",
+ "dProdX": 0,
+ "dTimeS": "072800",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 7
+ ]
+ },
+ "idx": 7,
+ "locX": 10,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "073100",
+ "dDirTxt": "S Ostbahnhof via Friedrichstr.",
+ "dProdX": 0,
+ "dTimeS": "073100",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 8
+ ]
+ },
+ "idx": 8,
+ "locX": 2,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 1,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 6,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "073300",
+ "dProdX": 0,
+ "dTimeS": "073300",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 9
+ ]
+ },
+ "idx": 9,
+ "locX": 11,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 1,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "073500",
+ "dProdX": 0,
+ "dTimeS": "073500",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 10
+ ]
+ },
+ "idx": 10,
+ "locX": 12,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "073600",
+ "dProdX": 0,
+ "dTimeS": "073600",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 11
+ ]
+ },
+ "idx": 11,
+ "locX": 13,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "073800",
+ "dProdX": 0,
+ "dTimeS": "073800",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 12
+ ]
+ },
+ "idx": 12,
+ "locX": 14,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "073900",
+ "dProdX": 0,
+ "dTimeS": "073900",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 13
+ ]
+ },
+ "idx": 13,
+ "locX": 15,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074100",
+ "dDirTxt": "S Ostbahnhof",
+ "dProdX": 0,
+ "dTimeS": "074100",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 14
+ ]
+ },
+ "idx": 14,
+ "locX": 3,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ },
+ {
+ "remX": 8,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074400",
+ "dProdX": 0,
+ "dTimeS": "074400",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 15
+ ]
+ },
+ "idx": 15,
+ "locX": 16,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074500",
+ "dProdX": 0,
+ "dTimeS": "074500",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 16
+ ]
+ },
+ "idx": 16,
+ "locX": 17,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074700",
+ "dProdX": 0,
+ "dTimeS": "074700",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 17
+ ]
+ },
+ "idx": 17,
+ "locX": 18,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074700",
+ "dProdX": 0,
+ "dTimeS": "074700",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 18
+ ]
+ },
+ "idx": 18,
+ "locX": 19,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074800",
+ "dProdX": 0,
+ "dTimeS": "074800",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 19
+ ]
+ },
+ "idx": 19,
+ "locX": 20,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "074900",
+ "dProdX": 0,
+ "dTimeS": "074900",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 20
+ ]
+ },
+ "idx": 20,
+ "locX": 21,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "075000",
+ "dProdX": 0,
+ "dTimeS": "075000",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 21
+ ]
+ },
+ "idx": 21,
+ "locX": 22,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "075100",
+ "dProdX": 0,
+ "dTimeS": "075100",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 22
+ ]
+ },
+ "idx": 22,
+ "locX": 23,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "075200",
+ "dProdX": 0,
+ "dTimeS": "075200",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 23
+ ]
+ },
+ "idx": 23,
+ "locX": 24,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "075300",
+ "dProdX": 0,
+ "dTimeS": "075300",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 24
+ ]
+ },
+ "idx": 24,
+ "locX": 25,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aTimeS": "075500",
+ "dProdX": 0,
+ "dTimeS": "075500",
+ "dTrnCmpSX": {
+ "tcocX": [
+ 25
+ ]
+ },
+ "idx": 25,
+ "locX": 26,
+ "msgL": [
+ {
+ "dspl": "U",
+ "remX": 0,
+ "sort": 684195840,
+ "sty": "I",
+ "tagL": [
+ "RES_LOC_H3"
+ ],
+ "type": "REM"
+ }
+ ],
+ "type": "N"
+ },
+ {
+ "aProdX": 0,
+ "aProgType": "PROGNOSED",
+ "aTimeS": "075900",
+ "idx": 26,
+ "locX": 4,
+ "type": "N"
+ }
+ ],
+ "subscr": "F",
+ "sumLDrawStyleX": 0
+ },
+ "planrtTS": "1635406146"
+}
\ No newline at end of file