mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-04-20 23:23:56 +03:00
arrival/departure, refactoring
This commit is contained in:
parent
2f45f66793
commit
80e633dcb7
49 changed files with 1889 additions and 52643 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -8,3 +8,4 @@ npm-debug.log
|
|||
package-lock.json
|
||||
|
||||
/.tap
|
||||
*.ign.*
|
|
@ -1,10 +1,14 @@
|
|||
const formatLocationsReq = (ctx, query) => {
|
||||
const {profile, opt} = ctx;
|
||||
|
||||
return {
|
||||
typ: profile.formatLocationFilter(opt.stops, opt.addresses, opt.poi),
|
||||
suchbegriff: query,
|
||||
limit: opt.results,
|
||||
return {
|
||||
endpoint: profile.locationsEndpoint,
|
||||
query: {
|
||||
typ: profile.formatLocationFilter(opt.stops, opt.addresses, opt.poi),
|
||||
suchbegriff: query,
|
||||
limit: opt.results,
|
||||
},
|
||||
method: 'get'
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,13 +2,17 @@ const formatNearbyReq = (ctx, location) => {
|
|||
const {profile, opt} = ctx;
|
||||
|
||||
return {
|
||||
long: location.longitude,
|
||||
lat: location.latitude,
|
||||
radius: opt.distance || undefined,
|
||||
products: profile.formatProductsFilter(ctx, opt.products || {}),
|
||||
// TODO getPOIs: Boolean(opt.poi),
|
||||
// TODO getStops: Boolean(opt.stops),
|
||||
maxNo: opt.results,
|
||||
endpoint: profile.nearbyEndpoint,
|
||||
query: {
|
||||
long: location.longitude,
|
||||
lat: location.latitude,
|
||||
radius: opt.distance || undefined,
|
||||
products: profile.formatProductsFilter(ctx, opt.products || {}),
|
||||
// TODO getPOIs: Boolean(opt.poi),
|
||||
// TODO getStops: Boolean(opt.stops),
|
||||
maxNo: opt.results,
|
||||
},
|
||||
method: 'get'
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import isObj from 'lodash/isObject.js';
|
|||
|
||||
const hasProp = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
|
||||
|
||||
const formatProductsFilter = (ctx, filter) => {
|
||||
const formatProductsFilter = (ctx, filter, key='vendo') => {
|
||||
if (!isObj(filter)) {
|
||||
throw new TypeError('products filter must be an object');
|
||||
}
|
||||
|
@ -17,18 +17,23 @@ const formatProductsFilter = (ctx, filter) => {
|
|||
filter = Object.assign({}, defaultProducts, filter);
|
||||
|
||||
let products = [];
|
||||
let foundDeselected = false;
|
||||
for (let product in filter) {
|
||||
if (!hasProp(filter, product) || filter[product] !== true) {
|
||||
foundDeselected = true;
|
||||
continue;
|
||||
}
|
||||
if (!byProduct[product]) {
|
||||
throw new TypeError('unknown product ' + product);
|
||||
}
|
||||
products.push(byProduct[product].vendo);
|
||||
products.push(byProduct[product][key]);
|
||||
}
|
||||
if (products.length === 0) {
|
||||
throw new Error('no products used');
|
||||
}
|
||||
if (!foundDeselected && key == 'ris') {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return products;
|
||||
};
|
||||
|
|
|
@ -1,39 +1,26 @@
|
|||
const formatStationBoardReq = (ctx, station, type) => {
|
||||
const {profile, opt} = ctx;
|
||||
|
||||
const jnyFltrL = [
|
||||
profile.formatProductsFilter(ctx, opt.products || {}),
|
||||
];
|
||||
if (opt.line !== null) {
|
||||
jnyFltrL.push({type: 'LINEID', mode: 'INC', value: opt.line});
|
||||
}
|
||||
|
||||
const req = {
|
||||
type,
|
||||
date: profile.formatDate(profile, opt.when),
|
||||
time: profile.formatTime(profile, opt.when),
|
||||
stbLoc: station,
|
||||
dirLoc: opt.direction
|
||||
? profile.formatStation(opt.direction)
|
||||
: undefined,
|
||||
jnyFltrL,
|
||||
dur: opt.duration,
|
||||
};
|
||||
if (opt.results !== null) {
|
||||
req.maxJny = opt.results === Infinity
|
||||
? 10000
|
||||
: opt.results;
|
||||
}
|
||||
if (profile.departuresGetPasslist) {
|
||||
req.getPasslist = Boolean(opt.stopovers);
|
||||
}
|
||||
if (profile.departuresStbFltrEquiv) {
|
||||
req.stbFltrEquiv = !opt.includeRelatedStations;
|
||||
}
|
||||
|
||||
return {
|
||||
meth: 'StationBoard',
|
||||
req,
|
||||
endpoint: profile.boardEndpoint,
|
||||
path: type+'/'+station,
|
||||
query: {
|
||||
// TODO direction
|
||||
filterTransports: profile.formatProductsFilter(ctx, opt.products || {}, 'ris'),
|
||||
timeStart: profile.formatTime(profile, opt.when, true),
|
||||
timeEnd: profile.formatTime(profile, opt.when.getTime()+opt.duration*60*1000, true),
|
||||
maxViaStops: opt.stopovers ? undefined : 0,
|
||||
includeStationGroup: opt.includeRelatedStations,
|
||||
maxTransportsPerType: opt.results === Infinity ? undefined : opt.results,
|
||||
includeMessagesDisruptions: opt.remarks,
|
||||
sortBy: 'TIME_SCHEDULE'
|
||||
},
|
||||
method: 'get',
|
||||
headers: {
|
||||
'Db-Client-Id': process.env.DB_CLIENT_ID,
|
||||
'Db-Api-Key': process.env.DB_API_KEY,
|
||||
'Accept': 'application/vnd.de.db.ris+json'
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import {DateTime, IANAZone} from 'luxon';
|
|||
import {luxonIANAZonesByProfile as timezones} from '../lib/luxon-timezones.js';
|
||||
|
||||
// todo: change to `(profile) => (when) => {}`
|
||||
const formatTime = (profile, when) => {
|
||||
const formatTime = (profile, when, includeOffset = false) => {
|
||||
let timezone;
|
||||
if (timezones.has(profile)) {
|
||||
timezone = timezones.get(profile);
|
||||
|
@ -16,7 +16,8 @@ const formatTime = (profile, when) => {
|
|||
locale: profile.locale,
|
||||
zone: timezone,
|
||||
})
|
||||
.toISO({ includeOffset: false, suppressMilliseconds: true })
|
||||
.startOf('second')
|
||||
.toISO({ includeOffset: includeOffset, suppressMilliseconds: true })
|
||||
};
|
||||
|
||||
export {
|
||||
|
|
40
index.js
40
index.js
|
@ -47,11 +47,9 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
}
|
||||
|
||||
const _stationBoard = async (station, type, resultsField, parse, opt = {}) => {
|
||||
if (isObj(station)) {
|
||||
station = profile.formatStation(station.id);
|
||||
} else if ('string' === typeof station) {
|
||||
station = profile.formatStation(station);
|
||||
} else {
|
||||
if (isObj(station) && station.id) {
|
||||
station = station.id;
|
||||
} else if ('string' !== typeof station) {
|
||||
throw new TypeError('station must be an object or a string.');
|
||||
}
|
||||
|
||||
|
@ -86,22 +84,16 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
throw new Error('opt.when is invalid');
|
||||
}
|
||||
|
||||
const req = profile.formatStationBoardReq({profile, opt}, station, type);
|
||||
const req = profile.formatStationBoardReq({profile, opt}, station, resultsField);
|
||||
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||
|
||||
const ctx = {profile, opt, common, res};
|
||||
const jnyL = Array.isArray(res.jnyL)
|
||||
? res.jnyL
|
||||
: [];
|
||||
const results = jnyL.map(res => parse(ctx, res))
|
||||
.sort((a, b) => new Date(a.when) - new Date(b.when)); // todo
|
||||
const results = res[resultsField].map(res => parse(ctx, res)); // todo sort?
|
||||
|
||||
return {
|
||||
[resultsField]: results,
|
||||
realtimeDataUpdatedAt: res.planrtTS && res.planrtTS !== '0'
|
||||
? parseInt(res.planrtTS)
|
||||
: null,
|
||||
realtimeDataUpdatedAt: null, // TODO
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -217,12 +209,8 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
if (opt.results !== null) {
|
||||
// TODO query.numF = opt.results;
|
||||
}
|
||||
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, {
|
||||
endpoint: profile.journeysEndpoint,
|
||||
body: profile.transformJourneysQuery({profile, opt}, query),
|
||||
method: 'post'
|
||||
});
|
||||
const req = profile.transformJourneysQuery({profile, opt}, query);
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||
const ctx = {profile, opt, common, res};
|
||||
const journeys = res.verbindungen
|
||||
.map(j => profile.parseJourney(ctx, j));
|
||||
|
@ -428,11 +416,7 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
}, opt);
|
||||
const req = profile.formatLocationsReq({profile, opt}, query);
|
||||
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, {
|
||||
endpoint: profile.locationsEndpoint,
|
||||
query: req,
|
||||
method: 'get'
|
||||
});
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||
|
||||
|
||||
const ctx = {profile, opt, common, res};
|
||||
|
@ -483,11 +467,7 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
}, opt);
|
||||
|
||||
const req = profile.formatNearbyReq({profile, opt}, location);
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, {
|
||||
endpoint: profile.nearbyEndpoint,
|
||||
query: req,
|
||||
method: 'get'
|
||||
});
|
||||
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||
|
||||
const ctx = {profile, opt, common, res};
|
||||
const results = res.map(loc => profile.parseLocation(ctx, loc));
|
||||
|
|
|
@ -116,12 +116,14 @@ const request = async (ctx, userAgent, reqData) => {
|
|||
? randomizeUserAgent(userAgent)
|
||||
: userAgent,
|
||||
'connection': 'keep-alive', // prevent excessive re-connecting
|
||||
...reqData.headers,
|
||||
},
|
||||
redirect: 'follow',
|
||||
query: reqData.query,
|
||||
});
|
||||
|
||||
const url = endpoint + '?' + stringify(req.query, {arrayFormat: 'brackets', encodeValuesOnly: true});
|
||||
const url = endpoint + (reqData.path || '') + '?' + stringify(req.query, {arrayFormat: 'brackets', encodeValuesOnly: true});
|
||||
console.log(url);
|
||||
const reqId = randomBytes(3)
|
||||
.toString('hex');
|
||||
const fetchReq = new Request(url, req);
|
||||
|
@ -147,7 +149,7 @@ const request = async (ctx, userAgent, reqData) => {
|
|||
let cType = res.headers.get('content-type');
|
||||
if (cType) {
|
||||
const {type} = parseContentType(cType);
|
||||
if (type !== 'application/json') {
|
||||
if (type !== 'application/json' && type !== 'application/vnd.de.db.ris+json') {
|
||||
throw new HafasError('invalid/unsupported response content-type: ' + cType, null, errProps);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
"journeysEndpoint": "https://int.bahn.de/web/api/angebote/fahrplan",
|
||||
"locationsEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte",
|
||||
"nearbyEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte/nearby",
|
||||
"boardEndpoint": "https://apis.deutschebahn.com/db/apis/ris-boards/v1/public/",
|
||||
"defaultLanguage": "en"
|
||||
}
|
||||
|
|
|
@ -151,18 +151,21 @@ loadFactors[3] = 'very-high';
|
|||
loadFactors[4] = 'exceptionally-high';
|
||||
|
||||
const parseLoadFactor = (opt, auslastung) => {
|
||||
if (!auslastung) {
|
||||
return null;
|
||||
}
|
||||
const cls = opt.firstClass
|
||||
? 'KLASSE_1'
|
||||
: 'KLASSE_2';
|
||||
const load = auslastung?.find(a => a.klasse === cls)?.stufe;
|
||||
const load = auslastung.find(a => a.klasse === cls)?.stufe;
|
||||
return load && loadFactors[load.r] || null;
|
||||
};
|
||||
|
||||
const parseArrOrDepWithLoadFactor = ({parsed, res, opt}, d) => {
|
||||
const load = parseLoadFactor(opt, d);
|
||||
/*const load = parseLoadFactor(opt, d);
|
||||
if (load) {
|
||||
parsed.loadFactor = load;
|
||||
}
|
||||
}*/ // TODO
|
||||
return parsed;
|
||||
};
|
||||
|
||||
|
@ -200,10 +203,13 @@ Pass in just opt.age, and the age group will calculated automatically.`);
|
|||
return basicCtrfReq;
|
||||
};
|
||||
|
||||
const transformJourneysQuery = ({opt}, query) => {
|
||||
const transformJourneysQuery = ({profile, opt}, query) => {
|
||||
query = Object.assign(query, trfReq(opt, false));
|
||||
|
||||
return query;
|
||||
return {
|
||||
endpoint: profile.journeysEndpoint,
|
||||
body: query,
|
||||
method: 'post'
|
||||
};
|
||||
};
|
||||
|
||||
const formatRefreshJourneyReq = (ctx, refreshToken) => {
|
||||
|
|
|
@ -6,6 +6,7 @@ const products = [
|
|||
name: 'InterCityExpress',
|
||||
short: 'ICE',
|
||||
vendo: 'ICE',
|
||||
ris: 'HIGH_SPEED_TRAIN',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -15,6 +16,7 @@ const products = [
|
|||
name: 'InterCity & EuroCity',
|
||||
short: 'IC/EC',
|
||||
vendo: 'EC_IC',
|
||||
ris: 'INTERCITY_TRAIN',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -24,6 +26,7 @@ const products = [
|
|||
name: 'RegionalExpress & InterRegio', // FlixTrain??
|
||||
short: 'RE/IR',
|
||||
vendo: 'IR',
|
||||
ris: 'INTER_REGIONAL_TRAIN',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -33,6 +36,7 @@ const products = [
|
|||
name: 'Regio',
|
||||
short: 'RB',
|
||||
vendo: 'REGIONAL',
|
||||
ris: 'REGIONAL_TRAIN',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -42,6 +46,7 @@ const products = [
|
|||
name: 'S-Bahn',
|
||||
short: 'S',
|
||||
vendo: 'SBAHN',
|
||||
ris: 'CITY_TRAIN',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -51,6 +56,7 @@ const products = [
|
|||
name: 'Bus',
|
||||
short: 'B',
|
||||
vendo: 'BUS',
|
||||
ris: 'BUS',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -60,6 +66,7 @@ const products = [
|
|||
name: 'Ferry',
|
||||
short: 'F',
|
||||
vendo: 'SCHIFF',
|
||||
ris: 'FERRY',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -69,6 +76,7 @@ const products = [
|
|||
name: 'U-Bahn',
|
||||
short: 'U',
|
||||
vendo: 'UBAHN',
|
||||
ris: 'SUBWAY',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -78,6 +86,7 @@ const products = [
|
|||
name: 'Tram',
|
||||
short: 'T',
|
||||
vendo: 'TRAM',
|
||||
ris: 'TRAM',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -87,6 +96,7 @@ const products = [
|
|||
name: 'Group Taxi',
|
||||
short: 'Taxi',
|
||||
vendo: 'ANRUFPFLICHTIG',
|
||||
ris: 'TAXI',
|
||||
default: true,
|
||||
},
|
||||
];
|
||||
|
|
|
@ -3,10 +3,6 @@ import {parseRemarks} from './remarks.js';
|
|||
const ARRIVAL = 'a';
|
||||
const DEPARTURE = 'd';
|
||||
|
||||
// todo: pt.jny.dirFlg – https://github.com/alexander-albers/tripkit/blob/07047c6ddef24339ebd49a86a78158bca8047421/Sources/TripKit/Provider/AbstractHafasClientInterfaceProvider.swift#L347-L353 & https://github.com/alexander-albers/tripkit/commit/07047c6ddef24339ebd49a86a78158bca8047421#commitcomment-68471656
|
||||
// todo: d.stbStop.dProgType/d.stbStop.aProgType
|
||||
// todo: d.stbStop.dProdX/aProdX can be different than d.prodX
|
||||
|
||||
const createParseArrOrDep = (prefix) => {
|
||||
if (prefix !== ARRIVAL && prefix !== DEPARTURE) {
|
||||
throw new Error('invalid prefix');
|
||||
|
@ -14,73 +10,32 @@ const createParseArrOrDep = (prefix) => {
|
|||
|
||||
const parseArrOrDep = (ctx, d) => { // d = raw arrival/departure
|
||||
const {profile, opt} = ctx;
|
||||
const {locL} = ctx.res.common;
|
||||
|
||||
const tPlanned = d.stbStop[prefix + 'TimeS'];
|
||||
const tPrognosed = d.stbStop[prefix + 'TimeR'];
|
||||
const tzOffset = d.stbStop[prefix + 'TZOffset'] || null;
|
||||
const cancelled = Boolean(d.stbStop[prefix + 'Cncl']);
|
||||
const plPlanned = d.stbStop[prefix + 'PlatfS'] || d.stbStop[prefix + 'PltfS'] && d.stbStop[prefix + 'PltfS'].txt || null;
|
||||
const plPrognosed = d.stbStop[prefix + 'PlatfR'] || d.stbStop[prefix + 'PltfR'] && d.stbStop[prefix + 'PltfR'].txt || null;
|
||||
|
||||
const res = {
|
||||
tripId: d.jid,
|
||||
stop: d.stbStop.location || null,
|
||||
...profile.parseWhen(ctx, d.date, tPlanned, tPrognosed, tzOffset, cancelled),
|
||||
...profile.parsePlatform(ctx, plPlanned, plPrognosed, cancelled),
|
||||
prognosisType: profile.parsePrognosisType(ctx, d.stbStop[prefix + 'ProgType']) || null,
|
||||
// todo: for arrivals, this is the *origin*, not the *direction*
|
||||
direction: prefix === DEPARTURE && d.dirTxt && profile.parseStationName(ctx, d.dirTxt) || null,
|
||||
provenance: prefix === ARRIVAL && d.dirTxt && profile.parseStationName(ctx, d.dirTxt) || null,
|
||||
line: d.line || null,
|
||||
tripId: d.journeyID,
|
||||
stop: profile.parseLocation(ctx, d.station),
|
||||
...profile.parseWhen(ctx, null, d.timeSchedule, d.time, d.canceled),
|
||||
...profile.parsePlatform(ctx, d.platformSchedule, d.platform, d.canceled),
|
||||
//prognosisType: TODO
|
||||
direction: d.transport?.direction?.stopPlaces?.length > 0 && profile.parseStationName(ctx, d.transport?.direction?.stopPlaces[0].name) || null,
|
||||
provenance: profile.parseStationName(ctx, d.transport?.origin?.name) || null,
|
||||
line: profile.parseLine(ctx, d) || null,
|
||||
remarks: [],
|
||||
origin: null,
|
||||
destination: null,
|
||||
origin: profile.parseLocation(ctx, d.transport?.origin) || null,
|
||||
destination: profile.parseLocation(ctx, d.transport?.destination) || null,
|
||||
};
|
||||
|
||||
if (prefix === DEPARTURE && Array.isArray(d.prodL) && d.prodL[0] && locL[d.prodL[0].tLocX]) {
|
||||
res.destination = profile.parseLocation(ctx, locL[d.prodL[0].tLocX]);
|
||||
}
|
||||
// TODO pos
|
||||
|
||||
if (prefix === ARRIVAL && Array.isArray(d.prodL) && d.prodL[0] && locL[d.prodL[0].fLocX]) {
|
||||
res.origin = profile.parseLocation(ctx, locL[d.prodL[0].fLocX]);
|
||||
}
|
||||
|
||||
if (d.pos) {
|
||||
res.currentTripPosition = {
|
||||
type: 'location',
|
||||
latitude: d.pos.y / 1000000,
|
||||
longitude: d.pos.x / 1000000,
|
||||
};
|
||||
}
|
||||
|
||||
if (cancelled) {
|
||||
if (d.canceled) {
|
||||
res.cancelled = true;
|
||||
Object.defineProperty(res, 'canceled', {value: true});
|
||||
}
|
||||
|
||||
if (opt.remarks) {
|
||||
res.remarks = parseRemarks(ctx, [
|
||||
...d.remL || [],
|
||||
...d.msgL || [],
|
||||
...d.stbStop.remL || [],
|
||||
...d.stbStop.msgL || [],
|
||||
])
|
||||
.map(([remark]) => remark);
|
||||
res.remarks = parseRemarks(ctx, d);
|
||||
}
|
||||
|
||||
if (opt.stopovers && Array.isArray(d.stopL)) {
|
||||
// Filter stations the train passes without stopping, as this doesn't comply with FPTF (yet).
|
||||
const stopovers = d.stopL
|
||||
.map(st => profile.parseStopover(ctx, st, d.date))
|
||||
.filter(st => !st.passBy);
|
||||
if (prefix === ARRIVAL) {
|
||||
res.previousStopovers = stopovers;
|
||||
} else if (prefix === DEPARTURE) {
|
||||
res.nextStopovers = stopovers;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO opt.stopovers
|
||||
return res;
|
||||
};
|
||||
|
||||
|
|
|
@ -4,15 +4,15 @@ const parseLine = (ctx, p) => {
|
|||
const profile = ctx.profile;
|
||||
const res = {
|
||||
type: 'line',
|
||||
id: slugg(p.verkehrsmittel?.langText), // TODO terrible
|
||||
fahrtNr: p.verkehrsmittel?.nummer,
|
||||
name: p.verkehrsmittel?.name || p.zugName,
|
||||
id: slugg(p.verkehrsmittel?.langText || p.transport?.journeyDescription), // TODO terrible
|
||||
fahrtNr: p.verkehrsmittel?.nummer || p.transport?.number,
|
||||
name: p.verkehrsmittel?.name || p.zugName || p.transport?.journeyDescription,
|
||||
public: true,
|
||||
};
|
||||
|
||||
// TODO res.adminCode
|
||||
res.productName = p.verkehrsmittel?.kurzText;
|
||||
const foundProduct = profile.products.find(pp => pp.vendo == p.verkehrsmittel?.produktGattung)
|
||||
res.productName = p.verkehrsmittel?.kurzText || p.transport?.category;
|
||||
const foundProduct = profile.products.find(pp => pp.vendo == p.verkehrsmittel?.produktGattung || pp.ris == p.transport?.type)
|
||||
res.mode = foundProduct?.mode;
|
||||
res.product = foundProduct?.id;
|
||||
|
||||
|
|
|
@ -9,10 +9,14 @@ const leadingZeros = /^0+/;
|
|||
const parseLocation = (ctx, l) => {
|
||||
const {profile, opt} = ctx;
|
||||
|
||||
if (!l) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const lid = parse(l.id, {delimiter: '@'});
|
||||
const res = {
|
||||
type: 'location',
|
||||
id: (l.extId || lid.L || '').replace(leadingZeros, '') || null,
|
||||
id: (l.extId || lid.L || l.evaNumber || '').replace(leadingZeros, '') || null,
|
||||
};
|
||||
|
||||
if (l.lat && l.lon) {
|
||||
|
@ -23,7 +27,7 @@ const parseLocation = (ctx, l) => {
|
|||
res.longitude = lid.X / 1000000;
|
||||
}
|
||||
|
||||
if (l.type === STATION || l.extId) {
|
||||
if (l.type === STATION || l.extId || l.evaNumber) {
|
||||
const stop = {
|
||||
type: 'stop', // TODO station
|
||||
id: res.id,
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import maxBy from 'lodash/maxBy.js';
|
||||
|
||||
const parsePolyline = (ctx, p) => { // p = raw polylineGroup
|
||||
if (p.polylineDescriptions.length < 2) {
|
||||
if (p.polylineDescriptions.length < 1) {
|
||||
return null;
|
||||
}
|
||||
const points = p.polylineDescriptions[1].coordinates;
|
||||
const points = maxBy(p.polylineDescriptions, d => d.coordinates.length).coordinates; // TODO initial and final poly?
|
||||
if (points.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -2,18 +2,26 @@ import flatMap from 'lodash/flatMap.js';
|
|||
|
||||
const parseRemarks = (ctx, ref) => {
|
||||
//TODO ereignisZusammenfassung, priorisierteMeldungen?
|
||||
return flatMap([ref.risNotizen || [], ref.himMeldungen || [], ref.meldungenAsObject || [], ref.verkehrsmittel?.zugattribute || []]).map(remark => {
|
||||
return flatMap([
|
||||
ref.risNotizen || [],
|
||||
ref.himMeldungen || [],
|
||||
ref.meldungenAsObject || [],
|
||||
ref.verkehrsmittel?.zugattribute || [],
|
||||
ref.messages || [],
|
||||
ref.attributes || [],
|
||||
ref.disruptions || [],
|
||||
]).map(remark => {
|
||||
if (remark.kategorie) {
|
||||
const res = ctx.profile.parseHintByCode(remark);
|
||||
if (res) return res;
|
||||
}
|
||||
let type = 'hint';
|
||||
if (remark.prioritaet) type = 'status';
|
||||
if (!remark.kategorie && remark.key || remark.prioritaet && remark.prioritaet == 'HOCH') type = 'warning';
|
||||
if (remark.prioritaet || remark.type) type = 'status';
|
||||
if (!remark.kategorie && remark.key || remark.disruptionID || remark.prioritaet && remark.prioritaet == 'HOCH') type = 'warning';
|
||||
let res = {
|
||||
code: remark.code || remark.key,
|
||||
summary: remark.nachrichtKurz || remark.value || remark.ueberschrift,
|
||||
text: remark.nachrichtLang || remark.value || remark.text,
|
||||
summary: remark.nachrichtKurz || remark.value || remark.ueberschrift || remark.text || Object.values(remark.descriptions || {}).shift()?.textShort,
|
||||
text: remark.nachrichtLang || remark.value || remark.text || Object.values(remark.descriptions || {}).shift()?.text,
|
||||
type: type,
|
||||
};
|
||||
if (remark.modDateTime) {
|
||||
|
|
|
@ -25,9 +25,8 @@ const opt = {
|
|||
};
|
||||
|
||||
tap.test('parses an arrival correctly (DB)', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res});
|
||||
const ctx = {profile, opt, common, res};
|
||||
const arrivals = res.jnyL.map(d => profile.parseArrival(ctx, d));
|
||||
const ctx = {profile, opt, common: null, res};
|
||||
const arrivals = res.arrivals.map(d => profile.parseArrival(ctx, d));
|
||||
|
||||
t.same(arrivals, expected);
|
||||
t.end();
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const res = require('./fixtures/db-deps-with-destination.json');
|
||||
|
||||
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: '2022-10-15T15:45:00+02:00',
|
||||
products: {},
|
||||
};
|
||||
|
||||
tap.test('parses departure.destination correctly (DB)', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res});
|
||||
const ctx = {profile, opt, common, res};
|
||||
const departure = profile.parseDeparture(ctx, res.jnyL[0]);
|
||||
|
||||
t.ok(departure.destination, 'missing departure.destination');
|
||||
t.equal(departure.destination.type, 'stop', 'invalid departure.destination.type');
|
||||
t.equal(departure.destination.id, '930200', 'invalid departure.destination.id');
|
||||
t.end();
|
||||
});
|
|
@ -1,41 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const res = require('./fixtures/db-journey-2.json');
|
||||
import {dbJourney as expected} from './fixtures/db-journey-2.js';
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const opt = {
|
||||
results: 4,
|
||||
via: null,
|
||||
stopovers: true,
|
||||
transfers: -1,
|
||||
transferTime: 0,
|
||||
accessibility: 'none',
|
||||
bike: false,
|
||||
tickets: true,
|
||||
polylines: true,
|
||||
remarks: true,
|
||||
walkingSpeed: 'normal',
|
||||
startWithWalking: true,
|
||||
scheduledDays: false,
|
||||
departure: '2020-11-16T10:00:00+01:00',
|
||||
products: {},
|
||||
};
|
||||
|
||||
tap.test('parses a journey remarks without failing', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res});
|
||||
const ctx = {profile, opt, common, res};
|
||||
const journey = profile.parseJourney(ctx, res.outConL[2]);
|
||||
|
||||
t.same(journey, expected);
|
||||
t.end();
|
||||
});
|
|
@ -1,35 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
|
||||
const resAdditionalStopover = require('./fixtures/db-journey-additional-stopover.json');
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const opt = {
|
||||
results: 1,
|
||||
stopovers: true,
|
||||
};
|
||||
|
||||
// https://github.com/public-transport/hafas-client/issues/303
|
||||
|
||||
tap.test('parses a journey having a leg with an additional stopover', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res: resAdditionalStopover});
|
||||
const ctx = {profile, opt, common, res: resAdditionalStopover};
|
||||
const journey = profile.parseJourney(ctx, resAdditionalStopover.outConL[0]);
|
||||
const stopovers = journey.legs[0].stopovers;
|
||||
|
||||
const stopoverRegular = stopovers[6];
|
||||
const stopoverAdditional = stopovers[7];
|
||||
t.notOk('additional' in stopoverRegular, 'regular stopover has attribute additional');
|
||||
t.equal(stopoverAdditional.additional, true, 'additional stopover doesn\'t have attribute additional');
|
||||
t.end();
|
||||
});
|
|
@ -1,776 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const res = require('./fixtures/db-journey-fpB-fpE-2-years.json');
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const opt = {
|
||||
results: 1,
|
||||
via: null,
|
||||
stopovers: false,
|
||||
transfers: -1,
|
||||
transferTime: 0,
|
||||
accessibility: 'none',
|
||||
bike: false,
|
||||
walkingSpeed: 'normal',
|
||||
startWithWalking: true,
|
||||
tickets: false,
|
||||
polylines: false,
|
||||
subStops: false,
|
||||
entrances: false,
|
||||
remarks: false,
|
||||
scheduledDays: true,
|
||||
};
|
||||
|
||||
tap.test('parses journey.scheduledDays correctly with planning period of >1 year', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res});
|
||||
const ctx = {profile, opt, common, res};
|
||||
const journey = profile.parseJourney(ctx, res.outConL[0]);
|
||||
|
||||
// "fpB": "20211212",
|
||||
// "fpE": "20231209",
|
||||
// […]
|
||||
// "sDays": {
|
||||
// "sDaysR": "runs 16. Nov 2022 ",
|
||||
// "sDaysB": "000000000000000000000000000000000000000000000000000000000000000000000000000000000001F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
// },
|
||||
t.same(journey.scheduledDays, {
|
||||
'2021-12-12': false,
|
||||
'2021-12-13': false,
|
||||
'2021-12-14': false,
|
||||
'2021-12-15': false,
|
||||
'2021-12-16': false,
|
||||
'2021-12-17': false,
|
||||
'2021-12-18': false,
|
||||
'2021-12-19': false,
|
||||
'2021-12-20': false,
|
||||
'2021-12-21': false,
|
||||
'2021-12-22': false,
|
||||
'2021-12-23': false,
|
||||
'2021-12-24': false,
|
||||
'2021-12-25': false,
|
||||
'2021-12-26': false,
|
||||
'2021-12-27': false,
|
||||
'2021-12-28': false,
|
||||
'2021-12-29': false,
|
||||
'2021-12-30': false,
|
||||
'2021-12-31': false,
|
||||
'2022-01-01': false,
|
||||
'2022-01-02': false,
|
||||
'2022-01-03': false,
|
||||
'2022-01-04': false,
|
||||
'2022-01-05': false,
|
||||
'2022-01-06': false,
|
||||
'2022-01-07': false,
|
||||
'2022-01-08': false,
|
||||
'2022-01-09': false,
|
||||
'2022-01-10': false,
|
||||
'2022-01-11': false,
|
||||
'2022-01-12': false,
|
||||
'2022-01-13': false,
|
||||
'2022-01-14': false,
|
||||
'2022-01-15': false,
|
||||
'2022-01-16': false,
|
||||
'2022-01-17': false,
|
||||
'2022-01-18': false,
|
||||
'2022-01-19': false,
|
||||
'2022-01-20': false,
|
||||
'2022-01-21': false,
|
||||
'2022-01-22': false,
|
||||
'2022-01-23': false,
|
||||
'2022-01-24': false,
|
||||
'2022-01-25': false,
|
||||
'2022-01-26': false,
|
||||
'2022-01-27': false,
|
||||
'2022-01-28': false,
|
||||
'2022-01-29': false,
|
||||
'2022-01-30': false,
|
||||
'2022-01-31': false,
|
||||
'2022-02-01': false,
|
||||
'2022-02-02': false,
|
||||
'2022-02-03': false,
|
||||
'2022-02-04': false,
|
||||
'2022-02-05': false,
|
||||
'2022-02-06': false,
|
||||
'2022-02-07': false,
|
||||
'2022-02-08': false,
|
||||
'2022-02-09': false,
|
||||
'2022-02-10': false,
|
||||
'2022-02-11': false,
|
||||
'2022-02-12': false,
|
||||
'2022-02-13': false,
|
||||
'2022-02-14': false,
|
||||
'2022-02-15': false,
|
||||
'2022-02-16': false,
|
||||
'2022-02-17': false,
|
||||
'2022-02-18': false,
|
||||
'2022-02-19': false,
|
||||
'2022-02-20': false,
|
||||
'2022-02-21': false,
|
||||
'2022-02-22': false,
|
||||
'2022-02-23': false,
|
||||
'2022-02-24': false,
|
||||
'2022-02-25': false,
|
||||
'2022-02-26': false,
|
||||
'2022-02-27': false,
|
||||
'2022-02-28': false,
|
||||
'2022-03-01': false,
|
||||
'2022-03-02': false,
|
||||
'2022-03-03': false,
|
||||
'2022-03-04': false,
|
||||
'2022-03-05': false,
|
||||
'2022-03-06': false,
|
||||
'2022-03-07': false,
|
||||
'2022-03-08': false,
|
||||
'2022-03-09': false,
|
||||
'2022-03-10': false,
|
||||
'2022-03-11': false,
|
||||
'2022-03-12': false,
|
||||
'2022-03-13': false,
|
||||
'2022-03-14': false,
|
||||
'2022-03-15': false,
|
||||
'2022-03-16': false,
|
||||
'2022-03-17': false,
|
||||
'2022-03-18': false,
|
||||
'2022-03-19': false,
|
||||
'2022-03-20': false,
|
||||
'2022-03-21': false,
|
||||
'2022-03-22': false,
|
||||
'2022-03-23': false,
|
||||
'2022-03-24': false,
|
||||
'2022-03-25': false,
|
||||
'2022-03-26': false,
|
||||
'2022-03-27': false,
|
||||
'2022-03-28': false,
|
||||
'2022-03-29': false,
|
||||
'2022-03-30': false,
|
||||
'2022-03-31': false,
|
||||
'2022-04-01': false,
|
||||
'2022-04-02': false,
|
||||
'2022-04-03': false,
|
||||
'2022-04-04': false,
|
||||
'2022-04-05': false,
|
||||
'2022-04-06': false,
|
||||
'2022-04-07': false,
|
||||
'2022-04-08': false,
|
||||
'2022-04-09': false,
|
||||
'2022-04-10': false,
|
||||
'2022-04-11': false,
|
||||
'2022-04-12': false,
|
||||
'2022-04-13': false,
|
||||
'2022-04-14': false,
|
||||
'2022-04-15': false,
|
||||
'2022-04-16': false,
|
||||
'2022-04-17': false,
|
||||
'2022-04-18': false,
|
||||
'2022-04-19': false,
|
||||
'2022-04-20': false,
|
||||
'2022-04-21': false,
|
||||
'2022-04-22': false,
|
||||
'2022-04-23': false,
|
||||
'2022-04-24': false,
|
||||
'2022-04-25': false,
|
||||
'2022-04-26': false,
|
||||
'2022-04-27': false,
|
||||
'2022-04-28': false,
|
||||
'2022-04-29': false,
|
||||
'2022-04-30': false,
|
||||
'2022-05-01': false,
|
||||
'2022-05-02': false,
|
||||
'2022-05-03': false,
|
||||
'2022-05-04': false,
|
||||
'2022-05-05': false,
|
||||
'2022-05-06': false,
|
||||
'2022-05-07': false,
|
||||
'2022-05-08': false,
|
||||
'2022-05-09': false,
|
||||
'2022-05-10': false,
|
||||
'2022-05-11': false,
|
||||
'2022-05-12': false,
|
||||
'2022-05-13': false,
|
||||
'2022-05-14': false,
|
||||
'2022-05-15': false,
|
||||
'2022-05-16': false,
|
||||
'2022-05-17': false,
|
||||
'2022-05-18': false,
|
||||
'2022-05-19': false,
|
||||
'2022-05-20': false,
|
||||
'2022-05-21': false,
|
||||
'2022-05-22': false,
|
||||
'2022-05-23': false,
|
||||
'2022-05-24': false,
|
||||
'2022-05-25': false,
|
||||
'2022-05-26': false,
|
||||
'2022-05-27': false,
|
||||
'2022-05-28': false,
|
||||
'2022-05-29': false,
|
||||
'2022-05-30': false,
|
||||
'2022-05-31': false,
|
||||
'2022-06-01': false,
|
||||
'2022-06-02': false,
|
||||
'2022-06-03': false,
|
||||
'2022-06-04': false,
|
||||
'2022-06-05': false,
|
||||
'2022-06-06': false,
|
||||
'2022-06-07': false,
|
||||
'2022-06-08': false,
|
||||
'2022-06-09': false,
|
||||
'2022-06-10': false,
|
||||
'2022-06-11': false,
|
||||
'2022-06-12': false,
|
||||
'2022-06-13': false,
|
||||
'2022-06-14': false,
|
||||
'2022-06-15': false,
|
||||
'2022-06-16': false,
|
||||
'2022-06-17': false,
|
||||
'2022-06-18': false,
|
||||
'2022-06-19': false,
|
||||
'2022-06-20': false,
|
||||
'2022-06-21': false,
|
||||
'2022-06-22': false,
|
||||
'2022-06-23': false,
|
||||
'2022-06-24': false,
|
||||
'2022-06-25': false,
|
||||
'2022-06-26': false,
|
||||
'2022-06-27': false,
|
||||
'2022-06-28': false,
|
||||
'2022-06-29': false,
|
||||
'2022-06-30': false,
|
||||
'2022-07-01': false,
|
||||
'2022-07-02': false,
|
||||
'2022-07-03': false,
|
||||
'2022-07-04': false,
|
||||
'2022-07-05': false,
|
||||
'2022-07-06': false,
|
||||
'2022-07-07': false,
|
||||
'2022-07-08': false,
|
||||
'2022-07-09': false,
|
||||
'2022-07-10': false,
|
||||
'2022-07-11': false,
|
||||
'2022-07-12': false,
|
||||
'2022-07-13': false,
|
||||
'2022-07-14': false,
|
||||
'2022-07-15': false,
|
||||
'2022-07-16': false,
|
||||
'2022-07-17': false,
|
||||
'2022-07-18': false,
|
||||
'2022-07-19': false,
|
||||
'2022-07-20': false,
|
||||
'2022-07-21': false,
|
||||
'2022-07-22': false,
|
||||
'2022-07-23': false,
|
||||
'2022-07-24': false,
|
||||
'2022-07-25': false,
|
||||
'2022-07-26': false,
|
||||
'2022-07-27': false,
|
||||
'2022-07-28': false,
|
||||
'2022-07-29': false,
|
||||
'2022-07-30': false,
|
||||
'2022-07-31': false,
|
||||
'2022-08-01': false,
|
||||
'2022-08-02': false,
|
||||
'2022-08-03': false,
|
||||
'2022-08-04': false,
|
||||
'2022-08-05': false,
|
||||
'2022-08-06': false,
|
||||
'2022-08-07': false,
|
||||
'2022-08-08': false,
|
||||
'2022-08-09': false,
|
||||
'2022-08-10': false,
|
||||
'2022-08-11': false,
|
||||
'2022-08-12': false,
|
||||
'2022-08-13': false,
|
||||
'2022-08-14': false,
|
||||
'2022-08-15': false,
|
||||
'2022-08-16': false,
|
||||
'2022-08-17': false,
|
||||
'2022-08-18': false,
|
||||
'2022-08-19': false,
|
||||
'2022-08-20': false,
|
||||
'2022-08-21': false,
|
||||
'2022-08-22': false,
|
||||
'2022-08-23': false,
|
||||
'2022-08-24': false,
|
||||
'2022-08-25': false,
|
||||
'2022-08-26': false,
|
||||
'2022-08-27': false,
|
||||
'2022-08-28': false,
|
||||
'2022-08-29': false,
|
||||
'2022-08-30': false,
|
||||
'2022-08-31': false,
|
||||
'2022-09-01': false,
|
||||
'2022-09-02': false,
|
||||
'2022-09-03': false,
|
||||
'2022-09-04': false,
|
||||
'2022-09-05': false,
|
||||
'2022-09-06': false,
|
||||
'2022-09-07': false,
|
||||
'2022-09-08': false,
|
||||
'2022-09-09': false,
|
||||
'2022-09-10': false,
|
||||
'2022-09-11': false,
|
||||
'2022-09-12': false,
|
||||
'2022-09-13': false,
|
||||
'2022-09-14': false,
|
||||
'2022-09-15': false,
|
||||
'2022-09-16': false,
|
||||
'2022-09-17': false,
|
||||
'2022-09-18': false,
|
||||
'2022-09-19': false,
|
||||
'2022-09-20': false,
|
||||
'2022-09-21': false,
|
||||
'2022-09-22': false,
|
||||
'2022-09-23': false,
|
||||
'2022-09-24': false,
|
||||
'2022-09-25': false,
|
||||
'2022-09-26': false,
|
||||
'2022-09-27': false,
|
||||
'2022-09-28': false,
|
||||
'2022-09-29': false,
|
||||
'2022-09-30': false,
|
||||
'2022-10-01': false,
|
||||
'2022-10-02': false,
|
||||
'2022-10-03': false,
|
||||
'2022-10-04': false,
|
||||
'2022-10-05': false,
|
||||
'2022-10-06': false,
|
||||
'2022-10-07': false,
|
||||
'2022-10-08': false,
|
||||
'2022-10-09': false,
|
||||
'2022-10-10': false,
|
||||
'2022-10-11': false,
|
||||
'2022-10-12': false,
|
||||
'2022-10-13': false,
|
||||
'2022-10-14': false,
|
||||
'2022-10-15': false,
|
||||
'2022-10-16': false,
|
||||
'2022-10-17': false,
|
||||
'2022-10-18': false,
|
||||
'2022-10-19': false,
|
||||
'2022-10-20': false,
|
||||
'2022-10-21': false,
|
||||
'2022-10-22': false,
|
||||
'2022-10-23': false,
|
||||
'2022-10-24': false,
|
||||
'2022-10-25': false,
|
||||
'2022-10-26': false,
|
||||
'2022-10-27': false,
|
||||
'2022-10-28': false,
|
||||
'2022-10-29': false,
|
||||
'2022-10-30': false,
|
||||
'2022-10-31': false,
|
||||
'2022-11-01': false,
|
||||
'2022-11-02': false,
|
||||
'2022-11-03': false,
|
||||
'2022-11-04': false,
|
||||
'2022-11-05': false,
|
||||
'2022-11-06': false,
|
||||
'2022-11-07': false,
|
||||
'2022-11-08': false,
|
||||
'2022-11-09': false,
|
||||
'2022-11-10': false,
|
||||
'2022-11-11': false,
|
||||
'2022-11-12': true,
|
||||
'2022-11-13': true,
|
||||
'2022-11-14': true,
|
||||
'2022-11-15': true,
|
||||
'2022-11-16': true,
|
||||
'2022-11-17': false,
|
||||
'2022-11-18': false,
|
||||
'2022-11-19': false,
|
||||
'2022-11-20': false,
|
||||
'2022-11-21': false,
|
||||
'2022-11-22': false,
|
||||
'2022-11-23': false,
|
||||
'2022-11-24': false,
|
||||
'2022-11-25': false,
|
||||
'2022-11-26': false,
|
||||
'2022-11-27': false,
|
||||
'2022-11-28': false,
|
||||
'2022-11-29': false,
|
||||
'2022-11-30': false,
|
||||
'2022-12-01': false,
|
||||
'2022-12-02': false,
|
||||
'2022-12-03': false,
|
||||
'2022-12-04': false,
|
||||
'2022-12-05': false,
|
||||
'2022-12-06': false,
|
||||
'2022-12-07': false,
|
||||
'2022-12-08': false,
|
||||
'2022-12-09': false,
|
||||
'2022-12-10': false,
|
||||
'2022-12-11': false,
|
||||
'2022-12-12': false,
|
||||
'2022-12-13': false,
|
||||
'2022-12-14': false,
|
||||
'2022-12-15': false,
|
||||
'2022-12-16': false,
|
||||
'2022-12-17': false,
|
||||
'2022-12-18': false,
|
||||
'2022-12-19': false,
|
||||
'2022-12-20': false,
|
||||
'2022-12-21': false,
|
||||
'2022-12-22': false,
|
||||
'2022-12-23': false,
|
||||
'2022-12-24': false,
|
||||
'2022-12-25': false,
|
||||
'2022-12-26': false,
|
||||
'2022-12-27': false,
|
||||
'2022-12-28': false,
|
||||
'2022-12-29': false,
|
||||
'2022-12-30': false,
|
||||
'2022-12-31': false,
|
||||
'2023-01-01': false,
|
||||
'2023-01-02': false,
|
||||
'2023-01-03': false,
|
||||
'2023-01-04': false,
|
||||
'2023-01-05': false,
|
||||
'2023-01-06': false,
|
||||
'2023-01-07': false,
|
||||
'2023-01-08': false,
|
||||
'2023-01-09': false,
|
||||
'2023-01-10': false,
|
||||
'2023-01-11': false,
|
||||
'2023-01-12': false,
|
||||
'2023-01-13': false,
|
||||
'2023-01-14': false,
|
||||
'2023-01-15': false,
|
||||
'2023-01-16': false,
|
||||
'2023-01-17': false,
|
||||
'2023-01-18': false,
|
||||
'2023-01-19': false,
|
||||
'2023-01-20': false,
|
||||
'2023-01-21': false,
|
||||
'2023-01-22': false,
|
||||
'2023-01-23': false,
|
||||
'2023-01-24': false,
|
||||
'2023-01-25': false,
|
||||
'2023-01-26': false,
|
||||
'2023-01-27': false,
|
||||
'2023-01-28': false,
|
||||
'2023-01-29': false,
|
||||
'2023-01-30': false,
|
||||
'2023-01-31': false,
|
||||
'2023-02-01': false,
|
||||
'2023-02-02': false,
|
||||
'2023-02-03': false,
|
||||
'2023-02-04': false,
|
||||
'2023-02-05': false,
|
||||
'2023-02-06': false,
|
||||
'2023-02-07': false,
|
||||
'2023-02-08': false,
|
||||
'2023-02-09': false,
|
||||
'2023-02-10': false,
|
||||
'2023-02-11': false,
|
||||
'2023-02-12': false,
|
||||
'2023-02-13': false,
|
||||
'2023-02-14': false,
|
||||
'2023-02-15': false,
|
||||
'2023-02-16': false,
|
||||
'2023-02-17': false,
|
||||
'2023-02-18': false,
|
||||
'2023-02-19': false,
|
||||
'2023-02-20': false,
|
||||
'2023-02-21': false,
|
||||
'2023-02-22': false,
|
||||
'2023-02-23': false,
|
||||
'2023-02-24': false,
|
||||
'2023-02-25': false,
|
||||
'2023-02-26': false,
|
||||
'2023-02-27': false,
|
||||
'2023-02-28': false,
|
||||
'2023-03-01': false,
|
||||
'2023-03-02': false,
|
||||
'2023-03-03': false,
|
||||
'2023-03-04': false,
|
||||
'2023-03-05': false,
|
||||
'2023-03-06': false,
|
||||
'2023-03-07': false,
|
||||
'2023-03-08': false,
|
||||
'2023-03-09': false,
|
||||
'2023-03-10': false,
|
||||
'2023-03-11': false,
|
||||
'2023-03-12': false,
|
||||
'2023-03-13': false,
|
||||
'2023-03-14': false,
|
||||
'2023-03-15': false,
|
||||
'2023-03-16': false,
|
||||
'2023-03-17': false,
|
||||
'2023-03-18': false,
|
||||
'2023-03-19': false,
|
||||
'2023-03-20': false,
|
||||
'2023-03-21': false,
|
||||
'2023-03-22': false,
|
||||
'2023-03-23': false,
|
||||
'2023-03-24': false,
|
||||
'2023-03-25': false,
|
||||
'2023-03-26': false,
|
||||
'2023-03-27': false,
|
||||
'2023-03-28': false,
|
||||
'2023-03-29': false,
|
||||
'2023-03-30': false,
|
||||
'2023-03-31': false,
|
||||
'2023-04-01': false,
|
||||
'2023-04-02': false,
|
||||
'2023-04-03': false,
|
||||
'2023-04-04': false,
|
||||
'2023-04-05': false,
|
||||
'2023-04-06': false,
|
||||
'2023-04-07': false,
|
||||
'2023-04-08': false,
|
||||
'2023-04-09': false,
|
||||
'2023-04-10': false,
|
||||
'2023-04-11': false,
|
||||
'2023-04-12': false,
|
||||
'2023-04-13': false,
|
||||
'2023-04-14': false,
|
||||
'2023-04-15': false,
|
||||
'2023-04-16': false,
|
||||
'2023-04-17': false,
|
||||
'2023-04-18': false,
|
||||
'2023-04-19': false,
|
||||
'2023-04-20': false,
|
||||
'2023-04-21': false,
|
||||
'2023-04-22': false,
|
||||
'2023-04-23': false,
|
||||
'2023-04-24': false,
|
||||
'2023-04-25': false,
|
||||
'2023-04-26': false,
|
||||
'2023-04-27': false,
|
||||
'2023-04-28': false,
|
||||
'2023-04-29': false,
|
||||
'2023-04-30': false,
|
||||
'2023-05-01': false,
|
||||
'2023-05-02': false,
|
||||
'2023-05-03': false,
|
||||
'2023-05-04': false,
|
||||
'2023-05-05': false,
|
||||
'2023-05-06': false,
|
||||
'2023-05-07': false,
|
||||
'2023-05-08': false,
|
||||
'2023-05-09': false,
|
||||
'2023-05-10': false,
|
||||
'2023-05-11': false,
|
||||
'2023-05-12': false,
|
||||
'2023-05-13': false,
|
||||
'2023-05-14': false,
|
||||
'2023-05-15': false,
|
||||
'2023-05-16': false,
|
||||
'2023-05-17': false,
|
||||
'2023-05-18': false,
|
||||
'2023-05-19': false,
|
||||
'2023-05-20': false,
|
||||
'2023-05-21': false,
|
||||
'2023-05-22': false,
|
||||
'2023-05-23': false,
|
||||
'2023-05-24': false,
|
||||
'2023-05-25': false,
|
||||
'2023-05-26': false,
|
||||
'2023-05-27': false,
|
||||
'2023-05-28': false,
|
||||
'2023-05-29': false,
|
||||
'2023-05-30': false,
|
||||
'2023-05-31': false,
|
||||
'2023-06-01': false,
|
||||
'2023-06-02': false,
|
||||
'2023-06-03': false,
|
||||
'2023-06-04': false,
|
||||
'2023-06-05': false,
|
||||
'2023-06-06': false,
|
||||
'2023-06-07': false,
|
||||
'2023-06-08': false,
|
||||
'2023-06-09': false,
|
||||
'2023-06-10': false,
|
||||
'2023-06-11': false,
|
||||
'2023-06-12': false,
|
||||
'2023-06-13': false,
|
||||
'2023-06-14': false,
|
||||
'2023-06-15': false,
|
||||
'2023-06-16': false,
|
||||
'2023-06-17': false,
|
||||
'2023-06-18': false,
|
||||
'2023-06-19': false,
|
||||
'2023-06-20': false,
|
||||
'2023-06-21': false,
|
||||
'2023-06-22': false,
|
||||
'2023-06-23': false,
|
||||
'2023-06-24': false,
|
||||
'2023-06-25': false,
|
||||
'2023-06-26': false,
|
||||
'2023-06-27': false,
|
||||
'2023-06-28': false,
|
||||
'2023-06-29': false,
|
||||
'2023-06-30': false,
|
||||
'2023-07-01': false,
|
||||
'2023-07-02': false,
|
||||
'2023-07-03': false,
|
||||
'2023-07-04': false,
|
||||
'2023-07-05': false,
|
||||
'2023-07-06': false,
|
||||
'2023-07-07': false,
|
||||
'2023-07-08': false,
|
||||
'2023-07-09': false,
|
||||
'2023-07-10': false,
|
||||
'2023-07-11': false,
|
||||
'2023-07-12': false,
|
||||
'2023-07-13': false,
|
||||
'2023-07-14': false,
|
||||
'2023-07-15': false,
|
||||
'2023-07-16': false,
|
||||
'2023-07-17': false,
|
||||
'2023-07-18': false,
|
||||
'2023-07-19': false,
|
||||
'2023-07-20': false,
|
||||
'2023-07-21': false,
|
||||
'2023-07-22': false,
|
||||
'2023-07-23': false,
|
||||
'2023-07-24': false,
|
||||
'2023-07-25': false,
|
||||
'2023-07-26': false,
|
||||
'2023-07-27': false,
|
||||
'2023-07-28': false,
|
||||
'2023-07-29': false,
|
||||
'2023-07-30': false,
|
||||
'2023-07-31': false,
|
||||
'2023-08-01': false,
|
||||
'2023-08-02': false,
|
||||
'2023-08-03': false,
|
||||
'2023-08-04': false,
|
||||
'2023-08-05': false,
|
||||
'2023-08-06': false,
|
||||
'2023-08-07': false,
|
||||
'2023-08-08': false,
|
||||
'2023-08-09': false,
|
||||
'2023-08-10': false,
|
||||
'2023-08-11': false,
|
||||
'2023-08-12': false,
|
||||
'2023-08-13': false,
|
||||
'2023-08-14': false,
|
||||
'2023-08-15': false,
|
||||
'2023-08-16': false,
|
||||
'2023-08-17': false,
|
||||
'2023-08-18': false,
|
||||
'2023-08-19': false,
|
||||
'2023-08-20': false,
|
||||
'2023-08-21': false,
|
||||
'2023-08-22': false,
|
||||
'2023-08-23': false,
|
||||
'2023-08-24': false,
|
||||
'2023-08-25': false,
|
||||
'2023-08-26': false,
|
||||
'2023-08-27': false,
|
||||
'2023-08-28': false,
|
||||
'2023-08-29': false,
|
||||
'2023-08-30': false,
|
||||
'2023-08-31': false,
|
||||
'2023-09-01': false,
|
||||
'2023-09-02': false,
|
||||
'2023-09-03': false,
|
||||
'2023-09-04': false,
|
||||
'2023-09-05': false,
|
||||
'2023-09-06': false,
|
||||
'2023-09-07': false,
|
||||
'2023-09-08': false,
|
||||
'2023-09-09': false,
|
||||
'2023-09-10': false,
|
||||
'2023-09-11': false,
|
||||
'2023-09-12': false,
|
||||
'2023-09-13': false,
|
||||
'2023-09-14': false,
|
||||
'2023-09-15': false,
|
||||
'2023-09-16': false,
|
||||
'2023-09-17': false,
|
||||
'2023-09-18': false,
|
||||
'2023-09-19': false,
|
||||
'2023-09-20': false,
|
||||
'2023-09-21': false,
|
||||
'2023-09-22': false,
|
||||
'2023-09-23': false,
|
||||
'2023-09-24': false,
|
||||
'2023-09-25': false,
|
||||
'2023-09-26': false,
|
||||
'2023-09-27': false,
|
||||
'2023-09-28': false,
|
||||
'2023-09-29': false,
|
||||
'2023-09-30': false,
|
||||
'2023-10-01': false,
|
||||
'2023-10-02': false,
|
||||
'2023-10-03': false,
|
||||
'2023-10-04': false,
|
||||
'2023-10-05': false,
|
||||
'2023-10-06': false,
|
||||
'2023-10-07': false,
|
||||
'2023-10-08': false,
|
||||
'2023-10-09': false,
|
||||
'2023-10-10': false,
|
||||
'2023-10-11': false,
|
||||
'2023-10-12': false,
|
||||
'2023-10-13': false,
|
||||
'2023-10-14': false,
|
||||
'2023-10-15': false,
|
||||
'2023-10-16': false,
|
||||
'2023-10-17': false,
|
||||
'2023-10-18': false,
|
||||
'2023-10-19': false,
|
||||
'2023-10-20': false,
|
||||
'2023-10-21': false,
|
||||
'2023-10-22': false,
|
||||
'2023-10-23': false,
|
||||
'2023-10-24': false,
|
||||
'2023-10-25': false,
|
||||
'2023-10-26': false,
|
||||
'2023-10-27': false,
|
||||
'2023-10-28': false,
|
||||
'2023-10-29': false,
|
||||
'2023-10-30': false,
|
||||
'2023-10-31': false,
|
||||
'2023-11-01': false,
|
||||
'2023-11-02': false,
|
||||
'2023-11-03': false,
|
||||
'2023-11-04': false,
|
||||
'2023-11-05': false,
|
||||
'2023-11-06': false,
|
||||
'2023-11-07': false,
|
||||
'2023-11-08': false,
|
||||
'2023-11-09': false,
|
||||
'2023-11-10': false,
|
||||
'2023-11-11': false,
|
||||
'2023-11-12': false,
|
||||
'2023-11-13': false,
|
||||
'2023-11-14': false,
|
||||
'2023-11-15': false,
|
||||
'2023-11-16': false,
|
||||
'2023-11-17': false,
|
||||
'2023-11-18': false,
|
||||
'2023-11-19': false,
|
||||
'2023-11-20': false,
|
||||
'2023-11-21': false,
|
||||
'2023-11-22': false,
|
||||
'2023-11-23': false,
|
||||
'2023-11-24': false,
|
||||
'2023-11-25': false,
|
||||
'2023-11-26': false,
|
||||
'2023-11-27': false,
|
||||
'2023-11-28': false,
|
||||
'2023-11-29': false,
|
||||
'2023-11-30': false,
|
||||
'2023-12-01': false,
|
||||
'2023-12-02': false,
|
||||
'2023-12-03': false,
|
||||
'2023-12-04': false,
|
||||
'2023-12-05': false,
|
||||
'2023-12-06': false,
|
||||
'2023-12-07': false,
|
||||
'2023-12-08': false,
|
||||
'2023-12-09': false,
|
||||
});
|
||||
t.end();
|
||||
});
|
|
@ -1,65 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const res0 = require('./fixtures/db-journey-overnight-0.json');
|
||||
const expected0 = require('./fixtures/db-journey-overnight-0.expected.json');
|
||||
const res1 = require('./fixtures/db-journey-overnight-1.json');
|
||||
import {overnightJourney as expected1} from './fixtures/db-journey-overnight-1.expected.js';
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const baseOpt = {
|
||||
results: null,
|
||||
via: null,
|
||||
stopovers: false,
|
||||
transfers: -1,
|
||||
transferTime: 0,
|
||||
accessibility: 'none',
|
||||
bike: false,
|
||||
walkingSpeed: 'normal',
|
||||
startWithWalking: true,
|
||||
tickets: true,
|
||||
polylines: true,
|
||||
remarks: true,
|
||||
scheduledDays: false,
|
||||
products: {},
|
||||
};
|
||||
|
||||
tap.test('parses a journey across day with correct timestamps', (t) => {
|
||||
const opt = {
|
||||
...baseOpt,
|
||||
results: 4,
|
||||
stopovers: true,
|
||||
departure: '2023-11-13T22:00:00+01:00',
|
||||
};
|
||||
|
||||
const common = profile.parseCommon({profile, opt, res: res0});
|
||||
const ctx = {profile, opt, common, res: res0};
|
||||
const journey = profile.parseJourney(ctx, res0.outConL[16]);
|
||||
|
||||
t.same(journey, expected0);
|
||||
t.end();
|
||||
});
|
||||
|
||||
tap.test('parses a journey across dates with correct timestamps', (t) => {
|
||||
const opt = {
|
||||
...baseOpt,
|
||||
results: 1,
|
||||
stopovers: true,
|
||||
departure: '2023-11-24T22:00+01:00',
|
||||
};
|
||||
|
||||
const common = profile.parseCommon({profile, opt, res: res1});
|
||||
const ctx = {profile, opt, common, res: res1};
|
||||
const journey = profile.parseJourney(ctx, res1.outConL[0]);
|
||||
|
||||
t.same(journey, expected1);
|
||||
t.end();
|
||||
});
|
|
@ -1,41 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const res = require('./fixtures/db-journey-polyline.json');
|
||||
import {dbJourneyPolyline as expected} from './fixtures/db-journey-polyline.js';
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const opt = {
|
||||
results: null,
|
||||
via: null,
|
||||
stopovers: true,
|
||||
transfers: -1,
|
||||
transferTime: 0,
|
||||
accessibility: 'none',
|
||||
bike: false,
|
||||
tickets: true,
|
||||
polylines: true,
|
||||
remarks: false,
|
||||
walkingSpeed: 'normal',
|
||||
startWithWalking: true,
|
||||
scheduledDays: false,
|
||||
departure: '2020-07-27T10:00+02:00',
|
||||
products: {},
|
||||
};
|
||||
|
||||
tap.test('parses a journey with an embedded polyline correctly', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res});
|
||||
const ctx = {profile, opt, common, res};
|
||||
const journey = profile.parseJourney(ctx, res.outConL[0]);
|
||||
|
||||
t.same(journey, expected);
|
||||
t.end();
|
||||
});
|
|
@ -1,45 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const resDTZOffset0 = require('./fixtures/db-journey-dtzoffset-0.json');
|
||||
const resATZOffset0 = require('./fixtures/db-journey-atzoffset-0.json');
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const opt = {
|
||||
stopovers: false,
|
||||
tickets: false,
|
||||
polylines: false,
|
||||
subStops: true,
|
||||
entrances: true,
|
||||
remarks: true,
|
||||
};
|
||||
|
||||
// https://github.com/public-transport/hafas-client/issues/237
|
||||
|
||||
tap.test('parses a journey whose first leg has a dTZOffset of 0 (#237)', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res: resDTZOffset0});
|
||||
const ctx = {profile, opt, common, res: resDTZOffset0};
|
||||
const journey = profile.parseJourney(ctx, resDTZOffset0.outConL[0]);
|
||||
|
||||
const firstLeg = journey.legs[0];
|
||||
t.notOk((/Z$/).test(firstLeg.departure), 'firstLeg.departure has TZ offset "Z"');
|
||||
t.end();
|
||||
});
|
||||
|
||||
tap.test('parses a journey whose first leg has a aTZOffset of 0 (#237)', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res: resATZOffset0});
|
||||
const ctx = {profile, opt, common, res: resATZOffset0};
|
||||
const journey = profile.parseJourney(ctx, resATZOffset0.outConL[0]);
|
||||
|
||||
const lastLeg = journey.legs[0];
|
||||
t.notOk((/Z$/).test(lastLeg.departure), 'lastLeg.departure has TZ offset "Z"');
|
||||
t.end();
|
||||
});
|
|
@ -22,7 +22,7 @@ const opt = {
|
|||
accessibility: 'none',
|
||||
bike: false,
|
||||
tickets: true,
|
||||
polylines: false,
|
||||
polylines: true,
|
||||
remarks: true,
|
||||
walkingSpeed: 'normal',
|
||||
startWithWalking: true,
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
// todo: use import assertions once they're supported by Node.js & ESLint
|
||||
// https://github.com/tc39/proposal-import-assertions
|
||||
import {createRequire} from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
import tap from 'tap';
|
||||
|
||||
import {createClient} from '../index.js';
|
||||
import {profile as rawProfile} from '../p/db/index.js';
|
||||
const res = require('./fixtures/db-stop.json');
|
||||
import {dbStop as expected} from './fixtures/db-stop.js';
|
||||
|
||||
const client = createClient(rawProfile, 'public-transport/hafas-client:test');
|
||||
const {profile} = client;
|
||||
|
||||
const opt = {
|
||||
linesOfStops: false, // parse & expose lines at the stop/station?
|
||||
subStops: true,
|
||||
entrances: true,
|
||||
remarks: true,
|
||||
};
|
||||
|
||||
tap.test('parses a stop() response correctly (DB)', (t) => {
|
||||
const common = profile.parseCommon({profile, opt, res});
|
||||
const ctx = {profile, opt, common, res};
|
||||
const stop = profile.parseLocation(ctx, res.locL[0]);
|
||||
|
||||
t.same(stop, expected);
|
||||
t.end();
|
||||
});
|
575
test/fixtures/db-arrivals.js
vendored
575
test/fixtures/db-arrivals.js
vendored
|
@ -1,269 +1,322 @@
|
|||
const dbArrivals = [
|
||||
{
|
||||
tripId: '1|1144239|52|80|9062020',
|
||||
stop: {
|
||||
type: 'stop',
|
||||
id: '730985',
|
||||
name: 'Jungfernheide Bahnhof (S+U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '730985',
|
||||
latitude: 52.530866,
|
||||
longitude: 13.300781,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: false,
|
||||
taxi: false,
|
||||
},
|
||||
station: {
|
||||
type: 'station',
|
||||
id: '8011167',
|
||||
name: 'Berlin Jungfernheide',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8011167',
|
||||
latitude: 52.530291,
|
||||
longitude: 13.299451,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: false,
|
||||
taxi: false,
|
||||
},
|
||||
lines: [
|
||||
{
|
||||
type: 'line',
|
||||
id: '3-bb-re6',
|
||||
fahrtNr: null,
|
||||
name: 'Bus RE6',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '3-08-sev-1491900-5842741',
|
||||
fahrtNr: null,
|
||||
name: 'Bus SEV',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: 'rb',
|
||||
fahrtNr: null,
|
||||
name: 'RB',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: 're',
|
||||
fahrtNr: null,
|
||||
name: 'RE',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: 're',
|
||||
fahrtNr: null,
|
||||
name: 'RE',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'regional',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-2',
|
||||
fahrtNr: null,
|
||||
name: 'S 2',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-25',
|
||||
fahrtNr: null,
|
||||
name: 'S 25',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-41',
|
||||
fahrtNr: null,
|
||||
name: 'S 41',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-42',
|
||||
fahrtNr: null,
|
||||
name: 'S 42',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '4-08-46',
|
||||
fahrtNr: null,
|
||||
name: 'S 46',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'suburban',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-n7',
|
||||
fahrtNr: null,
|
||||
name: 'Bus N7',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-x9',
|
||||
fahrtNr: null,
|
||||
name: 'Bus X9',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-109',
|
||||
fahrtNr: null,
|
||||
name: 'Bus 109',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m21',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M21',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m27',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M27',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '7-vbbbvu-7',
|
||||
fahrtNr: null,
|
||||
name: 'U 7',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'subway',
|
||||
},
|
||||
],
|
||||
},
|
||||
lines: [
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-n7',
|
||||
fahrtNr: null,
|
||||
name: 'Bus N7',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-x9',
|
||||
fahrtNr: null,
|
||||
name: 'Bus X9',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m21',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M21',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '5-vbbbvb-m27',
|
||||
fahrtNr: null,
|
||||
name: 'Bus M27',
|
||||
public: true,
|
||||
mode: 'bus',
|
||||
product: 'bus',
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
id: '7-vbbbvu-7',
|
||||
fahrtNr: null,
|
||||
name: 'U 7',
|
||||
public: true,
|
||||
mode: 'train',
|
||||
product: 'subway',
|
||||
},
|
||||
],
|
||||
"tripId": "20241208-c33bba6c-a73a-3eec-8a64-76356c922ece",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "8089100",
|
||||
"name": "Berlin Jungfernheide (S)",
|
||||
"location": null
|
||||
},
|
||||
when: '2020-06-09T17:21:00+02:00',
|
||||
plannedWhen: '2020-06-09T17:04:00+02:00',
|
||||
delay: 1020,
|
||||
platform: null,
|
||||
plannedPlatform: null,
|
||||
prognosisType: 'prognosed',
|
||||
direction: null,
|
||||
provenance: 'Rathaus Spandau (S+U), Berlin',
|
||||
origin: null,
|
||||
destination: null,
|
||||
line: {
|
||||
type: 'line',
|
||||
id: '7-vbbbvu-7',
|
||||
fahrtNr: '19245',
|
||||
name: 'U 7',
|
||||
public: true,
|
||||
adminCode: 'vbbBVU',
|
||||
productName: 'U',
|
||||
mode: 'train',
|
||||
product: 'subway',
|
||||
operator: {type: 'operator', id: 'nahreisezug', name: 'Nahreisezug'},
|
||||
"when": "2024-12-08T01:00:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:00:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": "6",
|
||||
"plannedPlatform": "6",
|
||||
"direction": null,
|
||||
"provenance": "Berlin Beusselstraße",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "s-42-42323",
|
||||
"fahrtNr": 42323,
|
||||
"name": "S 42 (42323)",
|
||||
"public": true,
|
||||
"productName": "S",
|
||||
"mode": "train",
|
||||
"product": "suburban",
|
||||
"operator": null
|
||||
},
|
||||
remarks: [],
|
||||
"remarks": [
|
||||
{
|
||||
"code": "FB",
|
||||
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "8089118",
|
||||
"name": "Berlin Beusselstraße",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
},
|
||||
{
|
||||
"tripId": "20241208-89eeca5a-1768-3713-894a-dd088977f42b",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "730985",
|
||||
"name": "Jungfernheide Bahnhof (S+U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"when": "2024-12-08T01:00:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:00:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": null,
|
||||
"plannedPlatform": null,
|
||||
"direction": null,
|
||||
"provenance": "Rudow (U), Berlin",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "u-7-15421",
|
||||
"fahrtNr": 15421,
|
||||
"name": "U 7 (15421)",
|
||||
"public": true,
|
||||
"productName": "U",
|
||||
"mode": "train",
|
||||
"product": "subway",
|
||||
"operator": null
|
||||
},
|
||||
"remarks": [
|
||||
{
|
||||
"code": "FB",
|
||||
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint"
|
||||
},
|
||||
{
|
||||
"code": "RG",
|
||||
"summary": "Behindertengerechtes Fahrzeug",
|
||||
"text": "Behindertengerechtes Fahrzeug",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "732218",
|
||||
"name": "Rudow (U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
},
|
||||
{
|
||||
"tripId": "20241208-2dc4f2d4-a1e1-3bbf-a607-98ff71c927d0",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "730985",
|
||||
"name": "Jungfernheide Bahnhof (S+U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"when": "2024-12-08T01:03:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:03:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": null,
|
||||
"plannedPlatform": null,
|
||||
"direction": null,
|
||||
"provenance": "Goerdelersteg, Berlin",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "bus-m21-93424",
|
||||
"fahrtNr": 93424,
|
||||
"name": "Bus M21 (93424)",
|
||||
"public": true,
|
||||
"productName": "Bus",
|
||||
"mode": "bus",
|
||||
"product": "bus",
|
||||
"operator": null
|
||||
},
|
||||
"remarks": [
|
||||
{
|
||||
"code": "NF",
|
||||
"summary": "keine Fahrradbeförderung möglich",
|
||||
"text": "keine Fahrradbeförderung möglich",
|
||||
"type": "hint"
|
||||
},
|
||||
{
|
||||
"code": "RG",
|
||||
"summary": "Behindertengerechtes Fahrzeug",
|
||||
"text": "Behindertengerechtes Fahrzeug",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "730993",
|
||||
"name": "Goerdelersteg, Berlin",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
},
|
||||
{
|
||||
"tripId": "20241208-6fa6d37c-a1c0-3f84-bdac-0424705bffaf",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "8089100",
|
||||
"name": "Berlin Jungfernheide (S)",
|
||||
"location": null
|
||||
},
|
||||
"when": "2024-12-08T01:05:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:05:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": "5",
|
||||
"plannedPlatform": "5",
|
||||
"direction": null,
|
||||
"provenance": "Berlin Beusselstraße",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "s-41-41254",
|
||||
"fahrtNr": 41254,
|
||||
"name": "S 41 (41254)",
|
||||
"public": true,
|
||||
"productName": "S",
|
||||
"mode": "train",
|
||||
"product": "suburban",
|
||||
"operator": null
|
||||
},
|
||||
"remarks": [
|
||||
{
|
||||
"code": "FB",
|
||||
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "8089118",
|
||||
"name": "Berlin Beusselstraße",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
},
|
||||
{
|
||||
"tripId": "20241208-c4abf007-d667-3bf1-87a8-2d1b153c014d",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "730985",
|
||||
"name": "Jungfernheide Bahnhof (S+U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"when": "2024-12-08T01:10:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:10:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": null,
|
||||
"plannedPlatform": null,
|
||||
"direction": null,
|
||||
"provenance": "Rudow (U), Berlin",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "u-7-15422",
|
||||
"fahrtNr": 15422,
|
||||
"name": "U 7 (15422)",
|
||||
"public": true,
|
||||
"productName": "U",
|
||||
"mode": "train",
|
||||
"product": "subway",
|
||||
"operator": null
|
||||
},
|
||||
"remarks": [
|
||||
{
|
||||
"code": "FB",
|
||||
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint"
|
||||
},
|
||||
{
|
||||
"code": "RG",
|
||||
"summary": "Behindertengerechtes Fahrzeug",
|
||||
"text": "Behindertengerechtes Fahrzeug",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "732218",
|
||||
"name": "Rudow (U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
},
|
||||
{
|
||||
"tripId": "20241208-c8b6e3e4-6acb-3237-b89e-1fca72497555",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "8089100",
|
||||
"name": "Berlin Jungfernheide (S)",
|
||||
"location": null
|
||||
},
|
||||
"when": "2024-12-08T01:10:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:10:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": "6",
|
||||
"plannedPlatform": "6",
|
||||
"direction": null,
|
||||
"provenance": "Berlin Beusselstraße",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "s-42-42325",
|
||||
"fahrtNr": 42325,
|
||||
"name": "S 42 (42325)",
|
||||
"public": true,
|
||||
"productName": "S",
|
||||
"mode": "train",
|
||||
"product": "suburban",
|
||||
"operator": null
|
||||
},
|
||||
"remarks": [
|
||||
{
|
||||
"code": "FB",
|
||||
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "8089118",
|
||||
"name": "Berlin Beusselstraße",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
},
|
||||
{
|
||||
"tripId": "20241208-f9d83ab7-d603-3344-87c0-a65ecf0f8524",
|
||||
"stop": {
|
||||
"type": "stop",
|
||||
"id": "730985",
|
||||
"name": "Jungfernheide Bahnhof (S+U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"when": "2024-12-08T01:10:00+01:00",
|
||||
"plannedWhen": "2024-12-08T01:10:00+01:00",
|
||||
"delay": 0,
|
||||
"platform": null,
|
||||
"plannedPlatform": null,
|
||||
"direction": null,
|
||||
"provenance": "Rathaus Spandau (S+U), Berlin",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "u-7-15752",
|
||||
"fahrtNr": 15752,
|
||||
"name": "U 7 (15752)",
|
||||
"public": true,
|
||||
"productName": "U",
|
||||
"mode": "train",
|
||||
"product": "subway",
|
||||
"operator": null
|
||||
},
|
||||
"remarks": [
|
||||
{
|
||||
"code": "FB",
|
||||
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint"
|
||||
},
|
||||
{
|
||||
"code": "RG",
|
||||
"summary": "Behindertengerechtes Fahrzeug",
|
||||
"text": "Behindertengerechtes Fahrzeug",
|
||||
"type": "hint"
|
||||
}
|
||||
],
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "731176",
|
||||
"name": "Rathaus Spandau (S+U), Berlin",
|
||||
"location": null
|
||||
},
|
||||
"destination": null
|
||||
}
|
||||
];
|
||||
|
||||
export {
|
||||
|
|
1466
test/fixtures/db-arrivals.json
vendored
1466
test/fixtures/db-arrivals.json
vendored
File diff suppressed because it is too large
Load diff
630
test/fixtures/db-deps-with-destination.json
vendored
630
test/fixtures/db-deps-with-destination.json
vendored
|
@ -1,630 +0,0 @@
|
|||
{
|
||||
"common": {
|
||||
"locL": [
|
||||
{
|
||||
"lid": "A=1@O=Hauptbahnhof Bushst.1-3, Bielefeld@X=8532669@Y=52028585@U=80@L=930200@",
|
||||
"type": "S",
|
||||
"name": "Hauptbahnhof Bushst.1-3, Bielefeld",
|
||||
"icoX": 0,
|
||||
"extId": "930200",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 8532669,
|
||||
"y": 52028585,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 303,
|
||||
"pRefL": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"mMastLocX": 1
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Bielefeld Hbf@X=8532723@Y=52029259@U=80@L=8000036@",
|
||||
"type": "S",
|
||||
"name": "Bielefeld Hbf",
|
||||
"icoX": 2,
|
||||
"extId": "8000036",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 8532777,
|
||||
"y": 52029421,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 303,
|
||||
"pRefL": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
1,
|
||||
2,
|
||||
24,
|
||||
4,
|
||||
5,
|
||||
25,
|
||||
6,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
7,
|
||||
8,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33
|
||||
]
|
||||
}
|
||||
],
|
||||
"prodL": [
|
||||
{
|
||||
"name": "Bus 87",
|
||||
"nameS": "87",
|
||||
"number": "87",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "Bus 87",
|
||||
"num": "73374",
|
||||
"line": "87",
|
||||
"lineId": "5_owl032_87",
|
||||
"matchId": "87",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "owl032"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 52",
|
||||
"nameS": "52",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 52",
|
||||
"line": "52",
|
||||
"lineId": "5_owl032_52",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 54",
|
||||
"nameS": "54",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 54",
|
||||
"line": "54",
|
||||
"lineId": "5_owl032_54",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 61",
|
||||
"nameS": "61",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 61",
|
||||
"line": "61",
|
||||
"lineId": "5_owl051_61",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 62",
|
||||
"nameS": "62",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 62",
|
||||
"line": "62",
|
||||
"lineId": "5_owl051_62",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 87",
|
||||
"nameS": "87",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 87",
|
||||
"line": "87",
|
||||
"lineId": "5_owl032_87",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 95",
|
||||
"nameS": "95",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 95",
|
||||
"line": "95",
|
||||
"lineId": "5_owl032_95",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 369",
|
||||
"nameS": "369",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 369",
|
||||
"line": "369",
|
||||
"lineId": "5_owl032_369",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 80.2",
|
||||
"nameS": "80.2",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 80.2",
|
||||
"line": "80.2",
|
||||
"lineId": "5_owl050_80.2",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ICE",
|
||||
"icoX": 2,
|
||||
"cls": 1,
|
||||
"prodCtx": {
|
||||
"name": "ICE ",
|
||||
"line": "",
|
||||
"catOut": "ICE ",
|
||||
"catOutS": "ICE",
|
||||
"catOutL": "Intercity-Express"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "EC",
|
||||
"icoX": 3,
|
||||
"cls": 2,
|
||||
"prodCtx": {
|
||||
"name": "EC ",
|
||||
"line": "",
|
||||
"catOut": "EC ",
|
||||
"catOutS": "EC",
|
||||
"catOutL": "Eurocity"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "IC",
|
||||
"icoX": 4,
|
||||
"cls": 2,
|
||||
"prodCtx": {
|
||||
"name": "IC ",
|
||||
"line": "",
|
||||
"catOut": "IC ",
|
||||
"catOutS": "IC",
|
||||
"catOutL": "Intercity"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "FLX",
|
||||
"icoX": 5,
|
||||
"cls": 4,
|
||||
"prodCtx": {
|
||||
"name": "FLX",
|
||||
"line": "",
|
||||
"catOut": "DPF ",
|
||||
"catOutS": "DPF",
|
||||
"catOutL": "Fernreisezug externer EU"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 61",
|
||||
"nameS": "61",
|
||||
"icoX": 0,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "Bus 61",
|
||||
"line": "61",
|
||||
"lineId": "3_R2_____61!!949218!!5787966",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bsv",
|
||||
"catOutL": "SEV-Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 69",
|
||||
"nameS": "69",
|
||||
"icoX": 0,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "Bus 69",
|
||||
"line": "69",
|
||||
"lineId": "3_R2_____69!!949218!!5787966",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bsv",
|
||||
"catOutL": "SEV-Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 78",
|
||||
"nameS": "78",
|
||||
"icoX": 0,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "Bus 78",
|
||||
"line": "78",
|
||||
"lineId": "3_R2_____78!!949218!!5787966",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bsv",
|
||||
"catOutL": "SEV-Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 82",
|
||||
"nameS": "82",
|
||||
"icoX": 0,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "Bus 82",
|
||||
"line": "82",
|
||||
"lineId": "3_R2_____82",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bsv",
|
||||
"catOutL": "SEV-Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus SEV",
|
||||
"nameS": "SEV",
|
||||
"icoX": 0,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "Bus SEV",
|
||||
"line": "SEV",
|
||||
"lineId": "3_NWBus__SEV!!896828!!5815064",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bsv",
|
||||
"catOutL": "SEV-Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "NWB",
|
||||
"icoX": 6,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "NWB",
|
||||
"line": "",
|
||||
"catOut": "DPN ",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "Nahreisezug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "RB",
|
||||
"icoX": 6,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "RB ",
|
||||
"line": "",
|
||||
"catOut": "DPN ",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "Nahreisezug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "RE",
|
||||
"icoX": 6,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "RE ",
|
||||
"line": "",
|
||||
"catOut": "DPN ",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "Nahreisezug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "TRI",
|
||||
"icoX": 6,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "TRI",
|
||||
"line": "",
|
||||
"catOut": "DPN ",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "Nahreisezug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "WFB",
|
||||
"icoX": 6,
|
||||
"cls": 8,
|
||||
"prodCtx": {
|
||||
"name": "WFB",
|
||||
"line": "",
|
||||
"catOut": "DPN ",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "Nahreisezug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 48",
|
||||
"nameS": "48",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 48",
|
||||
"line": "48",
|
||||
"lineId": "5_owl051_48",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 59",
|
||||
"nameS": "59",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 59",
|
||||
"line": "59",
|
||||
"lineId": "5_owl051_59",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 88",
|
||||
"nameS": "88",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 88",
|
||||
"line": "88",
|
||||
"lineId": "5_owl051_88",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus N8",
|
||||
"nameS": "N8",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus N8",
|
||||
"line": "N8",
|
||||
"lineId": "5_owl032_N8",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 196",
|
||||
"nameS": "196",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 196",
|
||||
"line": "196",
|
||||
"lineId": "5_owl032_196",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 350",
|
||||
"nameS": "350",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 350",
|
||||
"line": "350",
|
||||
"lineId": "5_owl021_350",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 351",
|
||||
"nameS": "351",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 351",
|
||||
"line": "351",
|
||||
"lineId": "5_owl021_351",
|
||||
"catOut": "Bus ",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "STB 1",
|
||||
"nameS": "1",
|
||||
"icoX": 7,
|
||||
"cls": 256,
|
||||
"prodCtx": {
|
||||
"name": "STB 1",
|
||||
"line": "1",
|
||||
"lineId": "8_owl031_1",
|
||||
"catOut": "STB ",
|
||||
"catOutS": "stb",
|
||||
"catOutL": "Stadtbahn"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "STB 2",
|
||||
"nameS": "2",
|
||||
"icoX": 7,
|
||||
"cls": 256,
|
||||
"prodCtx": {
|
||||
"name": "STB 2",
|
||||
"line": "2",
|
||||
"lineId": "8_owl031_2",
|
||||
"catOut": "STB ",
|
||||
"catOutS": "stb",
|
||||
"catOutL": "Stadtbahn"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "STB 3",
|
||||
"nameS": "3",
|
||||
"icoX": 7,
|
||||
"cls": 256,
|
||||
"prodCtx": {
|
||||
"name": "STB 3",
|
||||
"line": "3",
|
||||
"lineId": "8_owl031_3",
|
||||
"catOut": "STB ",
|
||||
"catOutS": "stb",
|
||||
"catOutL": "Stadtbahn"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "STB 4",
|
||||
"nameS": "4",
|
||||
"icoX": 7,
|
||||
"cls": 256,
|
||||
"prodCtx": {
|
||||
"name": "STB 4",
|
||||
"line": "4",
|
||||
"lineId": "8_owl031_4",
|
||||
"catOut": "STB ",
|
||||
"catOutS": "stb",
|
||||
"catOutL": "Stadtbahn"
|
||||
}
|
||||
}
|
||||
],
|
||||
"opL": [
|
||||
{
|
||||
"name": "Nahreisezug",
|
||||
"icoX": 1
|
||||
}
|
||||
],
|
||||
"icoL": [
|
||||
{
|
||||
"res": "Bus"
|
||||
},
|
||||
{
|
||||
"res": "DPN",
|
||||
"txt": "Nahreisezug"
|
||||
},
|
||||
{
|
||||
"res": "ICE"
|
||||
},
|
||||
{
|
||||
"res": "EC"
|
||||
},
|
||||
{
|
||||
"res": "IC"
|
||||
},
|
||||
{
|
||||
"res": "DPF"
|
||||
},
|
||||
{
|
||||
"res": "DPN"
|
||||
},
|
||||
{
|
||||
"res": "STB"
|
||||
}
|
||||
],
|
||||
"lDrawStyleL": [
|
||||
{
|
||||
"sIcoX": 0,
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"type": "SOLID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"type": "DEP",
|
||||
"jnyL": [
|
||||
{
|
||||
"jid": "1|1616073|0|80|15102022",
|
||||
"date": "20221015",
|
||||
"prodX": 0,
|
||||
"dirTxt": "Hauptbahnhof Bushst.1-3, Bielefeld",
|
||||
"dirFlg": "2",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"stbStop": {
|
||||
"locX": 0,
|
||||
"idx": 0,
|
||||
"dProdX": 0,
|
||||
"dTimeS": "154600",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"subscr": "F",
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 0,
|
||||
"fLocX": 0,
|
||||
"tLocX": 0,
|
||||
"fIdx": 0,
|
||||
"tIdx": 37
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20221015"
|
||||
}
|
||||
],
|
||||
"fpB": "20211212",
|
||||
"fpE": "20231209",
|
||||
"planrtTS": "1665819982",
|
||||
"sD": "20221015",
|
||||
"sT": "094752",
|
||||
"locRefL": [
|
||||
0
|
||||
]
|
||||
}
|
1164
test/fixtures/db-journey-2.js
vendored
1164
test/fixtures/db-journey-2.js
vendored
File diff suppressed because it is too large
Load diff
7847
test/fixtures/db-journey-2.json
vendored
7847
test/fixtures/db-journey-2.json
vendored
File diff suppressed because it is too large
Load diff
1306
test/fixtures/db-journey-additional-stopover.json
vendored
1306
test/fixtures/db-journey-additional-stopover.json
vendored
File diff suppressed because it is too large
Load diff
640
test/fixtures/db-journey-atzoffset-0.json
vendored
640
test/fixtures/db-journey-atzoffset-0.json
vendored
|
@ -1,640 +0,0 @@
|
|||
{
|
||||
"common": {
|
||||
"locL": [
|
||||
{
|
||||
"lid": "A=1@O=Moser, Achstetten@X=9898310@Y=48258859@U=80@L=800002@",
|
||||
"type": "S",
|
||||
"name": "Moser, Achstetten",
|
||||
"icoX": 0,
|
||||
"extId": "800002",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9898310,
|
||||
"y": 48258859,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 544
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Dellmensingen Schule, Erbach (Donau)@X=9901834@Y=48302844@U=80@L=800258@",
|
||||
"type": "S",
|
||||
"name": "Dellmensingen Schule, Erbach (Donau)",
|
||||
"icoX": 0,
|
||||
"extId": "800258",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9901834,
|
||||
"y": 48302844,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 32
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=ZOB Ost, Ulm@X=9983887@Y=48397644@U=80@L=801345@",
|
||||
"type": "S",
|
||||
"name": "ZOB Ost, Ulm",
|
||||
"icoX": 0,
|
||||
"extId": "801345",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9983887,
|
||||
"y": 48397644,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 40
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Ulm Hbf@X=9982224@Y=48399433@U=80@L=8000170@",
|
||||
"type": "S",
|
||||
"name": "Ulm Hbf",
|
||||
"icoX": 1,
|
||||
"extId": "8000170",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9982422,
|
||||
"y": 48399585,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 299
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Hbf@X=11558339@Y=48140229@U=80@L=8000261@",
|
||||
"type": "S",
|
||||
"name": "München Hbf",
|
||||
"icoX": 5,
|
||||
"extId": "8000261",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11558744,
|
||||
"y": 48140364,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 447
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@",
|
||||
"type": "S",
|
||||
"name": "München Hbf",
|
||||
"icoX": 8,
|
||||
"extId": "618000261",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11559004,
|
||||
"y": 48139429,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 0,
|
||||
"entry": true,
|
||||
"mMastLocX": 4
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@",
|
||||
"type": "S",
|
||||
"name": "Karlsplatz (Stachus), München",
|
||||
"icoX": 0,
|
||||
"extId": "800001",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11565584,
|
||||
"y": 48140148,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 432,
|
||||
"mMastLocX": 7
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Karlsplatz@X=11565620@Y=48139456@U=80@L=8004132@",
|
||||
"type": "S",
|
||||
"name": "München Karlsplatz",
|
||||
"icoX": 9,
|
||||
"extId": "8004132",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11565521,
|
||||
"y": 48139564,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 432
|
||||
}
|
||||
],
|
||||
"prodL": [
|
||||
{
|
||||
"name": "Bus 212",
|
||||
"nameS": "212",
|
||||
"number": "212",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 212",
|
||||
"num": "913",
|
||||
"line": "212",
|
||||
"matchId": "212",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "ald020"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 212",
|
||||
"nameS": "212",
|
||||
"number": "212",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 212",
|
||||
"num": "913",
|
||||
"line": "212",
|
||||
"lineId": "5_ald020_212",
|
||||
"matchId": "212",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "ald020"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 12",
|
||||
"nameS": "12",
|
||||
"number": "12",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 12",
|
||||
"num": "15266",
|
||||
"line": "12",
|
||||
"matchId": "12",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "ald087"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 12",
|
||||
"nameS": "12",
|
||||
"number": "12",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 12",
|
||||
"num": "15266",
|
||||
"line": "12",
|
||||
"lineId": "5_ald087_12",
|
||||
"matchId": "12",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "ald087"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Walk",
|
||||
"icoX": 2,
|
||||
"prodCtx": {
|
||||
"name": "Walk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "RE 57057",
|
||||
"nameS": "RE",
|
||||
"number": "57057",
|
||||
"icoX": 3,
|
||||
"cls": 8,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "RE 57057",
|
||||
"num": "57057",
|
||||
"matchId": "9",
|
||||
"catOut": "RE",
|
||||
"catOutS": "RE",
|
||||
"catOutL": "Regional-Express",
|
||||
"catIn": "RE",
|
||||
"catCode": "3",
|
||||
"admin": "800734",
|
||||
"addName": "RE 9"
|
||||
},
|
||||
"addName": "RE 9"
|
||||
}
|
||||
],
|
||||
"opL": [
|
||||
{
|
||||
"name": "DB Regio AG Bayern",
|
||||
"icoX": 4
|
||||
}
|
||||
],
|
||||
"remL": [
|
||||
{
|
||||
"type": "A",
|
||||
"code": "PF",
|
||||
"prio": 200,
|
||||
"icoX": 6,
|
||||
"txtN": "Please wear an FFP2 mask. You are legally required to do so"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FB",
|
||||
"prio": 260,
|
||||
"icoX": 7,
|
||||
"txtN": "Number of bicycles conveyed limited"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "RC",
|
||||
"prio": 320,
|
||||
"icoX": 6,
|
||||
"txtN": "Reservations at DB ticket machines/travel centres + many DB agencies"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "ER",
|
||||
"prio": 560,
|
||||
"icoX": 6,
|
||||
"txtN": "vehicle-mounted accessaid"
|
||||
}
|
||||
],
|
||||
"icoL": [
|
||||
{
|
||||
"res": "Bus"
|
||||
},
|
||||
{
|
||||
"res": "ICE"
|
||||
},
|
||||
{
|
||||
"res": "prod_walk"
|
||||
},
|
||||
{
|
||||
"res": "RE"
|
||||
},
|
||||
{
|
||||
"res": "RE",
|
||||
"txt": "DB Regio AG Bayern"
|
||||
},
|
||||
{
|
||||
"res": "ECE"
|
||||
},
|
||||
{
|
||||
"res": "attr_info"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike"
|
||||
},
|
||||
{
|
||||
"res": "STA"
|
||||
},
|
||||
{
|
||||
"res": "S"
|
||||
}
|
||||
],
|
||||
"lDrawStyleL": [
|
||||
{
|
||||
"sIcoX": 0,
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"sIcoX": 2,
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"type": "DOT"
|
||||
},
|
||||
{
|
||||
"sIcoX": 3,
|
||||
"type": "SOLID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"outConL": [
|
||||
{
|
||||
"cid": "DirectConReq",
|
||||
"date": "20210817",
|
||||
"dur": "034600",
|
||||
"durS": "033700",
|
||||
"durR": "033700",
|
||||
"chg": 2,
|
||||
"sDays": {
|
||||
"sDaysR": "runs Mo - Fr, not 1. Nov ",
|
||||
"sDaysB": "0000000000000000000000000000000000000000000001F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF8F3E7CF9F3E0"
|
||||
},
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 5,
|
||||
"dProdX": 0,
|
||||
"dTimeS": "154600",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 6,
|
||||
"aTimeS": "193200",
|
||||
"type": "N"
|
||||
},
|
||||
"secL": [
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 5,
|
||||
"dProdX": 0,
|
||||
"dTimeS": "154600",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 1,
|
||||
"idx": 12,
|
||||
"aTimeS": "160000",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|1722205|0|80|17082021",
|
||||
"prodX": 1,
|
||||
"dirTxt": "Rabenstraße, Laupheim",
|
||||
"dirFlg": "2",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=Moser, Achstetten@L=800002@a=128@$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$202108171546$202108171600$Bus 212$$1$$$$",
|
||||
"subscr": "F",
|
||||
"chgDurR": 5,
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 1,
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 5,
|
||||
"tIdx": 12
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20210817",
|
||||
"durS": "001400"
|
||||
},
|
||||
"minChg": "000500",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 1,
|
||||
"idx": 2,
|
||||
"dProdX": 2,
|
||||
"dTimeS": "160500",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 15,
|
||||
"aTimeS": "163000",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|74020|9|80|17082021",
|
||||
"prodX": 3,
|
||||
"dirTxt": "ZOB Ost, Ulm",
|
||||
"dirFlg": "2",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"freq": {
|
||||
"minC": 54,
|
||||
"maxC": 60,
|
||||
"numC": 3
|
||||
},
|
||||
"ctxRecon": "T$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171605$202108171630$Bus 12$$1$$$$",
|
||||
"subscr": "F",
|
||||
"chgDurR": 53,
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 3,
|
||||
"fLocX": 1,
|
||||
"tLocX": 2,
|
||||
"fIdx": 2,
|
||||
"tIdx": 15
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20210817",
|
||||
"durS": "002500"
|
||||
},
|
||||
"minChg": "000600",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "WALK",
|
||||
"dep": {
|
||||
"locX": 2,
|
||||
"dTimeS": "163000",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 3,
|
||||
"aTimeS": "163600",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"gis": {
|
||||
"dist": 234,
|
||||
"durS": "000600",
|
||||
"dirGeo": 10,
|
||||
"ctx": "H|1|W$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171630$202108171636$$$1$$$$",
|
||||
"gisPrvr": "H",
|
||||
"getDescr": true,
|
||||
"getPoly": true,
|
||||
"sumLDrawStyleX": 2,
|
||||
"resLDrawStyleX": 3,
|
||||
"prodX": 4
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 3,
|
||||
"idx": 0,
|
||||
"dProdX": 5,
|
||||
"dPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "25"
|
||||
},
|
||||
"dTimeS": "172300",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 4,
|
||||
"idx": 24,
|
||||
"aPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "17"
|
||||
},
|
||||
"aTimeS": "192100",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|239889|0|80|17082021",
|
||||
"prodX": 5,
|
||||
"dirTxt": "München Hbf",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171723$202108171921$RE 57057$$1$$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 24,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 697303040
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 1,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 24,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 705167360
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 2,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 24,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 713031680
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 3,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 24,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 744488960
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 5,
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 24
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 4,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20210817",
|
||||
"durS": "015800"
|
||||
},
|
||||
"minChg": "000200",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "WALK",
|
||||
"hide": false,
|
||||
"dep": {
|
||||
"locX": 4,
|
||||
"dTimeS": "192100",
|
||||
"dTZOffset": 120
|
||||
},
|
||||
"arr": {
|
||||
"locX": 6,
|
||||
"aTimeS": "193200",
|
||||
"aTZOffset": 0
|
||||
},
|
||||
"gis": {
|
||||
"dist": 701,
|
||||
"durS": "001100",
|
||||
"ctx": "H|1|W$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=München Hbf@L=618000261@a=128@$202108171921$202108171923$$$1$$$$±G|1|G@F|A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@|A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@|17082021|192400|193200|fb|ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§||",
|
||||
"gisPrvr": "M",
|
||||
"sumLDrawStyleX": 2,
|
||||
"resLDrawStyleX": 3,
|
||||
"prodX": 4
|
||||
},
|
||||
"resRecommendation": "U"
|
||||
}
|
||||
],
|
||||
"ctxRecon": "¶HKI¶T$A=1@O=Moser, Achstetten@L=800002@a=128@$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$202108171546$202108171600$Bus 212$$1$$$$§T$A=1@O=Dellmensingen Schule, Erbach (Donau)@L=800258@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171605$202108171630$Bus 12$$1$$$$§W$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171630$202108171636$$$1$$$$§T$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171723$202108171921$RE 57057$$1$$$$§W$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=München Hbf@L=618000261@a=128@$202108171921$202108171923$$$1$$$$§G@F$A=1@O=München Hbf@L=618000261@a=128@$A=1@O=Karlsplatz (Stachus), München@L=800001@a=128@$202108171924$202108171932$$$1$$$$¶GP¶ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§",
|
||||
"freq": {
|
||||
"minC": 54
|
||||
},
|
||||
"conSubscr": "F",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N",
|
||||
"recState": "C",
|
||||
"sotRating": 0,
|
||||
"isSotCon": false,
|
||||
"showARSLink": false,
|
||||
"sotCtxt": {
|
||||
"cnLocX": 0,
|
||||
"calcDate": "20210817",
|
||||
"jid": "1|1722205|0|80|-1",
|
||||
"locMode": "FROM_START",
|
||||
"pLocX": 0,
|
||||
"reqMode": "UNKNOWN",
|
||||
"sectX": 0,
|
||||
"calcTime": "153402"
|
||||
},
|
||||
"cksum": "e68a17a7_3",
|
||||
"cksumDti": "24d55b5a_3",
|
||||
"intvlSubscr": "P",
|
||||
"originType": "INITIAL"
|
||||
}
|
||||
],
|
||||
"fpB": "20201213",
|
||||
"fpE": "20211211",
|
||||
"bfATS": -1,
|
||||
"bfIOSTS": -1,
|
||||
"planrtTS": "1629207135"
|
||||
}
|
758
test/fixtures/db-journey-dtzoffset-0.json
vendored
758
test/fixtures/db-journey-dtzoffset-0.json
vendored
|
@ -1,758 +0,0 @@
|
|||
{
|
||||
"common": {
|
||||
"locL": [
|
||||
{
|
||||
"lid": "A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@",
|
||||
"type": "S",
|
||||
"name": "Karlsplatz (Stachus), München",
|
||||
"icoX": 0,
|
||||
"extId": "800001",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11565584,
|
||||
"y": 48140148,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 432,
|
||||
"mMastLocX": 1
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Karlsplatz@X=11565620@Y=48139456@U=80@L=8004132@",
|
||||
"type": "S",
|
||||
"name": "München Karlsplatz",
|
||||
"icoX": 1,
|
||||
"extId": "8004132",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11565521,
|
||||
"y": 48139564,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 432
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@",
|
||||
"type": "S",
|
||||
"name": "München Hbf",
|
||||
"icoX": 2,
|
||||
"extId": "618000261",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11559004,
|
||||
"y": 48139429,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 0,
|
||||
"entry": true,
|
||||
"mMastLocX": 3
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Hbf@X=11558339@Y=48140229@U=80@L=8000261@",
|
||||
"type": "S",
|
||||
"name": "München Hbf",
|
||||
"icoX": 3,
|
||||
"extId": "8000261",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11558744,
|
||||
"y": 48140364,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 447
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Ulm Hbf@X=9982224@Y=48399433@U=80@L=8000170@",
|
||||
"type": "S",
|
||||
"name": "Ulm Hbf",
|
||||
"icoX": 7,
|
||||
"extId": "8000170",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9982422,
|
||||
"y": 48399585,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 299
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=ZOB Ost, Ulm@X=9983887@Y=48397644@U=80@L=801345@",
|
||||
"type": "S",
|
||||
"name": "ZOB Ost, Ulm",
|
||||
"icoX": 0,
|
||||
"extId": "801345",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9983887,
|
||||
"y": 48397644,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 40
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Oberholzheim Hauptstraße, Achstetten@X=9923848@Y=48260792@U=80@L=801494@",
|
||||
"type": "S",
|
||||
"name": "Oberholzheim Hauptstraße, Achstetten",
|
||||
"icoX": 0,
|
||||
"extId": "801494",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9923848,
|
||||
"y": 48260792,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 32
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Rathaus, Achstetten@X=9897941@Y=48258563@U=80@L=800132@",
|
||||
"type": "S",
|
||||
"name": "Rathaus, Achstetten",
|
||||
"icoX": 0,
|
||||
"extId": "800132",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9897941,
|
||||
"y": 48258563,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 32
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Moser, Achstetten@X=9898310@Y=48258859@U=80@L=800002@",
|
||||
"type": "S",
|
||||
"name": "Moser, Achstetten",
|
||||
"icoX": 0,
|
||||
"extId": "800002",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 9898310,
|
||||
"y": 48258859,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 544
|
||||
}
|
||||
],
|
||||
"prodL": [
|
||||
{
|
||||
"name": "Walk",
|
||||
"icoX": 4,
|
||||
"prodCtx": {
|
||||
"name": "Walk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "IC 2094",
|
||||
"number": "2094",
|
||||
"icoX": 5,
|
||||
"cls": 2,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "IC 2094",
|
||||
"num": "2094",
|
||||
"matchId": "60",
|
||||
"catOut": "IC",
|
||||
"catOutS": "IC",
|
||||
"catOutL": "Intercity",
|
||||
"catIn": "IC",
|
||||
"catCode": "1",
|
||||
"admin": "80____"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 24",
|
||||
"nameS": "24",
|
||||
"number": "24",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 24",
|
||||
"num": "45",
|
||||
"line": "24",
|
||||
"matchId": "24",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "ald020"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 24",
|
||||
"nameS": "24",
|
||||
"number": "24",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"prodCtx": {
|
||||
"name": "Bus 24",
|
||||
"num": "45",
|
||||
"line": "24",
|
||||
"lineId": "5_ald020_24",
|
||||
"matchId": "24",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "ald020"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 227",
|
||||
"nameS": "227",
|
||||
"number": "227",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"oprX": 1,
|
||||
"prodCtx": {
|
||||
"name": "Bus 227",
|
||||
"num": "3381",
|
||||
"line": "227",
|
||||
"matchId": "227",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "rabRAB"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Bus 227",
|
||||
"nameS": "227",
|
||||
"number": "227",
|
||||
"icoX": 0,
|
||||
"cls": 32,
|
||||
"oprX": 1,
|
||||
"prodCtx": {
|
||||
"name": "Bus 227",
|
||||
"num": "3381",
|
||||
"line": "227",
|
||||
"lineId": "5_rabRAB_227",
|
||||
"matchId": "227",
|
||||
"catOut": "Bus",
|
||||
"catOutS": "Bus",
|
||||
"catOutL": "Bus",
|
||||
"catIn": "Bus",
|
||||
"catCode": "5",
|
||||
"admin": "rabRAB"
|
||||
}
|
||||
}
|
||||
],
|
||||
"opL": [
|
||||
{
|
||||
"name": "DB Fernverkehr AG",
|
||||
"icoX": 6
|
||||
},
|
||||
{
|
||||
"name": "DB ZugBus Regionalverkehr Alb-Bodensee",
|
||||
"icoX": 11
|
||||
}
|
||||
],
|
||||
"remL": [
|
||||
{
|
||||
"type": "A",
|
||||
"code": "CK",
|
||||
"prio": 200,
|
||||
"icoX": 8,
|
||||
"txtN": "Komfort Check-in possible (visit bahn.de/kci for more information)"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "PF",
|
||||
"prio": 200,
|
||||
"icoX": 8,
|
||||
"txtN": "Please wear an FFP2 mask. You are legally required to do so"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FR",
|
||||
"prio": 260,
|
||||
"icoX": 9,
|
||||
"txtN": "Bicycles conveyed - subject to reservation"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FB",
|
||||
"prio": 260,
|
||||
"icoX": 10,
|
||||
"txtN": "Number of bicycles conveyed limited"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "KG",
|
||||
"prio": 640,
|
||||
"icoX": 8,
|
||||
"txtN": "No food or beverages"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "bg",
|
||||
"prio": 560,
|
||||
"icoX": 8,
|
||||
"txtN": "Behindertengerechtes Fahrzeug"
|
||||
}
|
||||
],
|
||||
"icoL": [
|
||||
{
|
||||
"res": "Bus"
|
||||
},
|
||||
{
|
||||
"res": "S"
|
||||
},
|
||||
{
|
||||
"res": "STA"
|
||||
},
|
||||
{
|
||||
"res": "ECE"
|
||||
},
|
||||
{
|
||||
"res": "prod_walk"
|
||||
},
|
||||
{
|
||||
"res": "IC"
|
||||
},
|
||||
{
|
||||
"res": "D",
|
||||
"txt": "DB Fernverkehr AG"
|
||||
},
|
||||
{
|
||||
"res": "ICE"
|
||||
},
|
||||
{
|
||||
"res": "attr_info"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike_r"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike"
|
||||
},
|
||||
{
|
||||
"res": "N",
|
||||
"txt": "DB ZugBus Regionalverkehr Alb-Bodensee"
|
||||
},
|
||||
{
|
||||
"res": "navi_enter"
|
||||
}
|
||||
],
|
||||
"tcocL": [
|
||||
{
|
||||
"c": "FIRST",
|
||||
"r": 1
|
||||
},
|
||||
{
|
||||
"c": "SECOND",
|
||||
"r": 1
|
||||
}
|
||||
],
|
||||
"lDrawStyleL": [
|
||||
{
|
||||
"sIcoX": 4,
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"type": "DOT"
|
||||
},
|
||||
{
|
||||
"sIcoX": 5,
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"sIcoX": 0,
|
||||
"type": "SOLID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"outConL": [
|
||||
{
|
||||
"cid": "DirectConReq",
|
||||
"date": "20210817",
|
||||
"dur": "032200",
|
||||
"durS": "031300",
|
||||
"durR": "031300",
|
||||
"chg": 2,
|
||||
"sDays": {
|
||||
"sDaysR": "runs Mo - Th, not 1. Nov ",
|
||||
"sDaysB": "00000000000000000000000000000000000000000000000000000000000063C78F1E3C78F1E3C78F0E3C78F1E3C0"
|
||||
},
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"dTimeS": "170800",
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 8,
|
||||
"aTimeS": "203100",
|
||||
"type": "N"
|
||||
},
|
||||
"secL": [
|
||||
{
|
||||
"type": "WALK",
|
||||
"hide": false,
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"dTimeS": "170800",
|
||||
"dTZOffset": 0
|
||||
},
|
||||
"arr": {
|
||||
"locX": 3,
|
||||
"aTimeS": "171800",
|
||||
"aTZOffset": 120
|
||||
},
|
||||
"gis": {
|
||||
"dist": 701,
|
||||
"durS": "001000",
|
||||
"ctx": "G|1|G@F|A=1@O=Karlsplatz (Stachus), München@X=11565584@Y=48140148@U=80@L=800001@|A=1@O=München Hbf@X=11559004@Y=48139429@U=199@L=618000261@|17082021|170800|171600|bf|ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§||±H|1|W$A=1@O=München Hbf@L=618000261@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171716$202108171718$$$1$$$$",
|
||||
"gisPrvr": "M",
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"prodX": 0
|
||||
},
|
||||
"resRecommendation": "U"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 3,
|
||||
"idx": 0,
|
||||
"dProdX": 1,
|
||||
"dPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "17"
|
||||
},
|
||||
"dTimeS": "171900",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tcM": 1
|
||||
},
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 4,
|
||||
"idx": 4,
|
||||
"aPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "25"
|
||||
},
|
||||
"aTimeS": "183600",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTrnCmpSX": {
|
||||
"tcM": 1
|
||||
},
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|187459|0|80|17082021",
|
||||
"prodX": 1,
|
||||
"dirTxt": "Ulm Hbf",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171719$202108171836$IC 2094$$1$$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 4,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 697303040
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 1,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 4,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 697303040
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 2,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 4,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 705167360
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 3,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 4,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 705167360
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 4,
|
||||
"sty": "I",
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 4,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 754974720
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"chgDurR": 36,
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 1,
|
||||
"fLocX": 3,
|
||||
"tLocX": 4,
|
||||
"fIdx": 0,
|
||||
"tIdx": 4
|
||||
}
|
||||
],
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"sumLDrawStyleX": 2,
|
||||
"resLDrawStyleX": 3,
|
||||
"trainStartDate": "20210817",
|
||||
"durS": "011700",
|
||||
"tcocXL": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"minChg": "000600",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "WALK",
|
||||
"dep": {
|
||||
"locX": 4,
|
||||
"dTimeS": "183600",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 5,
|
||||
"aTimeS": "184200",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"gis": {
|
||||
"dist": 234,
|
||||
"durS": "000600",
|
||||
"dirGeo": 26,
|
||||
"ctx": "H|1|W$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171836$202108171842$$$1$$$$",
|
||||
"gisPrvr": "H",
|
||||
"getDescr": true,
|
||||
"getPoly": true,
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"prodX": 0
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 5,
|
||||
"idx": 0,
|
||||
"dProdX": 2,
|
||||
"dTimeS": "191200",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 6,
|
||||
"idx": 15,
|
||||
"aTimeS": "194800",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|75903|0|80|17082021",
|
||||
"prodX": 3,
|
||||
"dirTxt": "Rabenstraße, Laupheim",
|
||||
"dirFlg": "1",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$202108171912$202108171948$Bus 24$$1$$$$",
|
||||
"subscr": "F",
|
||||
"chgDurR": 31,
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 3,
|
||||
"fLocX": 5,
|
||||
"tLocX": 6,
|
||||
"fIdx": 0,
|
||||
"tIdx": 15
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 4,
|
||||
"resLDrawStyleX": 3,
|
||||
"trainStartDate": "20210817",
|
||||
"durS": "003600"
|
||||
},
|
||||
"minChg": "000300",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 6,
|
||||
"idx": 17,
|
||||
"dProdX": 4,
|
||||
"dTimeS": "201900",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 7,
|
||||
"idx": 21,
|
||||
"aTimeS": "202900",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|587878|0|80|17082021",
|
||||
"prodX": 5,
|
||||
"dirTxt": "Rabenstraße, Laupheim",
|
||||
"dirFlg": "1",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$A=1@O=Rathaus, Achstetten@L=800132@a=128@$202108172019$202108172029$Bus 227$$1$$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 5,
|
||||
"sty": "I",
|
||||
"fLocX": 6,
|
||||
"tLocX": 7,
|
||||
"fIdx": 17,
|
||||
"tIdx": 21,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 744488960
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 5,
|
||||
"fLocX": 6,
|
||||
"tLocX": 7,
|
||||
"fIdx": 17,
|
||||
"tIdx": 21
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 4,
|
||||
"resLDrawStyleX": 3,
|
||||
"trainStartDate": "20210817",
|
||||
"durS": "001000"
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "WALK",
|
||||
"dep": {
|
||||
"locX": 7,
|
||||
"dTimeS": "202900",
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 8,
|
||||
"aTimeS": "203100",
|
||||
"type": "N"
|
||||
},
|
||||
"gis": {
|
||||
"dist": 53,
|
||||
"durS": "000200",
|
||||
"ctx": "G|1|G@F|A=1@O=Rathaus, Achstetten@X=9897941@Y=48258563@U=80@L=800132@|A=1@O=Moser, Achstetten@X=9898310@Y=48258859@U=80@L=800002@|17082021|202900|203100|fb|ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§||",
|
||||
"gisPrvr": "E",
|
||||
"getDescr": true,
|
||||
"getPoly": true,
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"prodX": 0
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
}
|
||||
],
|
||||
"ctxRecon": "¶HKI¶G@F$A=1@O=Karlsplatz (Stachus), München@L=800001@a=128@$A=1@O=München Hbf@L=618000261@a=128@$202108171708$202108171716$$$1$$$$§W$A=1@O=München Hbf@L=618000261@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202108171716$202108171718$$$1$$$$§T$A=1@O=München Hbf@L=8000261@a=128@$A=1@O=Ulm Hbf@L=8000170@a=128@$202108171719$202108171836$IC 2094$$1$$$$§W$A=1@O=Ulm Hbf@L=8000170@a=128@$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$202108171836$202108171842$$$1$$$$§T$A=1@O=ZOB Ost, Ulm@L=801345@a=128@$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$202108171912$202108171948$Bus 24$$1$$$$§T$A=1@O=Oberholzheim Hauptstraße, Achstetten@L=801494@a=128@$A=1@O=Rathaus, Achstetten@L=800132@a=128@$202108172019$202108172029$Bus 227$$1$$$$§G@F$A=1@O=Rathaus, Achstetten@L=800132@a=128@$A=1@O=Moser, Achstetten@L=800002@a=128@$202108172029$202108172031$$$1$$$$¶GP¶ft@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@0@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tf@$f@$f@$f@$f@$f@$§",
|
||||
"conSubscr": "F",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N",
|
||||
"recState": "C",
|
||||
"sotRating": 0,
|
||||
"isSotCon": false,
|
||||
"showARSLink": false,
|
||||
"sotCtxt": {
|
||||
"calcDate": "20210817",
|
||||
"locMode": "FROM_START",
|
||||
"reqMode": "UNKNOWN",
|
||||
"calcTime": "153352"
|
||||
},
|
||||
"cksum": "4e99db20_3",
|
||||
"cksumDti": "c10fe4ec_3",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"intvlSubscr": "P",
|
||||
"tcocXL": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"originType": "INITIAL"
|
||||
}
|
||||
],
|
||||
"fpB": "20201213",
|
||||
"fpE": "20211211",
|
||||
"bfATS": -1,
|
||||
"bfIOSTS": -1,
|
||||
"planrtTS": "1629207135"
|
||||
}
|
1977
test/fixtures/db-journey-fpB-fpE-2-years.json
vendored
1977
test/fixtures/db-journey-fpB-fpE-2-years.json
vendored
File diff suppressed because it is too large
Load diff
204
test/fixtures/db-journey-overnight-0.expected.json
vendored
204
test/fixtures/db-journey-overnight-0.expected.json
vendored
|
@ -1,204 +0,0 @@
|
|||
{
|
||||
"type": "journey",
|
||||
"legs": [
|
||||
{
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "8000193",
|
||||
"name": "Kassel Hbf",
|
||||
"location": {
|
||||
"type": "location",
|
||||
"id": "8000193",
|
||||
"latitude": 51.31832,
|
||||
"longitude": 9.489903
|
||||
},
|
||||
"products": {
|
||||
"nationalExpress": false,
|
||||
"national": false,
|
||||
"regionalExpress": false,
|
||||
"regional": true,
|
||||
"suburban": true,
|
||||
"bus": true,
|
||||
"ferry": false,
|
||||
"subway": false,
|
||||
"tram": true,
|
||||
"taxi": false
|
||||
}
|
||||
},
|
||||
"destination": {
|
||||
"type": "stop",
|
||||
"id": "8003200",
|
||||
"name": "Kassel-Wilhelmshöhe",
|
||||
"location": {
|
||||
"type": "location",
|
||||
"id": "8003200",
|
||||
"latitude": 51.312998,
|
||||
"longitude": 9.446845
|
||||
},
|
||||
"products": {
|
||||
"nationalExpress": true,
|
||||
"national": true,
|
||||
"regionalExpress": true,
|
||||
"regional": true,
|
||||
"suburban": true,
|
||||
"bus": true,
|
||||
"ferry": false,
|
||||
"subway": false,
|
||||
"tram": true,
|
||||
"taxi": false
|
||||
}
|
||||
},
|
||||
"departure": "2023-11-13T22:14:00+01:00",
|
||||
"plannedDeparture": "2023-11-13T22:14:00+01:00",
|
||||
"departureDelay": null,
|
||||
"arrival": "2023-11-13T22:21:00+01:00",
|
||||
"plannedArrival": "2023-11-13T22:21:00+01:00",
|
||||
"arrivalDelay": null,
|
||||
"public": true,
|
||||
"walking": true,
|
||||
"distance": null,
|
||||
"transfer": true
|
||||
},
|
||||
{
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "8003200",
|
||||
"name": "Kassel-Wilhelmshöhe",
|
||||
"location": {
|
||||
"type": "location",
|
||||
"id": "8003200",
|
||||
"latitude": 51.312998,
|
||||
"longitude": 9.446845
|
||||
},
|
||||
"products": {
|
||||
"nationalExpress": true,
|
||||
"national": true,
|
||||
"regionalExpress": true,
|
||||
"regional": true,
|
||||
"suburban": true,
|
||||
"bus": true,
|
||||
"ferry": false,
|
||||
"subway": false,
|
||||
"tram": true,
|
||||
"taxi": false
|
||||
}
|
||||
},
|
||||
"destination": {
|
||||
"type": "stop",
|
||||
"id": "8000147",
|
||||
"name": "Hamburg-Harburg",
|
||||
"location": {
|
||||
"type": "location",
|
||||
"id": "8000147",
|
||||
"latitude": 0,
|
||||
"longitude": 0
|
||||
},
|
||||
"products": {
|
||||
"nationalExpress": true,
|
||||
"national": true,
|
||||
"regionalExpress": true,
|
||||
"regional": true,
|
||||
"suburban": true,
|
||||
"bus": true,
|
||||
"ferry": false,
|
||||
"subway": false,
|
||||
"tram": false,
|
||||
"taxi": false
|
||||
}
|
||||
},
|
||||
"departure": "2023-11-13T22:21:00+01:00",
|
||||
"plannedDeparture": "2023-11-13T22:21:00+01:00",
|
||||
"departureDelay": null,
|
||||
"arrival": "2023-11-14T01:22:00+01:00",
|
||||
"plannedArrival": "2023-11-14T01:22:00+01:00",
|
||||
"arrivalDelay": null,
|
||||
"reachable": true,
|
||||
"tripId": "1|202739|0|80|-1",
|
||||
"line": {
|
||||
"type": "line",
|
||||
"id": "ice-592",
|
||||
"fahrtNr": null,
|
||||
"name": "ICE 592",
|
||||
"public": true,
|
||||
"productName": "ICE"
|
||||
},
|
||||
"direction": null,
|
||||
"arrivalPlatform": null,
|
||||
"plannedArrivalPlatform": null,
|
||||
"arrivalPrognosisType": null,
|
||||
"departurePlatform": "1",
|
||||
"plannedDeparturePlatform": "1",
|
||||
"departurePrognosisType": null
|
||||
},
|
||||
{
|
||||
"origin": {
|
||||
"type": "stop",
|
||||
"id": "8000147",
|
||||
"name": "Hamburg-Harburg",
|
||||
"location": {
|
||||
"type": "location",
|
||||
"id": "8000147",
|
||||
"latitude": 0,
|
||||
"longitude": 0
|
||||
},
|
||||
"products": {
|
||||
"nationalExpress": true,
|
||||
"national": true,
|
||||
"regionalExpress": true,
|
||||
"regional": true,
|
||||
"suburban": true,
|
||||
"bus": true,
|
||||
"ferry": false,
|
||||
"subway": false,
|
||||
"tram": false,
|
||||
"taxi": false
|
||||
}
|
||||
},
|
||||
"destination": {
|
||||
"type": "stop",
|
||||
"id": "8002549",
|
||||
"name": "Hamburg Hbf",
|
||||
"location": {
|
||||
"type": "location",
|
||||
"id": "8002549",
|
||||
"latitude": 0,
|
||||
"longitude": 0
|
||||
},
|
||||
"products": {
|
||||
"nationalExpress": true,
|
||||
"national": true,
|
||||
"regionalExpress": true,
|
||||
"regional": true,
|
||||
"suburban": true,
|
||||
"bus": true,
|
||||
"ferry": false,
|
||||
"subway": true,
|
||||
"tram": false,
|
||||
"taxi": false
|
||||
}
|
||||
},
|
||||
"departure": "2023-11-14T01:22:00+01:00",
|
||||
"plannedDeparture": "2023-11-14T01:22:00+01:00",
|
||||
"departureDelay": null,
|
||||
"arrival": "2023-11-14T01:42:00+01:00",
|
||||
"plannedArrival": "2023-11-14T01:42:00+01:00",
|
||||
"arrivalDelay": null,
|
||||
"public": true,
|
||||
"walking": true,
|
||||
"distance": null,
|
||||
"transfer": true
|
||||
}
|
||||
],
|
||||
"refreshToken": "D$A=1@O=Kassel Hbf@L=8000193@a=0@$A=1@O=Kassel-Wilhelmshöhe@L=8003200@a=0@$202311132214$202311132221$$$1$$$$$$§T$A=1@O=Kassel-Wilhelmshöhe@L=8003200@a=0@$A=1@O=Hamburg-Harburg@L=8000147@a=0@$202311132221$202311140122$ICE 592$$1$$$$$$§D$A=1@O=Hamburg-Harburg@L=8000147@a=0@$A=1@O=Hamburg Hbf@L=8002549@a=0@$202311140122$202311140142$$$1$$$$$$",
|
||||
"price": {
|
||||
"amount": 55.9,
|
||||
"currency": "EUR",
|
||||
"hint": null
|
||||
},
|
||||
"tickets": [
|
||||
{
|
||||
"name": "To offer selection",
|
||||
"priceObj": {"amount": 5590}
|
||||
}
|
||||
]
|
||||
}
|
5115
test/fixtures/db-journey-overnight-0.json
vendored
5115
test/fixtures/db-journey-overnight-0.json
vendored
File diff suppressed because it is too large
Load diff
317
test/fixtures/db-journey-overnight-1.expected.js
vendored
317
test/fixtures/db-journey-overnight-1.expected.js
vendored
|
@ -1,317 +0,0 @@
|
|||
const büchen = {
|
||||
type: 'stop',
|
||||
id: '8000058',
|
||||
name: 'Büchen',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8000058',
|
||||
latitude: 53.475291,
|
||||
longitude: 10.622939,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: true,
|
||||
national: true,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: false,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: false,
|
||||
tram: false,
|
||||
taxi: true,
|
||||
},
|
||||
};
|
||||
|
||||
const berlinHbfTief = {
|
||||
type: 'stop',
|
||||
id: '8098160',
|
||||
name: 'Berlin Hbf (tief)',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8098160',
|
||||
latitude: 52.52585,
|
||||
longitude: 13.368892,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: true,
|
||||
national: true,
|
||||
regionalExpress: true,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station: {
|
||||
type: 'station',
|
||||
id: '8011160',
|
||||
name: 'Berlin Hbf',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8011160',
|
||||
latitude: 52.524924,
|
||||
longitude: 13.369629,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: true,
|
||||
national: true,
|
||||
regionalExpress: true,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const overnightJourney = {
|
||||
type: 'journey',
|
||||
refreshToken: 'T$A=1@O=Lübeck Hbf@L=8000237@a=128@$A=1@O=Büchen@L=8000058@a=128@$202311242210$202311242249$erx21137$$1$$$$$$§T$A=1@O=Büchen@L=8000058@a=128@$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$202311242315$202311250054$ICE 907$$1$$$$$$§T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202311250430$202311250917$ICE 501$$1$$$$$$',
|
||||
|
||||
legs: [
|
||||
{
|
||||
origin: {
|
||||
type: 'stop',
|
||||
id: '8000237',
|
||||
name: 'Lübeck Hbf',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8000237',
|
||||
latitude: 53.86767,
|
||||
longitude: 10.669737,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: true,
|
||||
national: true,
|
||||
regionalExpress: true,
|
||||
regional: true,
|
||||
suburban: false,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: false,
|
||||
tram: false,
|
||||
taxi: true,
|
||||
},
|
||||
},
|
||||
destination: büchen,
|
||||
departure: '2023-11-24T22:10:00+01:00',
|
||||
plannedDeparture: '2023-11-24T22:10:00+01:00',
|
||||
departureDelay: null,
|
||||
arrival: '2023-11-24T22:49:00+01:00',
|
||||
plannedArrival: '2023-11-24T22:49:00+01:00',
|
||||
arrivalDelay: null,
|
||||
reachable: true,
|
||||
tripId: '1|466091|0|80|24112023',
|
||||
line: {
|
||||
type: 'line',
|
||||
id: 'erx-re83',
|
||||
fahrtNr: '21137',
|
||||
name: 'erx RE83',
|
||||
public: true,
|
||||
adminCode: 'X1____',
|
||||
productName: 'erx',
|
||||
mode: 'train',
|
||||
product: 'regional',
|
||||
operator: {
|
||||
type: 'operator',
|
||||
id: 'erixx',
|
||||
name: 'erixx',
|
||||
},
|
||||
additionalName: 'erx RE83',
|
||||
},
|
||||
direction: 'Lüneburg',
|
||||
arrivalPlatform: '140',
|
||||
plannedArrivalPlatform: '140',
|
||||
arrivalPrognosisType: null,
|
||||
departurePlatform: '6',
|
||||
plannedDeparturePlatform: '6',
|
||||
departurePrognosisType: 'prognosed',
|
||||
remarks: [
|
||||
{
|
||||
text: 'Number of bicycles conveyed limited',
|
||||
type: 'hint',
|
||||
code: 'bicycle-conveyance',
|
||||
summary: 'bicycles conveyed',
|
||||
},
|
||||
{
|
||||
text: 'space for wheelchairs',
|
||||
type: 'hint',
|
||||
code: 'wheelchairs-space',
|
||||
summary: 'space for wheelchairs',
|
||||
},
|
||||
{
|
||||
text: 'vehicle-mounted access aid',
|
||||
type: 'hint',
|
||||
code: 'boarding-ramp',
|
||||
summary: 'vehicle-mounted boarding ramp available',
|
||||
},
|
||||
{
|
||||
type: 'hint',
|
||||
code: 'SI',
|
||||
text: 'Barrierefreier Zustieg an geeigneten Stationen möglich',
|
||||
},
|
||||
{
|
||||
type: 'hint',
|
||||
code: 'SM',
|
||||
text: 'Info www.bahn.de/sh-barrierefrei',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
origin: büchen,
|
||||
destination: berlinHbfTief,
|
||||
departure: '2023-11-24T23:15:00+01:00',
|
||||
plannedDeparture: '2023-11-24T23:15:00+01:00',
|
||||
departureDelay: null,
|
||||
arrival: '2023-11-25T00:54:00+01:00',
|
||||
plannedArrival: '2023-11-25T00:54:00+01:00',
|
||||
arrivalDelay: null,
|
||||
reachable: true,
|
||||
tripId: '1|206310|0|80|24112023',
|
||||
line: {
|
||||
type: 'line',
|
||||
id: 'ice-907',
|
||||
fahrtNr: '907',
|
||||
name: 'ICE 907',
|
||||
public: true,
|
||||
adminCode: '80____',
|
||||
productName: 'ICE',
|
||||
mode: 'train',
|
||||
product: 'nationalExpress',
|
||||
operator: {
|
||||
type: 'operator',
|
||||
id: 'db-fernverkehr-ag',
|
||||
name: 'DB Fernverkehr AG',
|
||||
},
|
||||
},
|
||||
direction: 'Berlin Südkreuz',
|
||||
arrivalPlatform: '1',
|
||||
plannedArrivalPlatform: '1',
|
||||
arrivalPrognosisType: null,
|
||||
departurePlatform: '1',
|
||||
plannedDeparturePlatform: '1',
|
||||
departurePrognosisType: null,
|
||||
remarks: [
|
||||
{
|
||||
text: 'Komfort Check-in possible (visit bahn.de/kci for more information)',
|
||||
type: 'hint',
|
||||
code: 'komfort-checkin',
|
||||
summary: 'Komfort-Checkin available',
|
||||
},
|
||||
{
|
||||
text: 'Bordrestaurant',
|
||||
type: 'hint',
|
||||
code: 'on-board-restaurant',
|
||||
summary: 'Bordrestaurant available',
|
||||
},
|
||||
],
|
||||
loadFactor: 'low-to-medium',
|
||||
},
|
||||
{
|
||||
origin: berlinHbfTief,
|
||||
destination: {
|
||||
type: 'stop',
|
||||
id: '8000261',
|
||||
name: 'München Hbf',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8000261',
|
||||
latitude: 48.140364,
|
||||
longitude: 11.558744,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: true,
|
||||
national: true,
|
||||
regionalExpress: true,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
},
|
||||
departure: '2023-11-25T04:30:00+01:00',
|
||||
plannedDeparture: '2023-11-25T04:30:00+01:00',
|
||||
departureDelay: null,
|
||||
arrival: '2023-11-25T09:17:00+01:00',
|
||||
plannedArrival: '2023-11-25T09:17:00+01:00',
|
||||
arrivalDelay: null,
|
||||
reachable: true,
|
||||
tripId: '1|198958|0|80|25112023',
|
||||
line: {
|
||||
type: 'line',
|
||||
id: 'ice-501',
|
||||
fahrtNr: '501',
|
||||
name: 'ICE 501',
|
||||
public: true,
|
||||
adminCode: '80____',
|
||||
productName: 'ICE',
|
||||
mode: 'train',
|
||||
product: 'nationalExpress',
|
||||
operator: {
|
||||
type: 'operator',
|
||||
id: 'db-fernverkehr-ag',
|
||||
name: 'DB Fernverkehr AG',
|
||||
},
|
||||
},
|
||||
direction: 'München Hbf',
|
||||
arrivalPlatform: '19',
|
||||
plannedArrivalPlatform: '19',
|
||||
arrivalPrognosisType: 'prognosed',
|
||||
departurePlatform: '1',
|
||||
plannedDeparturePlatform: '1',
|
||||
departurePrognosisType: null,
|
||||
remarks: [
|
||||
{
|
||||
text: 'Komfort Check-in possible (visit bahn.de/kci for more information)',
|
||||
type: 'hint',
|
||||
code: 'komfort-checkin',
|
||||
summary: 'Komfort-Checkin available',
|
||||
},
|
||||
{
|
||||
text: 'Bicycles conveyed - subject to reservation',
|
||||
type: 'hint',
|
||||
code: 'bicycle-conveyance-reservation',
|
||||
summary: 'bicycles conveyed, subject to reservation',
|
||||
},
|
||||
{
|
||||
text: 'Number of bicycles conveyed limited',
|
||||
type: 'hint',
|
||||
code: 'bicycle-conveyance',
|
||||
summary: 'bicycles conveyed',
|
||||
},
|
||||
{
|
||||
text: 'Bordrestaurant',
|
||||
type: 'hint',
|
||||
code: 'on-board-restaurant',
|
||||
summary: 'Bordrestaurant available',
|
||||
},
|
||||
{
|
||||
text: 'vehicle-mounted access aid',
|
||||
type: 'hint',
|
||||
code: 'boarding-ramp',
|
||||
summary: 'vehicle-mounted boarding ramp available',
|
||||
},
|
||||
],
|
||||
loadFactor: 'low-to-medium',
|
||||
},
|
||||
],
|
||||
|
||||
remarks: [],
|
||||
price: {amount: 108.9, currency: 'EUR', hint: null},
|
||||
tickets: [{
|
||||
name: 'To offer selection',
|
||||
priceObj: {amount: 10890},
|
||||
}],
|
||||
};
|
||||
|
||||
export {
|
||||
overnightJourney,
|
||||
};
|
865
test/fixtures/db-journey-overnight-1.json
vendored
865
test/fixtures/db-journey-overnight-1.json
vendored
|
@ -1,865 +0,0 @@
|
|||
{
|
||||
"common": {
|
||||
"locL": [
|
||||
{
|
||||
"lid": "A=1@O=Lübeck Hbf@X=10669818@Y=53867544@U=80@L=8000237@",
|
||||
"type": "S",
|
||||
"name": "Lübeck Hbf",
|
||||
"icoX": 0,
|
||||
"extId": "8000237",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 10669737,
|
||||
"y": 53867670,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 559
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Büchen@X=10623299@Y=53474976@U=80@L=8000058@",
|
||||
"type": "S",
|
||||
"name": "Büchen",
|
||||
"icoX": 0,
|
||||
"extId": "8000058",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 10622939,
|
||||
"y": 53475291,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 555
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Berlin Hbf (tief)@X=13369549@Y=52525589@U=80@L=8098160@",
|
||||
"type": "S",
|
||||
"name": "Berlin Hbf (tief)",
|
||||
"icoX": 0,
|
||||
"extId": "8098160",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 13368892,
|
||||
"y": 52525850,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 447,
|
||||
"entry": true,
|
||||
"mMastLocX": 3
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=80@L=8011160@",
|
||||
"type": "S",
|
||||
"name": "Berlin Hbf",
|
||||
"icoX": 0,
|
||||
"extId": "8011160",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 13369629,
|
||||
"y": 52524924,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 447
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=München Hbf@X=11558339@Y=48140229@U=80@L=8000261@",
|
||||
"type": "S",
|
||||
"name": "München Hbf",
|
||||
"icoX": 9,
|
||||
"extId": "8000261",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 11558744,
|
||||
"y": 48140364,
|
||||
"z": 0,
|
||||
"floor": 0
|
||||
},
|
||||
"pCls": 447
|
||||
}
|
||||
],
|
||||
"prodL": [
|
||||
{
|
||||
"name": "erx21137",
|
||||
"nameS": "DPN",
|
||||
"number": "21137",
|
||||
"icoX": 1,
|
||||
"cls": 8,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "erx21137",
|
||||
"num": "21137",
|
||||
"matchId": "RE83",
|
||||
"catOut": "erx",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "erixx",
|
||||
"catIn": "DPN",
|
||||
"catCode": "3",
|
||||
"admin": "X1____",
|
||||
"addName": "erx RE83"
|
||||
},
|
||||
"addName": "erx RE83"
|
||||
},
|
||||
{
|
||||
"name": "ICE 907",
|
||||
"number": "907",
|
||||
"icoX": 0,
|
||||
"cls": 1,
|
||||
"oprX": 1,
|
||||
"prodCtx": {
|
||||
"name": "ICE 907",
|
||||
"num": "907",
|
||||
"matchId": "28",
|
||||
"catOut": "ICE",
|
||||
"catOutS": "ICE",
|
||||
"catOutL": "Intercity-Express",
|
||||
"catIn": "ICE",
|
||||
"catCode": "0",
|
||||
"admin": "80____"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ICE 501",
|
||||
"number": "501",
|
||||
"icoX": 0,
|
||||
"cls": 1,
|
||||
"oprX": 1,
|
||||
"prodCtx": {
|
||||
"name": "ICE 501",
|
||||
"num": "501",
|
||||
"matchId": "28",
|
||||
"catOut": "ICE",
|
||||
"catOutS": "ICE",
|
||||
"catOutL": "Intercity-Express",
|
||||
"catIn": "ICE",
|
||||
"catCode": "0",
|
||||
"admin": "80____"
|
||||
}
|
||||
}
|
||||
],
|
||||
"opL": [
|
||||
{
|
||||
"name": "erixx",
|
||||
"icoX": 2
|
||||
},
|
||||
{
|
||||
"name": "DB Fernverkehr AG",
|
||||
"icoX": 6
|
||||
}
|
||||
],
|
||||
"remL": [
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FB",
|
||||
"prio": 260,
|
||||
"icoX": 3,
|
||||
"txtN": "Number of bicycles conveyed limited"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "RO",
|
||||
"prio": 560,
|
||||
"icoX": 4,
|
||||
"txtN": "space for wheelchairs"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "EH",
|
||||
"prio": 560,
|
||||
"icoX": 5,
|
||||
"txtN": "vehicle-mounted access aid"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "SI",
|
||||
"prio": 561,
|
||||
"icoX": 5,
|
||||
"txtN": "Barrierefreier Zustieg an geeigneten Stationen möglich"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "SM",
|
||||
"prio": 561,
|
||||
"icoX": 5,
|
||||
"txtN": "Info www.bahn.de/sh-barrierefrei"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "CK",
|
||||
"prio": 200,
|
||||
"icoX": 5,
|
||||
"txtN": "Komfort Check-in possible (visit bahn.de/kci for more information)"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "BR",
|
||||
"prio": 450,
|
||||
"icoX": 7,
|
||||
"txtN": "Bordrestaurant"
|
||||
},
|
||||
{
|
||||
"type": "H",
|
||||
"code": "text.connection.section.arrival.date.deviation",
|
||||
"icoX": 8,
|
||||
"txtN": "Arrival Saturday, 2023-11-25"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FR",
|
||||
"prio": 260,
|
||||
"icoX": 10,
|
||||
"txtN": "Bicycles conveyed - subject to reservation"
|
||||
},
|
||||
{
|
||||
"type": "H",
|
||||
"code": "text.connection.section.departure.date.deviation",
|
||||
"icoX": 8,
|
||||
"txtN": "Departure Saturday, 2023-11-25"
|
||||
},
|
||||
{
|
||||
"type": "H",
|
||||
"code": "455",
|
||||
"icoX": 5,
|
||||
"txtN": "Longer stay at a station"
|
||||
}
|
||||
],
|
||||
"icoL": [
|
||||
{
|
||||
"res": "ICE"
|
||||
},
|
||||
{
|
||||
"res": "erx"
|
||||
},
|
||||
{
|
||||
"res": "DPN",
|
||||
"txt": "erixx"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike"
|
||||
},
|
||||
{
|
||||
"res": "attr_wchair"
|
||||
},
|
||||
{
|
||||
"res": "attr_info"
|
||||
},
|
||||
{
|
||||
"res": "D",
|
||||
"txt": "DB Fernverkehr AG"
|
||||
},
|
||||
{
|
||||
"res": "attr_resto"
|
||||
},
|
||||
{
|
||||
"res": "attr_day_change"
|
||||
},
|
||||
{
|
||||
"res": "ECE"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike_r"
|
||||
},
|
||||
{
|
||||
"res": "cl_all"
|
||||
}
|
||||
],
|
||||
"tcocL": [
|
||||
{
|
||||
"c": "FIRST",
|
||||
"r": 1
|
||||
},
|
||||
{
|
||||
"c": "SECOND",
|
||||
"r": 1
|
||||
}
|
||||
],
|
||||
"lDrawStyleL": [
|
||||
{
|
||||
"sIcoX": 1,
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"type": "SOLID"
|
||||
},
|
||||
{
|
||||
"sIcoX": 0,
|
||||
"type": "SOLID"
|
||||
}
|
||||
]
|
||||
},
|
||||
"outConL": [
|
||||
{
|
||||
"cid": "C-0",
|
||||
"date": "20231124",
|
||||
"dur": "110700",
|
||||
"durS": "110700",
|
||||
"durR": "110700",
|
||||
"chg": 2,
|
||||
"sDays": {
|
||||
"sDaysR": "runs 24. Nov until 8. Dec 2023 Fr, Su; not 1. Dec 2023 ",
|
||||
"sDaysB": "0000000000000000000000000002888A14245001424402042850A142850A142850A142850A142850A040000A042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 0,
|
||||
"dProdX": 0,
|
||||
"dPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "6"
|
||||
},
|
||||
"dTimeS": "221000",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 60,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 4,
|
||||
"idx": 9,
|
||||
"aProdX": 2,
|
||||
"aPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "19"
|
||||
},
|
||||
"aTimeS": "01091700",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 60,
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 7,
|
||||
"sty": "I",
|
||||
"tagL": [
|
||||
"RES_LOC_H3"
|
||||
],
|
||||
"sort": 147324928
|
||||
}
|
||||
],
|
||||
"type": "N"
|
||||
},
|
||||
"secL": [
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 0,
|
||||
"dProdX": 0,
|
||||
"dPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "6"
|
||||
},
|
||||
"dTimeS": "221000",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 60,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 1,
|
||||
"idx": 5,
|
||||
"aProdX": 0,
|
||||
"aPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "140"
|
||||
},
|
||||
"aTimeS": "224900",
|
||||
"aTZOffset": 60,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|466091|0|80|24112023",
|
||||
"prodX": 0,
|
||||
"dirTxt": "Lüneburg",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=Lübeck Hbf@L=8000237@a=128@$A=1@O=Büchen@L=8000058@a=128@$202311242210$202311242249$erx21137$$1$$$$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"sty": "I",
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 0,
|
||||
"tIdx": 5,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 839385088
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 1,
|
||||
"sty": "I",
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 0,
|
||||
"tIdx": 5,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 878706688
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 2,
|
||||
"sty": "I",
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 0,
|
||||
"tIdx": 5,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 878706688
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 3,
|
||||
"sty": "I",
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 0,
|
||||
"tIdx": 5,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 878837760
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 4,
|
||||
"sty": "I",
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 0,
|
||||
"tIdx": 5,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 878837760
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"chgDurR": 26,
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 0,
|
||||
"fLocX": 0,
|
||||
"tLocX": 1,
|
||||
"fIdx": 0,
|
||||
"tIdx": 5
|
||||
}
|
||||
],
|
||||
"sumLDrawStyleX": 0,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20231124",
|
||||
"durS": "003900"
|
||||
},
|
||||
"minChg": "000500",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 1,
|
||||
"idx": 3,
|
||||
"dProdX": 1,
|
||||
"dPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "1"
|
||||
},
|
||||
"dTimeS": "231500",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tcM": 1
|
||||
},
|
||||
"dTZOffset": 60,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 7,
|
||||
"aProdX": 1,
|
||||
"aPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "1"
|
||||
},
|
||||
"aTimeS": "01005400",
|
||||
"aTrnCmpSX": {
|
||||
"tcM": 1
|
||||
},
|
||||
"aTZOffset": 60,
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 7,
|
||||
"sty": "I",
|
||||
"tagL": [
|
||||
"RES_LOC_H3"
|
||||
],
|
||||
"sort": 147324928
|
||||
}
|
||||
],
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|206310|0|80|24112023",
|
||||
"prodX": 1,
|
||||
"dirTxt": "Berlin Südkreuz",
|
||||
"dirFlg": "1",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=Büchen@L=8000058@a=128@$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$202311242315$202311250054$ICE 907$$1$$$$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 5,
|
||||
"sty": "I",
|
||||
"fLocX": 1,
|
||||
"tLocX": 2,
|
||||
"fIdx": 3,
|
||||
"tIdx": 7,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 831520768
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 6,
|
||||
"sty": "I",
|
||||
"fLocX": 1,
|
||||
"tLocX": 2,
|
||||
"fIdx": 3,
|
||||
"tIdx": 7,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 864288768
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"chgDurR": 216,
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 1,
|
||||
"fLocX": 1,
|
||||
"tLocX": 2,
|
||||
"fIdx": 3,
|
||||
"tIdx": 7
|
||||
}
|
||||
],
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"sumLDrawStyleX": 2,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20231124",
|
||||
"durS": "013900",
|
||||
"tcocXL": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"minChg": "000800",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
},
|
||||
{
|
||||
"type": "JNY",
|
||||
"dep": {
|
||||
"locX": 2,
|
||||
"idx": 1,
|
||||
"dProdX": 2,
|
||||
"dPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "1"
|
||||
},
|
||||
"dTimeS": "01043000",
|
||||
"dTZOffset": 60,
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 9,
|
||||
"sty": "I",
|
||||
"tagL": [
|
||||
"RES_LOC_H3"
|
||||
],
|
||||
"sort": 147324928
|
||||
}
|
||||
],
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 4,
|
||||
"idx": 9,
|
||||
"aProdX": 2,
|
||||
"aPltfS": {
|
||||
"type": "PL",
|
||||
"txt": "19"
|
||||
},
|
||||
"aTimeS": "01091700",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 60,
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 7,
|
||||
"sty": "I",
|
||||
"tagL": [
|
||||
"RES_LOC_H3"
|
||||
],
|
||||
"sort": 147324928
|
||||
}
|
||||
],
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|198958|0|80|25112023",
|
||||
"prodX": 2,
|
||||
"dirTxt": "München Hbf",
|
||||
"dirFlg": "1",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"ctxRecon": "T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202311250430$202311250917$ICE 501$$1$$$$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 5,
|
||||
"sty": "I",
|
||||
"fLocX": 2,
|
||||
"tLocX": 4,
|
||||
"fIdx": 1,
|
||||
"tIdx": 9,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 831520768
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 8,
|
||||
"sty": "I",
|
||||
"fLocX": 2,
|
||||
"tLocX": 4,
|
||||
"fIdx": 1,
|
||||
"tIdx": 9,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 839385088
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"sty": "I",
|
||||
"fLocX": 2,
|
||||
"tLocX": 4,
|
||||
"fIdx": 1,
|
||||
"tIdx": 9,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 839385088
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 6,
|
||||
"sty": "I",
|
||||
"fLocX": 2,
|
||||
"tLocX": 4,
|
||||
"fIdx": 1,
|
||||
"tIdx": 9,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
],
|
||||
"sort": 864288768
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 2,
|
||||
"sty": "I",
|
||||
"fLocX": 2,
|
||||
"tLocX": 4,
|
||||
"fIdx": 1,
|
||||
"tIdx": 9,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
],
|
||||
"sort": 878706688
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"prodL": [
|
||||
{
|
||||
"prodX": 2,
|
||||
"fLocX": 2,
|
||||
"tLocX": 4,
|
||||
"fIdx": 1,
|
||||
"tIdx": 9
|
||||
}
|
||||
],
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"sumLDrawStyleX": 2,
|
||||
"resLDrawStyleX": 1,
|
||||
"trainStartDate": "20231125",
|
||||
"durS": "044700"
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
}
|
||||
],
|
||||
"ctxRecon": "T$A=1@O=Lübeck Hbf@L=8000237@a=128@$A=1@O=Büchen@L=8000058@a=128@$202311242210$202311242249$erx21137$$1$$$$$$§T$A=1@O=Büchen@L=8000058@a=128@$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$202311242315$202311250054$ICE 907$$1$$$$$$§T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=München Hbf@L=8000261@a=128@$202311250430$202311250917$ICE 501$$1$$$$$$",
|
||||
"trfRes": {
|
||||
"statusCode": "OK",
|
||||
"fareSetL": [
|
||||
{
|
||||
"fareL": [
|
||||
{
|
||||
"isFromPrice": true,
|
||||
"isPartPrice": false,
|
||||
"isBookable": true,
|
||||
"isUpsell": false,
|
||||
"targetCtx": "D",
|
||||
"buttonText": "To offer selection",
|
||||
"price": {
|
||||
"amount": 10890
|
||||
},
|
||||
"retPriceIsCompletePrice": false,
|
||||
"retPrice": -1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 10,
|
||||
"sty": "I",
|
||||
"tagL": [
|
||||
"SUM_CON_HDR_H3",
|
||||
"RES_CON_FTR_H3"
|
||||
],
|
||||
"sort": 147324928
|
||||
}
|
||||
],
|
||||
"conSubscr": "F",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N",
|
||||
"recState": "U",
|
||||
"sotRating": 0,
|
||||
"isSotCon": false,
|
||||
"showARSLink": false,
|
||||
"sotCtxt": {
|
||||
"cnLocX": 0,
|
||||
"calcDate": "20231124",
|
||||
"jid": "1|466091|0|80|-1",
|
||||
"locMode": "FROM_START",
|
||||
"pLocX": 0,
|
||||
"reqMode": "UNKNOWN",
|
||||
"sectX": 0,
|
||||
"calcTime": "170656"
|
||||
},
|
||||
"cksum": "9e560ba9_3",
|
||||
"cksumDti": "738637ef_3",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"intvlSubscr": "F",
|
||||
"tcocXL": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"originType": "INITIAL"
|
||||
}
|
||||
],
|
||||
"outCtxScrF": "3|OF|MT#14#505330#505330#505997#505997#0#0#565#505316#1#0#26#0#0#-2147483648#1#2|PDH#1f7519b00e0470208ad97667bfd70f7a|RD#24112023|RT#215600|US#0|RS#INIT",
|
||||
"fpB": "20221211",
|
||||
"fpE": "20241214",
|
||||
"bfATS": -1,
|
||||
"bfIOSTS": -1,
|
||||
"planrtTS": "1700841908",
|
||||
"outConGrpSettings": {
|
||||
"conGrpL": [
|
||||
{
|
||||
"name": "All connections",
|
||||
"icoX": 11,
|
||||
"grpid": "cl_all",
|
||||
"conScoringL": [
|
||||
{
|
||||
"type": "DT",
|
||||
"conScoreL": [
|
||||
{
|
||||
"score": 7013570268465987581,
|
||||
"scoreS": "07013570268465987581",
|
||||
"conRefL": [
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Departure"
|
||||
},
|
||||
{
|
||||
"type": "AT",
|
||||
"conScoreL": [
|
||||
{
|
||||
"score": 7010636771443081213,
|
||||
"scoreS": "07010636771443081213",
|
||||
"conRefL": [
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Arrival"
|
||||
},
|
||||
{
|
||||
"type": "TI",
|
||||
"conScoreL": [
|
||||
{
|
||||
"score": 9220434977868480509,
|
||||
"scoreS": "09220434977868480509",
|
||||
"conRefL": [
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Duration"
|
||||
}
|
||||
],
|
||||
"initScoringType": "DT",
|
||||
"requests": [
|
||||
{
|
||||
"id": "RQ_CLIENT",
|
||||
"autosend": true
|
||||
}
|
||||
],
|
||||
"scrollable": true,
|
||||
"bitmask": 1
|
||||
}
|
||||
],
|
||||
"selectL": [
|
||||
{
|
||||
"icoX": 11,
|
||||
"name": "All connections",
|
||||
"bitIdx": 0
|
||||
}
|
||||
],
|
||||
"variant": "RADIO"
|
||||
}
|
||||
}
|
3986
test/fixtures/db-journey-polyline.js
vendored
3986
test/fixtures/db-journey-polyline.js
vendored
File diff suppressed because it is too large
Load diff
822
test/fixtures/db-journey-polyline.json
vendored
822
test/fixtures/db-journey-polyline.json
vendored
|
@ -1,822 +0,0 @@
|
|||
{
|
||||
"common": {
|
||||
"locL": [
|
||||
{
|
||||
"lid": "A=1@O=Berlin Hbf (tief)@X=13369549@Y=52525589@U=80@L=8098160@",
|
||||
"type": "S",
|
||||
"name": "Berlin Hbf (tief)",
|
||||
"icoX": 0,
|
||||
"extId": "8098160",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 13368892,
|
||||
"y": 52525850,
|
||||
"z": 0,
|
||||
"type": "WGS84",
|
||||
"layerX": 0,
|
||||
"crdSysX": 0
|
||||
},
|
||||
"pCls": 319,
|
||||
"entry": true,
|
||||
"mMastLocX": 1
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Berlin Hbf@X=13369549@Y=52525589@U=80@L=8011160@",
|
||||
"type": "S",
|
||||
"name": "Berlin Hbf",
|
||||
"icoX": 0,
|
||||
"extId": "8011160",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 13369629,
|
||||
"y": 52524924,
|
||||
"z": 0,
|
||||
"type": "WGS84",
|
||||
"layerX": 0,
|
||||
"crdSysX": 0
|
||||
},
|
||||
"pCls": 319
|
||||
},
|
||||
{
|
||||
"lid": "A=1@O=Hamburg Hbf@X=10006909@Y=53552733@U=80@L=8002549@",
|
||||
"type": "S",
|
||||
"name": "Hamburg Hbf",
|
||||
"icoX": 0,
|
||||
"extId": "8002549",
|
||||
"state": "F",
|
||||
"crd": {
|
||||
"x": 10006360,
|
||||
"y": 53553533,
|
||||
"z": 0,
|
||||
"type": "WGS84",
|
||||
"layerX": 0,
|
||||
"crdSysX": 0
|
||||
},
|
||||
"pCls": 191
|
||||
}
|
||||
],
|
||||
"prodL": [
|
||||
{
|
||||
"name": "ICE 696",
|
||||
"number": "696",
|
||||
"icoX": 0,
|
||||
"cls": 1,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "ICE 696",
|
||||
"num": "696",
|
||||
"matchId": "11",
|
||||
"catOut": "ICE",
|
||||
"catOutS": "ICE",
|
||||
"catOutL": "Intercity-Express",
|
||||
"catIn": "ICE",
|
||||
"catCode": "0",
|
||||
"admin": "80____"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ICE 602",
|
||||
"number": "602",
|
||||
"icoX": 0,
|
||||
"cls": 1,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "ICE 602",
|
||||
"num": "602",
|
||||
"matchId": "28",
|
||||
"catOut": "ICE",
|
||||
"catOutS": "ICE",
|
||||
"catOutL": "Intercity-Express",
|
||||
"catIn": "ICE",
|
||||
"catCode": "0",
|
||||
"admin": "80____"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ICE 802",
|
||||
"number": "802",
|
||||
"icoX": 0,
|
||||
"cls": 1,
|
||||
"oprX": 0,
|
||||
"prodCtx": {
|
||||
"name": "ICE 802",
|
||||
"num": "802",
|
||||
"matchId": "18",
|
||||
"catOut": "ICE",
|
||||
"catOutS": "ICE",
|
||||
"catOutL": "Intercity-Express",
|
||||
"catIn": "ICE",
|
||||
"catCode": "0",
|
||||
"admin": "80____"
|
||||
}
|
||||
}
|
||||
],
|
||||
"polyL": [],
|
||||
"layerL": [
|
||||
{
|
||||
"id": "standard",
|
||||
"name": "standard",
|
||||
"index": 0,
|
||||
"annoCnt": 0
|
||||
}
|
||||
],
|
||||
"crdSysL": [
|
||||
{
|
||||
"id": "standard",
|
||||
"index": 0,
|
||||
"type": "WGS84",
|
||||
"dim": 3
|
||||
}
|
||||
],
|
||||
"opL": [
|
||||
{
|
||||
"name": "DB Fernverkehr AG",
|
||||
"icoX": 1
|
||||
}
|
||||
],
|
||||
"remL": [
|
||||
{
|
||||
"type": "A",
|
||||
"code": "CK",
|
||||
"prio": 200,
|
||||
"icoX": 2,
|
||||
"txtN": "Komfort Check-in möglich (Infos unter bahn.de/kci)"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "BR",
|
||||
"prio": 450,
|
||||
"icoX": 3,
|
||||
"txtN": "Bordrestaurant"
|
||||
},
|
||||
{
|
||||
"type": "M",
|
||||
"code": "",
|
||||
"icoX": 4,
|
||||
"txtS": "ICE 696: Berlin Hbf (tief)->Hamburg Hbf: Information.",
|
||||
"txtN": "Bitte beachten Sie die Regelung zur Mund-Nase-Bedeckung im öffentlichen Personenverkehr.",
|
||||
"sIdx": 0
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FR",
|
||||
"prio": 260,
|
||||
"icoX": 5,
|
||||
"txtN": "Bicycles conveyed - subject to reservation"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "FB",
|
||||
"prio": 260,
|
||||
"icoX": 6,
|
||||
"txtN": "Number of bicycles conveyed limited"
|
||||
},
|
||||
{
|
||||
"type": "A",
|
||||
"code": "EH",
|
||||
"prio": 560,
|
||||
"icoX": 2,
|
||||
"txtN": "vehicle-mounted accessaid"
|
||||
},
|
||||
{
|
||||
"type": "M",
|
||||
"code": "",
|
||||
"icoX": 4,
|
||||
"txtS": "ICE 602: Berlin Hbf (tief)->Hamburg Hbf: Information.",
|
||||
"txtN": "Bitte beachten Sie die Regelung zur Mund-Nase-Bedeckung im öffentlichen Personenverkehr.",
|
||||
"sIdx": 0
|
||||
},
|
||||
{
|
||||
"type": "M",
|
||||
"code": "",
|
||||
"icoX": 4,
|
||||
"txtS": "ICE 802: Berlin Hbf (tief)->Hamburg Hbf: Information.",
|
||||
"txtN": "Bitte beachten Sie die Regelung zur Mund-Nase-Bedeckung im öffentlichen Personenverkehr.",
|
||||
"sIdx": 0
|
||||
}
|
||||
],
|
||||
"icoL": [
|
||||
{
|
||||
"res": "ICE"
|
||||
},
|
||||
{
|
||||
"res": "D",
|
||||
"txt": "DB Fernverkehr AG"
|
||||
},
|
||||
{
|
||||
"res": "attr_info"
|
||||
},
|
||||
{
|
||||
"res": "attr_resto"
|
||||
},
|
||||
{
|
||||
"res": "HimLow"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike_r"
|
||||
},
|
||||
{
|
||||
"res": "attr_bike"
|
||||
}
|
||||
],
|
||||
"tcocL": [
|
||||
{
|
||||
"c": "FIRST",
|
||||
"r": 1
|
||||
},
|
||||
{
|
||||
"c": "SECOND",
|
||||
"r": 1
|
||||
},
|
||||
{
|
||||
"c": "SECOND",
|
||||
"r": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"outConL": [
|
||||
{
|
||||
"cid": "C-0",
|
||||
"date": "20200727",
|
||||
"dur": "015600",
|
||||
"chg": 0,
|
||||
"sDays": {
|
||||
"sDaysR": "runs 26. until 28. Jul 2020 ",
|
||||
"sDaysB": "00000000000000000000000000000000000000000000000000000004E00000000000000000000000000000000000"
|
||||
},
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 9,
|
||||
"dProdX": 0,
|
||||
"dPlatfS": "7",
|
||||
"dInR": true,
|
||||
"dTimeS": "103800",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 11,
|
||||
"aPlatfS": "5",
|
||||
"aOutR": true,
|
||||
"aTimeS": "123400",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"secL": [
|
||||
{
|
||||
"type": "JNY",
|
||||
"icoX": 0,
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 9,
|
||||
"dProdX": 0,
|
||||
"dPlatfS": "7",
|
||||
"dInR": true,
|
||||
"dTimeS": "103800",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 11,
|
||||
"aPlatfS": "5",
|
||||
"aOutR": true,
|
||||
"aTimeS": "123400",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|244757|0|80|27072020",
|
||||
"prodX": 0,
|
||||
"dirTxt": "Kiel Hbf",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"poly": {
|
||||
"delta": true,
|
||||
"dim": 3,
|
||||
"type": "WGS84",
|
||||
"crdEncYX": "q}q_IqbrpA@BeMfIyHvH_A_D??sEnGwNzO??h@jB{EjFgF`GgB`DiAdDoArHHBFB[|F?dGn@dNq@L??`BvTfA`T??nApPn@zKXGYFtB|\\SDRE`Cr`@??N~BDAWHrPp`ClEjs@??@@TGrDhg@z@dQlLbwEF?DAnApj@M|^mA~NoHj`@qBbZUEAtCeCpg@JB??mGf_AOC@@kBjYq@OuBpUcH`]h@d@qB|N[O}BbViElj@rAf@aA]sA|NCAB@eMjwAiFf_@yFt_@st@zmE??rAaI??qRfkA??aSdiAyXjbB??c}@hnF??w]zuB??????od@foCcMlv@??sSzoA}Lpq@geAxnGoUdsAkWv}AuLtv@{S~kA??mHpe@gHt^ey@z|C??owFp~S??qp@deCqHxUiItS??aInPiItNw~HrvM??q|DhwG??a{OnaX??gZjg@uFlJO[s\\`k@??P\\yj@`aAcD|H{EnPc}CjjNyDbTcCdUeA|UIdVvLn~HdBvc@p[jiG~@|c@@rQUhS??y[jtMaArZcAdQaEvb@ydA`eI??mJjh@_I~ZujIx_W??kRvl@_Vz~@kDjOoeBf_JsTjkAgD`UkCf\\mCvaAeRxoI[nTLle@_@fLkAYjAXeAnLyB~LqEpNkD|G}ExG}CrCyG`EkKrEiLzE??eMhD_OhBi`AxH??en@lEkiJ~u@??s`NvhA??myDrZcJnA_U~FaOnGuSpMyMfLeMbNmL|OsKpQiNhZaoCvyH??ub@bmA??m}EhfNyIlTkSv`@??gkDjbHjDbHkDcHqH|MqHrKgLhMcLdJgHdEaIbDqWfFmGbBoHnD{FhEgGvG{HrLiCnFqOx`@??u~B`mG??kiC|cHaQhg@sGdWeFlXyR|yA??qkAdbJ??udBjyMaFlb@_AvQObPPvMh@pL|@rKjBfNnCzN`F`ScAzAvJtSpH|St@jDx@jI??jBqD|iE~rHtDlIbDdJdF`SnDrTlCx[??xk@prJ??ni@t}IbAlUVlVs@nmEUvQe@zLu@xLcB~Po`@pyC??i_ArgH_D|YmAhQu@pQ[tQGd[x@rfVYlVuA`VoBzP}DpT??cHv[wFnR}HnQaIhMuo@pv@}aFngG??w_D~zDiP~VoUpe@???B??_~AveDh@zAiDlDqBdDoCpFs\\zs@??iJ~SoL~\\oF|ReQhx@??k}@deE??yX~pA{C~OsCdU}@vLg@|LQbMBbMf@vQv@xLjAnL~AdLnM~r@bBbLbBbQbAfVAd[mA|ZwAfQ}Hlm@??wBjSkAjQ}Bz{@w@pQyBtUiClPiDnOwCtJijAdiDgCdKuBtKuCdU_AvLi@|LSbM@bMxMbsFRzQQvQsAbVoAnLiB~KkDnO}Mfa@mC~J}DhToCvV??oFlk@qBj_@s@d[Gb\\G@Fv@H`[WNPxGxBz_@bDv^tBnP~QrmA~CxOfEvNdFjM|FnK??fHtJjR|Q|E`GpGfKpFzLpEfNjDpOhB~KjFpb@vCbQPMdExPbDbJvDjInGjKfQzT`IjOhG~QfE~S??QJxBxRbAjQ????fApQjApLhB|K|BpKlC~JpEfNfOx_@???@????tErMpDjO`CnPjAjQDd[gEfx@VD??MxBWGiNhlC??qBb^PDQEcB|SqBzP{Gpa@qDhOmElNsQ|e@??}Whn@e^v|@??\\l@a@|@wm@~zAEKDJkBvEKO_nAj|CgEhKDHBFyHbSMOoQdk@aJr_@cBnI@@HD{@jI{Bh_@oFph@B@CAoJzk@{AjNoAlGuIvZ_CjK}CjJiCbK_AxGkAlQ_HxV}BvEuC|CmDfAiGh@cFEoG~AiEg@ED`@~B",
|
||||
"crdEncZ": "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
|
||||
"crdEncS": "NNMNNNLNNNNLNLNNNLNNNNKNNNNNNNNNNNNNNLNNNNLNNNNNNNNNNNNNNNNNNNNNNNNKNNNNNNNNLNNNNNNKNNNNNNNNNNNLMLMKMNNMNNNNNNMNNLNNNNNNNNNNNNNNLNNMNMNNMNNKNNNLNNNNNNNNNKNNMNNNNMMNNNMNMNLNKNNNMNNNKNNNNLNMNMNMNMNNNNNNMNNNNNLNMNKNKNLNMNKNNNNMNMNNNNNLNMNKNKNLNNNNKNNNNKNNNNNNNNMNNKNKNNNNNKNLNNNNMNNMNMNLNNNNNNNNNNKNNNNMNMNNNNKNNKNKNLNKNKNMNNNMNNLNKNMNLNNKNNKNKNNLNNKNMLNMNNNNMNNNNNKNNLNMNMNNMLNMNMNKLNNNKNMNNNNNNMNNNKNKNKNNNNNNMNMNNNNNNNNNNNNLNNLNNNKNNNNNNNNNNNNNNNNNNNNKNNNNNLNKKKNLNNMNLNMNNNN",
|
||||
"crdEncF": "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
|
||||
"ppLocRefL": [
|
||||
{
|
||||
"ppIdx": 0,
|
||||
"locX": 0
|
||||
},
|
||||
{
|
||||
"ppIdx": 474,
|
||||
"locX": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"ctxRecon": "T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=Hamburg Hbf@L=8002549@a=128@$202007271038$202007271234$ICE 696$$1$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 1,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 2,
|
||||
"prio": 240,
|
||||
"fIdx": -1,
|
||||
"tIdx": -1,
|
||||
"tagL": [
|
||||
"RES_CON_FTR_H3"
|
||||
]
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
}
|
||||
],
|
||||
"ctxRecon": "¶HKI¶T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=Hamburg Hbf@L=8002549@a=128@$202007271038$202007271234$ICE 696$$1$$$",
|
||||
"trfRes": {
|
||||
"statusCode": "OK",
|
||||
"fareSetL": [
|
||||
{
|
||||
"fareL": [
|
||||
{
|
||||
"price": { "amount": 6990 },
|
||||
"isFromPrice": true,
|
||||
"isBookable": true,
|
||||
"isUpsell": false,
|
||||
"targetCtx": "D",
|
||||
"buttonText": "Continue to booking"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"conSubscr": "F",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N",
|
||||
"recState": "U",
|
||||
"sotRating": 0,
|
||||
"isSotCon": false,
|
||||
"showARSLink": false,
|
||||
"sotCtxt": {
|
||||
"cnLocX": 0,
|
||||
"calcDate": "20200726",
|
||||
"jid": "1|244757|0|80|-1",
|
||||
"locMode": "FROM_START",
|
||||
"pLocX": 0,
|
||||
"reqMode": "UNKNOWN",
|
||||
"sectX": 0,
|
||||
"calcTime": "132949"
|
||||
},
|
||||
"cksum": "cdf4550c_3",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"cid": "C-1",
|
||||
"date": "20200727",
|
||||
"dur": "020100",
|
||||
"chg": 0,
|
||||
"sDays": {
|
||||
"sDaysR": "runs 27. Jul until 3. Aug 2020 Mo, Tu, Sa, Su ",
|
||||
"sDaysB": "00000000000000000000000000000000000000000000000000000006638000000000000000000000000000000000"
|
||||
},
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 8,
|
||||
"dProdX": 1,
|
||||
"dPlatfS": "8",
|
||||
"dInR": true,
|
||||
"dTimeS": "114000",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 10,
|
||||
"aPlatfS": "8",
|
||||
"aOutR": true,
|
||||
"aTimeS": "134100",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"secL": [
|
||||
{
|
||||
"type": "JNY",
|
||||
"icoX": 0,
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 8,
|
||||
"dProdX": 1,
|
||||
"dPlatfS": "8",
|
||||
"dInR": true,
|
||||
"dTimeS": "114000",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 10,
|
||||
"aPlatfS": "8",
|
||||
"aOutR": true,
|
||||
"aTimeS": "134100",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|243213|0|80|27072020",
|
||||
"prodX": 1,
|
||||
"dirTxt": "Hamburg-Altona",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"poly": {
|
||||
"delta": true,
|
||||
"dim": 3,
|
||||
"type": "WGS84",
|
||||
"crdEncYX": "q}q_IqbrpA@BeMfIyHvH_A_D??sEnGwNzO??h@jB{EjFgF`GgB`DiAdDoArHHBFB[|F?dGn@dNq@L??`BvTfA`T??nApPn@zKXGYFtB|\\SDRE`Cr`@??N~BDAWHrPp`ClEjs@??@@TGrDhg@z@dQlLbwEF?DAnApj@M|^mA~NoHj`@qBbZUEAtCeCpg@JB??mGf_AOC@@kBjYq@OuBpUcH`]h@d@qB|N[O}BbViElj@rAf@aA]sA|NCAB@eMjwAiFf_@yFt_@st@zmE??rAaI??qRfkA??aSdiAyXjbB??c}@hnF??w]zuB??????od@foCcMlv@??sSzoA}Lpq@geAxnGoUdsAkWv}AuLtv@{S~kA??mHpe@gHt^ey@z|C??owFp~S??qp@deCqHxUiItS??aInPiItNw~HrvM??q|DhwG??a{OnaX??gZjg@uFlJO[s\\`k@??P\\yj@`aAcD|H{EnPc}CjjNyDbTcCdUeA|UIdVvLn~HdBvc@p[jiG~@|c@@rQUhS??y[jtMaArZcAdQaEvb@ydA`eI??mJjh@_I~ZujIx_W??kRvl@_Vz~@kDjOoeBf_JsTjkAgD`UkCf\\mCvaAeRxoI[nTLle@_@fLkAYjAXeAnLyB~LqEpNkD|G}ExG}CrCyG`EkKrEiLzE??eMhD_OhBi`AxH??en@lEkiJ~u@??s`NvhA??myDrZcJnA_U~FaOnGuSpMyMfLeMbNmL|OsKpQiNhZaoCvyH??ub@bmA??m}EhfNyIlTkSv`@??gkDjbHjDbHkDcHqH|MqHrKgLhMcLdJgHdEaIbDqWfFmGbBoHnD{FhEgGvG{HrLiCnFqOx`@??u~B`mG??kiC|cHaQhg@sGdWeFlXyR|yA??qkAdbJ??udBjyMaFlb@_AvQObPPvMh@pL|@rKjBfNnCzN`F`ScAzAvJtSpH|St@jDx@jI??jBqD|iE~rHtDlIbDdJdF`SnDrTlCx[??xk@prJ??ni@t}IbAlUVlVs@nmEUvQe@zLu@xLcB~Po`@pyC??i_ArgH_D|YmAhQu@pQ[tQGd[x@rfVYlVuA`VoBzP}DpT??cHv[wFnR}HnQaIhMuo@pv@}aFngG??w_D~zDiP~VoUpe@???B??_~AveDh@zAiDlDqBdDoCpFs\\zs@??iJ~SoL~\\oF|ReQhx@??k}@deE??yX~pA{C~OsCdU}@vLg@|LQbMBbMf@vQv@xLjAnL~AdLnM~r@bBbLbBbQbAfVAd[mA|ZwAfQ}Hlm@??wBjSkAjQ}Bz{@w@pQyBtUiClPiDnOwCtJijAdiDgCdKuBtKuCdU_AvLi@|LSbM@bMxMbsFRzQQvQsAbVoAnLiB~KkDnO}Mfa@mC~J}DhToCvV??oFlk@qBj_@s@d[Gb\\G@Fv@H`[WNPxGxBz_@bDv^tBnP~QrmA~CxOfEvNdFjM|FnK??fHtJjR|Q|E`GpGfKpFzLpEfNjDpOhB~KjFpb@vCbQPMdExPbDbJvDjInGjKfQzT`IjOhG~QfE~S??QJxBxRbAjQ????fApQjApLhB|K|BpKlC~JpEfNfOx_@???@????tErMpDjO`CnPjAjQDd[gEfx@VD??MxBWGiNhlC??qBb^PDQEcB|SqBzP{Gpa@qDhOmElNsQ|e@??}Whn@e^v|@??\\l@a@|@wm@~zAEKDJkBvEKO_nAj|CgEhKDHBFyHbSMOoQdk@aJr_@cBnI@@HD{@jI{Bh_@oFph@B@CAoJzk@{AjNoAlGuIvZ_CjK}CjJiCbK_AxGkAlQ_HxV}BvEuC|CmDfAiGh@cFEoG~AiEg@ED`@~B",
|
||||
"crdEncZ": "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
|
||||
"crdEncS": "NNMNNNLNNNNLNLNNNLNNNNKNNNNNNNNNNNNNNLNNNNLNNNNNNNNNNNNNNNNNNNNNNNNKNNNNNNNNLNNNNNNKNNNNNNNNNNNLMLMKMNNMNNNNNNMNNLNNNNNNNNNNNNNNLNNMNMNNMNNKNNNLNNNNNNNNNKNNMNNNNMMNNNMNMNLNKNNNMNNNKNNNNLNMNMNMNMNNNNNNMNNNNNLNMNKNKNLNMNKNNNNMNMNNNNNLNMNKNKNLNNNNKNNNNKNNNNNNNNMNNKNKNNNNNKNLNNNNMNNMNMNLNNNNNNNNNNKNNNNMNMNNNNKNNKNKNLNKNKNMNNNMNNLNKNMNLNNKNNKNKNNLNNKNMLNMNNNNMNNNNNKNNLNMNMNNMLNMNMNKLNNNKNMNNNNNNMNNNKNKNKNNNNNNMNMNNNNNNNNNNNNLNNLNNNKNNNNNNNNNNNNNNNNNNNNKNNNNNLNKKKNLNNMNLNMNNNN",
|
||||
"crdEncF": "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
|
||||
"ppLocRefL": [
|
||||
{
|
||||
"ppIdx": 0,
|
||||
"locX": 0
|
||||
},
|
||||
{
|
||||
"ppIdx": 474,
|
||||
"locX": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"ctxRecon": "T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=Hamburg Hbf@L=8002549@a=128@$202007271140$202007271341$ICE 602$$1$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 8,
|
||||
"tIdx": 10,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 3,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 8,
|
||||
"tIdx": 10,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 4,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 8,
|
||||
"tIdx": 10,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 1,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 8,
|
||||
"tIdx": 10,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 5,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 8,
|
||||
"tIdx": 10,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 6,
|
||||
"prio": 240,
|
||||
"fIdx": -1,
|
||||
"tIdx": -1,
|
||||
"tagL": [
|
||||
"RES_CON_FTR_H3"
|
||||
]
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
}
|
||||
],
|
||||
"ctxRecon": "¶HKI¶T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=Hamburg Hbf@L=8002549@a=128@$202007271140$202007271341$ICE 602$$1$$$",
|
||||
"trfRes": {
|
||||
"statusCode": "OK",
|
||||
"fareSetL": [
|
||||
{
|
||||
"fareL": [
|
||||
{
|
||||
"price": { "amount": 6990 },
|
||||
"isFromPrice": true,
|
||||
"isBookable": true,
|
||||
"isUpsell": false,
|
||||
"targetCtx": "D",
|
||||
"buttonText": "Continue to booking"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"conSubscr": "F",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N",
|
||||
"recState": "U",
|
||||
"sotRating": 0,
|
||||
"isSotCon": false,
|
||||
"showARSLink": false,
|
||||
"sotCtxt": {
|
||||
"cnLocX": 0,
|
||||
"calcDate": "20200726",
|
||||
"jid": "1|243213|0|80|-1",
|
||||
"locMode": "FROM_START",
|
||||
"pLocX": 0,
|
||||
"reqMode": "UNKNOWN",
|
||||
"sectX": 0,
|
||||
"calcTime": "132949"
|
||||
},
|
||||
"cksum": "98e53541_3",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"cid": "C-2",
|
||||
"date": "20200727",
|
||||
"dur": "021400",
|
||||
"chg": 0,
|
||||
"sDays": {
|
||||
"sDaysR": "runs 26. until 28. Jul 2020 ",
|
||||
"sDaysB": "00000000000000000000000000000000000000000000000000000007E00000000000000000000000000000000000"
|
||||
},
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 9,
|
||||
"dProdX": 2,
|
||||
"dPlatfS": "7",
|
||||
"dInR": true,
|
||||
"dTimeS": "123800",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 11,
|
||||
"aPlatfS": "5",
|
||||
"aOutR": true,
|
||||
"aTimeS": "145200",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"secL": [
|
||||
{
|
||||
"type": "JNY",
|
||||
"icoX": 0,
|
||||
"dep": {
|
||||
"locX": 0,
|
||||
"idx": 9,
|
||||
"dProdX": 2,
|
||||
"dPlatfS": "7",
|
||||
"dInR": true,
|
||||
"dTimeS": "123800",
|
||||
"dProgType": "PROGNOSED",
|
||||
"dTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"arr": {
|
||||
"locX": 2,
|
||||
"idx": 11,
|
||||
"aPlatfS": "5",
|
||||
"aOutR": true,
|
||||
"aTimeS": "145200",
|
||||
"aProgType": "PROGNOSED",
|
||||
"aTZOffset": 120,
|
||||
"type": "N"
|
||||
},
|
||||
"jny": {
|
||||
"jid": "1|246102|0|80|27072020",
|
||||
"prodX": 2,
|
||||
"dirTxt": "Hamburg-Altona",
|
||||
"status": "P",
|
||||
"isRchbl": true,
|
||||
"poly": {
|
||||
"delta": true,
|
||||
"dim": 3,
|
||||
"type": "WGS84",
|
||||
"crdEncYX": "q}q_IqbrpA@BeMfIyHvH_A_D??sEnGwNzO??h@jB{EjFgF`GgB`DiAdDoArHHBFB[|F?dGn@dNq@L??`BvTfA`T??nApPn@zKXGYFtB|\\SDRE`Cr`@??N~BDAWHrPp`ClEjs@??@@TGrDhg@z@dQlLbwEF?DAnApj@M|^mA~NoHj`@qBbZUEAtCeCpg@JB??mGf_AOC@@kBjYq@OuBpUcH`]h@d@qB|N[O}BbViElj@rAf@aA]sA|NCAB@eMjwAiFf_@yFt_@st@zmE??rAaI??qRfkA??aSdiAyXjbB??c}@hnF??w]zuB??????od@foCcMlv@??sSzoA}Lpq@geAxnGoUdsAkWv}AuLtv@{S~kA??mHpe@gHt^ey@z|C??owFp~S??qp@deCqHxUiItS??aInPiItNw~HrvM??q|DhwG??a{OnaX??gZjg@uFlJO[s\\`k@??P\\yj@`aAcD|H{EnPc}CjjNyDbTcCdUeA|UIdVvLn~HdBvc@p[jiG~@|c@@rQUhS??y[jtMaArZcAdQaEvb@ydA`eI??mJjh@_I~ZujIx_W??kRvl@_Vz~@kDjOoeBf_JsTjkAgD`UkCf\\mCvaAeRxoI[nTLle@_@fLkAYjAXeAnLyB~LqEpNkD|G}ExG}CrCyG`EkKrEiLzE??eMhD_OhBi`AxH??en@lEkiJ~u@??s`NvhA??myDrZcJnA_U~FaOnGuSpMyMfLeMbNmL|OsKpQiNhZaoCvyH??ub@bmA??m}EhfNyIlTkSv`@??gkDjbHjDbHkDcHqH|MqHrKgLhMcLdJgHdEaIbDqWfFmGbBoHnD{FhEgGvG{HrLiCnFqOx`@??u~B`mG??kiC|cHaQhg@sGdWeFlXyR|yA??qkAdbJ??udBjyMaFlb@_AvQObPPvMh@pL|@rKjBfNnCzN`F`ScAzAvJtSpH|St@jDx@jI??jBqD|iE~rHtDlIbDdJdF`SnDrTlCx[??xk@prJ??ni@t}IbAlUVlVs@nmEUvQe@zLu@xLcB~Po`@pyC??i_ArgH_D|YmAhQu@pQ[tQGd[x@rfVYlVuA`VoBzP}DpT??cHv[wFnR}HnQaIhMuo@pv@}aFngG??w_D~zDiP~VoUpe@???B??_~AveDh@zAiDlDqBdDoCpFs\\zs@??iJ~SoL~\\oF|ReQhx@??k}@deE??yX~pA{C~OsCdU}@vLg@|LQbMBbMf@vQv@xLjAnL~AdLnM~r@bBbLbBbQbAfVAd[mA|ZwAfQ}Hlm@??wBjSkAjQ}Bz{@w@pQyBtUiClPiDnOwCtJijAdiDgCdKuBtKuCdU_AvLi@|LSbM@bMxMbsFRzQQvQsAbVoAnLiB~KkDnO}Mfa@mC~J}DhToCvV??oFlk@qBj_@s@d[Gb\\G@Fv@H`[WNPxGxBz_@bDv^tBnP~QrmA~CxOfEvNdFjM|FnK??fHtJjR|Q|E`GpGfKpFzLpEfNjDpOhB~KjFpb@vCbQPMdExPbDbJvDjInGjKfQzT`IjOhG~QfE~S??QJxBxRbAjQ????fApQjApLhB|K|BpKlC~JpEfNfOx_@???@????tErMpDjO`CnPjAjQDd[gEfx@VD??MxBWGiNhlC??qBb^PDQEcB|SqBzP{Gpa@qDhOmElNsQ|e@??}Whn@e^v|@??\\l@a@|@wm@~zAEKDJkBvEKO_nAj|CgEhKDHBFyHbSMOoQdk@aJr_@cBnI@@HD{@jI{Bh_@oFph@B@CAoJzk@{AjNoAlGuIvZ_CjK}CjJiCbK_AxGkAlQ_HxV}BvEuC|CmDfAiGh@cFEoG~AiEg@ED`@~B",
|
||||
"crdEncZ": "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
|
||||
"crdEncS": "NNMNNNLNNNNLNLNNNLNNNNKNNNNNNNNNNNNNNLNNNNLNNNNNNNNNNNNNNNNNNNNNNNNKNNNNNNNNLNNNNNNKNNNNNNNNNNNLMLMKMNNMNNNNNNMNNLNNNNNNNNNNNNNNLNNMNMNNMNNKNNNLNNNNNNNNNKNNMNNNNMMNNNMNMNLNKNNNMNNNKNNNNLNMNMNMNMNNNNNNMNNNNNLNMNKNKNLNMNKNNNNMNMNNNNNLNMNKNKNLNNNNKNNNNKNNNNNNNNMNNKNKNNNNNKNLNNNNMNNMNMNLNNNNNNNNNNKNNNNMNMNNNNKNNKNKNLNKNKNMNNNMNNLNKNMNLNNKNNKNKNNLNNKNMLNMNNNNMNNNNNKNNLNMNMNNMLNMNMNKLNNNKNMNNNNNNMNNNKNKNKNNNNNNMNMNNNNNNNNNNNNLNNLNNNKNNNNNNNNNNNNNNNNNNNNKNNNNNLNKKKNLNNMNLNMNNNN",
|
||||
"crdEncF": "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????",
|
||||
"ppLocRefL": [
|
||||
{
|
||||
"ppIdx": 0,
|
||||
"locX": 0
|
||||
},
|
||||
{
|
||||
"ppIdx": 474,
|
||||
"locX": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"ctxRecon": "T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=Hamburg Hbf@L=8002549@a=128@$202007271238$202007271452$ICE 802$$1$$$",
|
||||
"msgL": [
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 0,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 3,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 4,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 1,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL_L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 5,
|
||||
"fLocX": 0,
|
||||
"tLocX": 2,
|
||||
"fIdx": 9,
|
||||
"tIdx": 11,
|
||||
"tagL": [
|
||||
"RES_JNY_DTL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "REM",
|
||||
"remX": 7,
|
||||
"prio": 240,
|
||||
"fIdx": -1,
|
||||
"tIdx": -1,
|
||||
"tagL": [
|
||||
"RES_CON_FTR_H3"
|
||||
]
|
||||
}
|
||||
],
|
||||
"subscr": "F",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
},
|
||||
"resState": "N",
|
||||
"resRecommendation": "N"
|
||||
}
|
||||
],
|
||||
"ctxRecon": "¶HKI¶T$A=1@O=Berlin Hbf (tief)@L=8098160@a=128@$A=1@O=Hamburg Hbf@L=8002549@a=128@$202007271238$202007271452$ICE 802$$1$$$",
|
||||
"trfRes": {
|
||||
"statusCode": "OK",
|
||||
"fareSetL": [
|
||||
{
|
||||
"fareL": [
|
||||
{
|
||||
"prc": 5990,
|
||||
"isFromPrice": true,
|
||||
"isBookable": true,
|
||||
"isUpsell": false,
|
||||
"targetCtx": "D",
|
||||
"buttonText": "Continue to booking"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"conSubscr": "F",
|
||||
"resState": "N",
|
||||
"resRecommendation": "N",
|
||||
"recState": "U",
|
||||
"sotRating": 0,
|
||||
"isSotCon": false,
|
||||
"showARSLink": false,
|
||||
"sotCtxt": {
|
||||
"cnLocX": 0,
|
||||
"calcDate": "20200726",
|
||||
"jid": "1|246102|0|80|-1",
|
||||
"locMode": "FROM_START",
|
||||
"pLocX": 0,
|
||||
"reqMode": "UNKNOWN",
|
||||
"sectX": 0,
|
||||
"calcTime": "132949"
|
||||
},
|
||||
"cksum": "bbe9b8dd_3",
|
||||
"dTrnCmpSX": {
|
||||
"tcocX": [
|
||||
0,
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"outCtxScrB": "2|OB|MT#11#327518#327518#327634#327634#0#0#485#327476#1#-2147482598#0#1#2|PDH#75e25308610ed872d1e38869082dfcf9|RD#27072020|RT#95600|US#1",
|
||||
"outCtxScrF": "2|OF|MT#11#327638#327638#327772#327772#0#0#485#327581#3#-2147482598#0#1#2|PDH#75e25308610ed872d1e38869082dfcf9|RD#27072020|RT#95600|US#1",
|
||||
"fpB": "20191215",
|
||||
"fpE": "20201212",
|
||||
"bfATS": -1,
|
||||
"bfIOSTS": -1,
|
||||
"planrtTS": "1595762840"
|
||||
}
|
200
test/fixtures/db-journey.js
vendored
200
test/fixtures/db-journey.js
vendored
|
@ -30,47 +30,140 @@ const dbJourney = {
|
|||
departure: '2025-04-11T05:11:00+02:00',
|
||||
plannedDeparture: '2025-04-11T05:11:00+02:00',
|
||||
departureDelay: null,
|
||||
direction: "Hennef(Sieg)",
|
||||
arrivalPlatform: "9",
|
||||
plannedArrivalPlatform: "9",
|
||||
departurePlatform: "10 A-B",
|
||||
plannedDeparturePlatform: "10 A-B",
|
||||
direction: "Hennef(Sieg)",
|
||||
arrivalPlatform: "9",
|
||||
plannedArrivalPlatform: "9",
|
||||
departurePlatform: "10 A-B",
|
||||
plannedDeparturePlatform: "10 A-B",
|
||||
tripId: "2|#VN#1#ST#1733173731#PI#1#ZI#161473#TA#1#DA#110425#1S#8000208#1T#504#LS#8002753#LT#545#PU#81#RT#1#CA#s#ZE#12#ZB#S 12#PC#4#FR#8000208#FT#504#TO#8002753#TT#545#",
|
||||
line: {
|
||||
type: "line",
|
||||
line: {
|
||||
type: "line",
|
||||
id: "s-12",
|
||||
fahrtNr: "12",
|
||||
name: "S 12",
|
||||
public: true,
|
||||
productName: "S",
|
||||
mode: "train",
|
||||
product: "suburban",
|
||||
operator: {
|
||||
"type": "operator",
|
||||
"id": "db-regio-ag-nrw",
|
||||
"name": "DB Regio AG NRW",
|
||||
},
|
||||
fahrtNr: "12",
|
||||
name: "S 12",
|
||||
public: true,
|
||||
productName: "S",
|
||||
mode: "train",
|
||||
product: "suburban",
|
||||
operator: {
|
||||
"type": "operator",
|
||||
"id": "db-regio-ag-nrw",
|
||||
"name": "DB Regio AG NRW",
|
||||
},
|
||||
},
|
||||
remarks: [
|
||||
{
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint",
|
||||
"code": "bicycle-conveyance",
|
||||
"summary": "bicycles conveyed",
|
||||
{
|
||||
"text": "Fahrradmitnahme begrenzt möglich",
|
||||
"type": "hint",
|
||||
"code": "bicycle-conveyance",
|
||||
"summary": "bicycles conveyed",
|
||||
},
|
||||
{
|
||||
"text": "nur 2. Klasse",
|
||||
"type": "hint",
|
||||
"code": "2nd-class-only",
|
||||
"summary": "2. class only",
|
||||
{
|
||||
"text": "nur 2. Klasse",
|
||||
"type": "hint",
|
||||
"code": "2nd-class-only",
|
||||
"summary": "2. class only",
|
||||
},
|
||||
{
|
||||
"text": "Fahrzeuggebundene Einstiegshilfe vorhanden",
|
||||
"type": "hint",
|
||||
"code": "boarding-ramp",
|
||||
"summary": "vehicle-mounted boarding ramp available",
|
||||
{
|
||||
"text": "Fahrzeuggebundene Einstiegshilfe vorhanden",
|
||||
"type": "hint",
|
||||
"code": "boarding-ramp",
|
||||
"summary": "vehicle-mounted boarding ramp available",
|
||||
}
|
||||
]
|
||||
],
|
||||
"polyline": {
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.9597,
|
||||
50.943038,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.9597,
|
||||
50.943038,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.960033,
|
||||
50.942724,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.960491,
|
||||
50.942301,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.961282,
|
||||
50.941825,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.962253,
|
||||
50.941582,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.971467,
|
||||
50.941492,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
6.974658,
|
||||
50.941285,
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
origin: {
|
||||
|
@ -146,11 +239,11 @@ const dbJourney = {
|
|||
departurePlatform: '11',
|
||||
plannedDeparturePlatform: '11',
|
||||
remarks: [
|
||||
{
|
||||
"text": "Bordrestaurant",
|
||||
"type": "hint",
|
||||
"code": "on-board-restaurant",
|
||||
"summary": "Bordrestaurant available",
|
||||
{
|
||||
"text": "Bordrestaurant",
|
||||
"type": "hint",
|
||||
"code": "on-board-restaurant",
|
||||
"summary": "Bordrestaurant available",
|
||||
},
|
||||
{
|
||||
text: 'Komfort Check-in verfügbar - wenn möglich bitte einchecken',
|
||||
|
@ -159,10 +252,37 @@ const dbJourney = {
|
|||
summary: 'Komfort-Checkin available',
|
||||
},
|
||||
],
|
||||
"polyline": {
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
11.082144,
|
||||
49.445678,
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
11.08227,
|
||||
49.445435,
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
refreshToken: '¶HKI¶T$A=1@O=Köln Hbf@X=6958730@Y=50943029@L=8000207@a=128@$A=1@O=Köln Messe/Deutz@X=6975000@Y=50940872@L=8003368@a=128@$202504110511$202504110512$S 12$$1$$$$$$§W$A=1@O=Köln Messe/Deutz@X=6975000@Y=50940872@L=8003368@a=128@$A=1@O=Köln Messe/Deutz Gl.11-12@X=6974065@Y=50941717@L=8073368@a=128@$202504110512$202504110519$$$1$$$$$$§T$A=1@O=Köln Messe/Deutz Gl.11-12@X=6974065@Y=50941717@L=8073368@a=128@$A=1@O=Nürnberg Hbf@X=11082989@Y=49445615@L=8000284@a=128@$202504110520$202504110858$ICE 523$$1$$$$$$¶KC¶#VE#2#CF#100#CA#0#CM#0#SICT#0#AM#81#AM2#0#RT#7#¶KCC¶I1ZFIzEjRVJHIzMjSElOIzAjRUNLIzcwNTkxMXw3MDU5MTF8NzA2MTM4fDcwNjEzOHwwfDB8NDg1fDcwNTg5N3wxfDB8MTh8MHwwfC0yMTQ3NDgzNjQ4I0dBTSMxMTA0MjUwNTExIwpaI1ZOIzEjU1QjMTczMzE3MzczMSNQSSMxI1pJIzE2MTQ3MyNUQSMxI0RBIzExMDQyNSMxUyM4MDAwMjA4IzFUIzUwNCNMUyM4MDAyNzUzI0xUIzU0NSNQVSM4MSNSVCMxI0NBI3MjWkUjMTIjWkIjUyAgICAgMTIjUEMjNCNGUiM4MDAwMjA3I0ZUIzUxMSNUTyM4MDAzMzY4I1RUIzUxMiMKRiNWTiMwI1NUIzE3MzMxNzM3MzEjUEkjMSNQVSM4MSNaSSMyMjgzODI4ODkzI0RBIzExMDQyNSNGUiM4MDAzMzY4I1RPIzgwNzMzNjgjRlQjNTEyI1RUIzUxOSNUUyMwI0ZGIyNGViMwIwpaI1ZOIzEjU1QjMTczMzE3MzczMSNQSSMxI1pJIzE1NTA2MyNUQSMwI0RBIzExMDQyNSMxUyM4MDAwMDgwIzFUIzM1OCNMUyM4MDAwMjYxI0xUIzEwMDYjUFUjODEjUlQjMSNDQSNJQ0UjWkUjNTIzI1pCI0lDRSAgNTIzI1BDIzAjRlIjODA3MzM2OCNGVCM1MjAjVE8jODAwMDI4NCNUVCM4NTgj¶KRCC¶#VE#1#¶SC¶1_H4sIAAAAAAACA32P306DMBjFX8X0GpevhUIhIUFGFv8sGzHOaIwXbHQTU2CWskgIz+GbeOXdXswCemE09qLpOT09v68tOnCJPIQnDkMG4q9Kiyic3EYTV2vJX5DXoqLOZ8ijRn8IkQcGKmsVJYrrMAFCwcIYDeZNlvcmUNBLW9uh4RQb6LloZkLJOfIeWqSafR+Lr5eRDuVl2quLxVSLQyLqXmEgJuoeh5mmT7uxWJNTvp+Xm7FGZKlOnvk4WPpXx3dRnJyvt8Gdb7uUOSYE9z4F1zKBuMHKZxDM9QZAwAlC/WbvY8c0scNsmwSZvzq+ATDA1KIs0INUavzgbJgikfJP7OL4IYs1l7svNMbAiMtczbZcy6I2pj/YzPqHTQh2zd/sHVdxKRqRFdpTsuaDdVnWsuBNWNZFWiFvm4hqvIiTqhJZpb6zfFPGiUxyHWq7rvsE0LytQvMBAAA=',
|
||||
price: {amount: 31.49, currency: 'EUR', hint: null},
|
||||
price: { amount: 31.49, currency: 'EUR', hint: null },
|
||||
remarks: []
|
||||
};
|
||||
|
||||
|
|
5253
test/fixtures/db-journey.json
vendored
5253
test/fixtures/db-journey.json
vendored
File diff suppressed because it is too large
Load diff
3674
test/fixtures/db-netz-remarks.json
vendored
3674
test/fixtures/db-netz-remarks.json
vendored
File diff suppressed because it is too large
Load diff
184
test/fixtures/db-rest-journey.json
vendored
184
test/fixtures/db-rest-journey.json
vendored
|
@ -1,184 +0,0 @@
|
|||
{
|
||||
"Trip": [
|
||||
{
|
||||
"Eco": {},
|
||||
"ServiceDays": [
|
||||
{
|
||||
"planningPeriodBegin": "2018-12-09",
|
||||
"planningPeriodEnd": "2019-12-14",
|
||||
"sDaysR": "täglich",
|
||||
"sDaysB": "FFFFFFFFFFFFFFFFFFFFFF0001FFFC000000000000000007FFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0"
|
||||
}
|
||||
],
|
||||
"LegList": {
|
||||
"Leg": [
|
||||
{
|
||||
"Origin": {
|
||||
"name": "Hildesheim Hbf",
|
||||
"type": "ST",
|
||||
"id": "A=1@O=Hildesheim Hbf@X=9953495@Y=52160627@U=80@L=8000169@",
|
||||
"extId": "8000169",
|
||||
"lon": 9.953495,
|
||||
"lat": 52.160627,
|
||||
"routeIdx": 6,
|
||||
"prognosisType": "PROGNOSED",
|
||||
"time": "17:44:00",
|
||||
"date": "2019-08-23",
|
||||
"tz": 120,
|
||||
"track": "3",
|
||||
"rtTime": "17:45:00",
|
||||
"rtDate": "2019-08-23",
|
||||
"rtTz": 120,
|
||||
"rtBoarding": true
|
||||
},
|
||||
"Destination": {
|
||||
"name": "Hannover Hbf",
|
||||
"type": "ST",
|
||||
"id": "A=1@O=Hannover Hbf@X=9741017@Y=52376764@U=80@L=8000152@",
|
||||
"extId": "8000152",
|
||||
"lon": 9.741017,
|
||||
"lat": 52.376764,
|
||||
"routeIdx": 8,
|
||||
"prognosisType": "PROGNOSED",
|
||||
"time": "18:10:00",
|
||||
"date": "2019-08-23",
|
||||
"tz": 120,
|
||||
"track": "2",
|
||||
"rtTime": "18:11:00",
|
||||
"rtDate": "2019-08-23",
|
||||
"rtTz": 120,
|
||||
"rtAlighting": true
|
||||
},
|
||||
"Notes": {
|
||||
"Note": [
|
||||
{
|
||||
"value": "Fahrradmitnahme begrenzt möglich",
|
||||
"key": "FB",
|
||||
"type": "A",
|
||||
"priority": 260,
|
||||
"routeIdxFrom": 6,
|
||||
"routeIdxTo": 8
|
||||
},
|
||||
{
|
||||
"value": "Rollstuhlstellplatz",
|
||||
"key": "RO",
|
||||
"type": "A",
|
||||
"priority": 560,
|
||||
"routeIdxFrom": 6,
|
||||
"routeIdxTo": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
"JourneyDetailRef": {
|
||||
"ref": "1|272481|0|80|23082019"
|
||||
},
|
||||
"JourneyStatus": "P",
|
||||
"Product": {
|
||||
"name": "erx83476",
|
||||
"num": "83476",
|
||||
"catOut": "erx",
|
||||
"catIn": "DPN",
|
||||
"catCode": "3",
|
||||
"catOutS": "DPN",
|
||||
"catOutL": "erixx",
|
||||
"operatorCode": "DPN",
|
||||
"operator": "erixx",
|
||||
"admin": "X2____"
|
||||
},
|
||||
"Polyline": {
|
||||
"crd": [
|
||||
9.953495,
|
||||
52.160627,
|
||||
9.842595,
|
||||
52.232604,
|
||||
9.741017,
|
||||
52.376764
|
||||
],
|
||||
"delta": false,
|
||||
"dim": 2,
|
||||
"type": "WGS84",
|
||||
"crdEncS": "NNN"
|
||||
},
|
||||
"Stops": {
|
||||
"Stop": [
|
||||
{
|
||||
"name": "Hildesheim Hbf",
|
||||
"id": "A=1@O=Hildesheim Hbf@X=9953495@Y=52160627@U=80@L=8000169@",
|
||||
"extId": "8000169",
|
||||
"routeIdx": 6,
|
||||
"lon": 9.953495,
|
||||
"lat": 52.160627,
|
||||
"depPrognosisType": "PROGNOSED",
|
||||
"depTime": "17:44:00",
|
||||
"depDate": "2019-08-23",
|
||||
"depTz": 120,
|
||||
"depTrack": "3",
|
||||
"rtDepTime": "17:45:00",
|
||||
"rtDepDate": "2019-08-23",
|
||||
"rtBoarding": true
|
||||
},
|
||||
{
|
||||
"name": "Sarstedt",
|
||||
"id": "A=1@O=Sarstedt@X=9842595@Y=52232604@U=80@L=8005292@",
|
||||
"extId": "8005292",
|
||||
"routeIdx": 7,
|
||||
"lon": 9.842595,
|
||||
"lat": 52.232604,
|
||||
"arrPrognosisType": "PROGNOSED",
|
||||
"depPrognosisType": "PROGNOSED",
|
||||
"depTime": "17:56:00",
|
||||
"depDate": "2019-08-23",
|
||||
"depTz": 120,
|
||||
"arrTime": "17:56:00",
|
||||
"arrDate": "2019-08-23",
|
||||
"arrTz": 120,
|
||||
"arrTrack": "1",
|
||||
"depTrack": "1",
|
||||
"rtDepTime": "17:57:00",
|
||||
"rtDepDate": "2019-08-23",
|
||||
"rtArrTime": "17:57:00",
|
||||
"rtArrDate": "2019-08-23",
|
||||
"rtAlighting": true,
|
||||
"rtBoarding": true
|
||||
},
|
||||
{
|
||||
"name": "Hannover Hbf",
|
||||
"id": "A=1@O=Hannover Hbf@X=9741017@Y=52376764@U=80@L=8000152@",
|
||||
"extId": "8000152",
|
||||
"routeIdx": 8,
|
||||
"lon": 9.741017,
|
||||
"lat": 52.376764,
|
||||
"arrPrognosisType": "PROGNOSED",
|
||||
"arrTime": "18:10:00",
|
||||
"arrDate": "2019-08-23",
|
||||
"arrTz": 120,
|
||||
"arrTrack": "2",
|
||||
"rtArrTime": "18:11:00",
|
||||
"rtArrDate": "2019-08-23",
|
||||
"rtAlighting": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"idx": 0,
|
||||
"name": "erx83476",
|
||||
"number": "83476",
|
||||
"category": "DPN",
|
||||
"type": "JNY",
|
||||
"reachable": true,
|
||||
"direction": "Hannover Hbf"
|
||||
}
|
||||
]
|
||||
},
|
||||
"idx": 0,
|
||||
"tripId": "C-0",
|
||||
"ctxRecon": "T$A=1@O=Hildesheim Hbf@L=8000169@a=128@$A=1@O=Hannover Hbf@L=8000152@a=128@$201908231744$201908231810$erx83476$$1$",
|
||||
"duration": "PT26M",
|
||||
"checksum": "d3b9a458_3"
|
||||
}
|
||||
],
|
||||
"scrB": "1|OB|MTµ11µ374024µ374024µ374050µ374050µ0µ0µ165µ374018µ1µ-2147482610µ0µ1µ2|PDHµ3abb7e01fc6c29145882f2d490780e90|RDµ23082019|RTµ173813",
|
||||
"scrF": "1|OF|MTµ11µ374024µ374024µ374050µ374050µ0µ0µ165µ374018µ1µ-2147482610µ0µ1µ2|PDHµ3abb7e01fc6c29145882f2d490780e90|RDµ23082019|RTµ173813",
|
||||
"serverVersion": "1.14",
|
||||
"dialectVersion": "1.23",
|
||||
"requestId": "1566574693925"
|
||||
}
|
637
test/fixtures/db-stop.js
vendored
637
test/fixtures/db-stop.js
vendored
|
@ -1,637 +0,0 @@
|
|||
const facilities = {
|
||||
'3SZentrale': '030/2971055',
|
||||
'parkingLots': true,
|
||||
'bicycleParkingRacks': true,
|
||||
'localPublicTransport': true,
|
||||
'toilets': true,
|
||||
'lockers': true,
|
||||
'travelShop': false,
|
||||
'stepFreeAccess': true,
|
||||
'boardingAid': 'ja, um voranmeldung unter 01806 512 512* wird gebeten',
|
||||
'taxis': true,
|
||||
};
|
||||
|
||||
const reisezentrumOpeningHours = {
|
||||
Mo: '08:00-20:00',
|
||||
Di: '08:00-20:00',
|
||||
Mi: '08:00-20:00',
|
||||
Do: '08:00-20:00',
|
||||
Fr: '08:00-20:00',
|
||||
Sa: '10:00-18:00',
|
||||
So: '10:00-18:00',
|
||||
raw: [
|
||||
['Mo', '08:00-20:00'],
|
||||
['Di', '08:00-20:00'],
|
||||
['Mi', '08:00-20:00'],
|
||||
['Do', '08:00-20:00'],
|
||||
['Fr', '08:00-20:00'],
|
||||
['Sa', '10:00-18:00'],
|
||||
['So', '10:00-18:00'],
|
||||
],
|
||||
};
|
||||
|
||||
const station = {
|
||||
type: 'station',
|
||||
id: '8011155',
|
||||
name: 'Berlin Alexanderplatz',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8011155',
|
||||
latitude: 52.521526,
|
||||
longitude: 13.411088,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
transitAuthority: 'VBB',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100003',
|
||||
VBB: '900100003',
|
||||
},
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
};
|
||||
|
||||
const dbStop = {
|
||||
...station,
|
||||
stops: [{
|
||||
type: 'stop',
|
||||
id: '372948',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100731',
|
||||
VBB: '900100731',
|
||||
},
|
||||
name: 'Alexanderpl (S+U)/Memhardstr.[4-5], Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '372948',
|
||||
latitude: 52.523513,
|
||||
longitude: 13.411366,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '727273',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100026',
|
||||
VBB: '900100026',
|
||||
},
|
||||
name: 'Alexanderplatz Bahnhof (S+U)/Gontardstr., Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '727273',
|
||||
latitude: 52.52087,
|
||||
longitude: 13.411609,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '727460',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100024',
|
||||
VBB: '900100024',
|
||||
},
|
||||
name: 'Alexanderplatz Bahnhof (S+U)/Dircksenstr., Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '727460',
|
||||
latitude: 52.521967,
|
||||
longitude: 13.41116,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '727484',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100031',
|
||||
VBB: '900100031',
|
||||
},
|
||||
name: 'Alexanderplatz Bahnhof (S+U)/Memhardstr., Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '727484',
|
||||
latitude: 52.522722,
|
||||
longitude: 13.410288,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '728658',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100707',
|
||||
VBB: '900100707',
|
||||
},
|
||||
name: 'Alexanderplatz [Bus] (U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '728658',
|
||||
latitude: 52.52318,
|
||||
longitude: 13.413946,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '728659',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100703',
|
||||
VBB: '900100703',
|
||||
},
|
||||
name: 'Alexanderplatz [U2] (S+U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '728659',
|
||||
latitude: 52.521742,
|
||||
longitude: 13.414045,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '728660',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100704',
|
||||
VBB: '900100704',
|
||||
},
|
||||
name: 'Alexanderplatz [U5] (S+U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '728660',
|
||||
latitude: 52.521661,
|
||||
longitude: 13.414045,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '728735',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100712',
|
||||
VBB: '900100712',
|
||||
},
|
||||
name: 'Alexanderpl. (S+U)/Grunerstr. [Alexanderstr.], Ber',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '728735',
|
||||
latitude: 52.520322,
|
||||
longitude: 13.415708,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '732533',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100705',
|
||||
VBB: '900100705',
|
||||
},
|
||||
name: 'Alexanderplatz [U8] (S+U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '732533',
|
||||
latitude: 52.521023,
|
||||
longitude: 13.412661,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '732535',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100005',
|
||||
VBB: '900100005',
|
||||
},
|
||||
name: 'Alexanderplatz [Tram] (U), Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '732535',
|
||||
latitude: 52.522119,
|
||||
longitude: 13.414683,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '732536',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100711',
|
||||
VBB: '900100711',
|
||||
},
|
||||
name: 'Alexanderplatz (S+U)/Grunerstr., Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '732536',
|
||||
latitude: 52.520825,
|
||||
longitude: 13.414926,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
station,
|
||||
transitAuthority: 'VBB',
|
||||
facilities,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '8089001',
|
||||
ids: {
|
||||
dhid: 'de:11000:900100003',
|
||||
VBB: '900100003',
|
||||
},
|
||||
name: 'Berlin Alexanderplatz (S)',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '8089001',
|
||||
latitude: 52.521643,
|
||||
longitude: 13.411097,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: true,
|
||||
suburban: true,
|
||||
bus: true,
|
||||
ferry: false,
|
||||
subway: true,
|
||||
tram: true,
|
||||
taxi: false,
|
||||
},
|
||||
transitAuthority: 'VBB',
|
||||
station,
|
||||
facilities,
|
||||
reisezentrumOpeningHours,
|
||||
}, {
|
||||
type: 'stop',
|
||||
id: '732594',
|
||||
ids: {
|
||||
VBB: '900100517',
|
||||
},
|
||||
name: 'Otto-Braun-Str./Alexanderplatz, Berlin',
|
||||
location: {
|
||||
type: 'location',
|
||||
id: '732594',
|
||||
latitude: 52.522066,
|
||||
longitude: 13.41658,
|
||||
},
|
||||
products: {
|
||||
nationalExpress: false,
|
||||
national: false,
|
||||
regionalExpress: false,
|
||||
regional: false,
|
||||
suburban: false,
|
||||
bus: false,
|
||||
ferry: false,
|
||||
subway: false,
|
||||
tram: false,
|
||||
taxi: false,
|
||||
},
|
||||
transitAuthority: 'VBB',
|
||||
}],
|
||||
entrances: [{
|
||||
type: 'location', id: '608011155',
|
||||
latitude: 52.521814, longitude: 13.411456,
|
||||
}, {
|
||||
type: 'location', id: '718011155',
|
||||
latitude: 52.521373, longitude: 13.413317,
|
||||
}, {
|
||||
type: 'location', id: '708011155',
|
||||
latitude: 52.522317, longitude: 13.412895,
|
||||
}, {
|
||||
type: 'location', id: '698011155',
|
||||
latitude: 52.520852, longitude: 13.412274,
|
||||
}, {
|
||||
type: 'location', id: '688011155',
|
||||
latitude: 52.521176, longitude: 13.412463,
|
||||
}, {
|
||||
type: 'location', id: '678011155',
|
||||
latitude: 52.520933, longitude: 13.41285,
|
||||
}, {
|
||||
type: 'location', id: '668011155',
|
||||
latitude: 52.520798, longitude: 13.411717,
|
||||
}, {
|
||||
type: 'location', id: '658011155',
|
||||
latitude: 52.52096, longitude: 13.414908,
|
||||
}, {
|
||||
type: 'location', id: '648011155',
|
||||
latitude: 52.521724, longitude: 13.41027,
|
||||
}, {
|
||||
type: 'location', id: '638011155',
|
||||
latitude: 52.52211, longitude: 13.410881,
|
||||
}, {
|
||||
type: 'location', id: '628011155',
|
||||
latitude: 52.522119, longitude: 13.414647,
|
||||
}, {
|
||||
type: 'location', id: '618011155',
|
||||
latitude: 52.521409, longitude: 13.410728,
|
||||
}, {
|
||||
type: 'location', id: '8089001',
|
||||
latitude: 52.521643, longitude: 13.411097,
|
||||
}, {
|
||||
type: 'location', id: '608089001',
|
||||
latitude: 52.521409, longitude: 13.410728,
|
||||
}, {
|
||||
type: 'location', id: '718089001',
|
||||
latitude: 52.521373, longitude: 13.413317,
|
||||
}, {
|
||||
type: 'location', id: '708089001',
|
||||
latitude: 52.522317, longitude: 13.412895,
|
||||
}, {
|
||||
type: 'location', id: '698089001',
|
||||
latitude: 52.520852, longitude: 13.412274,
|
||||
}, {
|
||||
type: 'location', id: '688089001',
|
||||
latitude: 52.521176, longitude: 13.412463,
|
||||
}, {
|
||||
type: 'location', id: '678089001',
|
||||
latitude: 52.520933, longitude: 13.41285,
|
||||
}, {
|
||||
type: 'location', id: '668089001',
|
||||
latitude: 52.520798, longitude: 13.411717,
|
||||
}, {
|
||||
type: 'location', id: '658089001',
|
||||
latitude: 52.52096, longitude: 13.414908,
|
||||
}, {
|
||||
type: 'location', id: '648089001',
|
||||
latitude: 52.521724, longitude: 13.41027,
|
||||
}, {
|
||||
type: 'location', id: '638089001',
|
||||
latitude: 52.52211, longitude: 13.410881,
|
||||
}, {
|
||||
type: 'location', id: '628089001',
|
||||
latitude: 52.522119, longitude: 13.414647,
|
||||
}, {
|
||||
type: 'location', id: '618089001',
|
||||
latitude: 52.521814, longitude: 13.411456,
|
||||
}, {
|
||||
type: 'location', id: '600732533',
|
||||
latitude: 52.520933, longitude: 13.41285,
|
||||
}, {
|
||||
type: 'location', id: '710732533',
|
||||
latitude: 52.522317, longitude: 13.412895,
|
||||
}, {
|
||||
type: 'location', id: '700732533',
|
||||
latitude: 52.520852, longitude: 13.412274,
|
||||
}, {
|
||||
type: 'location', id: '690732533',
|
||||
latitude: 52.520798, longitude: 13.411717,
|
||||
}, {
|
||||
type: 'location', id: '680732533',
|
||||
latitude: 52.52096, longitude: 13.414908,
|
||||
}, {
|
||||
type: 'location', id: '670732533',
|
||||
latitude: 52.521724, longitude: 13.41027,
|
||||
}, {
|
||||
type: 'location', id: '660732533',
|
||||
latitude: 52.52211, longitude: 13.410881,
|
||||
}, {
|
||||
type: 'location', id: '650732533',
|
||||
latitude: 52.521409, longitude: 13.410728,
|
||||
}, {
|
||||
type: 'location', id: '640732533',
|
||||
latitude: 52.521814, longitude: 13.411456,
|
||||
}, {
|
||||
type: 'location', id: '630732533',
|
||||
latitude: 52.522119, longitude: 13.414647,
|
||||
}, {
|
||||
type: 'location', id: '620732533',
|
||||
latitude: 52.521373, longitude: 13.413317,
|
||||
}, {
|
||||
type: 'location', id: '610732533',
|
||||
latitude: 52.521176, longitude: 13.412463,
|
||||
}, {
|
||||
type: 'location', id: '600728660',
|
||||
latitude: 52.521373, longitude: 13.413317,
|
||||
}, {
|
||||
type: 'location', id: '710728660',
|
||||
latitude: 52.520852, longitude: 13.412274,
|
||||
}, {
|
||||
type: 'location', id: '700728660',
|
||||
latitude: 52.521176, longitude: 13.412463,
|
||||
}, {
|
||||
type: 'location', id: '690728660',
|
||||
latitude: 52.520933, longitude: 13.41285,
|
||||
}, {
|
||||
type: 'location', id: '680728660',
|
||||
latitude: 52.520798, longitude: 13.411717,
|
||||
}, {
|
||||
type: 'location', id: '670728660',
|
||||
latitude: 52.521724, longitude: 13.41027,
|
||||
}, {
|
||||
type: 'location', id: '660728660',
|
||||
latitude: 52.52211, longitude: 13.410881,
|
||||
}, {
|
||||
type: 'location', id: '650728660',
|
||||
latitude: 52.521409, longitude: 13.410728,
|
||||
}, {
|
||||
type: 'location', id: '640728660',
|
||||
latitude: 52.521814, longitude: 13.411456,
|
||||
}, {
|
||||
type: 'location', id: '630728660',
|
||||
latitude: 52.522317, longitude: 13.412895,
|
||||
}, {
|
||||
type: 'location', id: '620728660',
|
||||
latitude: 52.522119, longitude: 13.414647,
|
||||
}, {
|
||||
type: 'location', id: '610728660',
|
||||
latitude: 52.52096, longitude: 13.414908,
|
||||
}, {
|
||||
type: 'location', id: '600728659',
|
||||
latitude: 52.522119, longitude: 13.414647,
|
||||
}, {
|
||||
type: 'location', id: '710728659',
|
||||
latitude: 52.520852, longitude: 13.412274,
|
||||
}, {
|
||||
type: 'location', id: '700728659',
|
||||
latitude: 52.521176, longitude: 13.412463,
|
||||
}, {
|
||||
type: 'location', id: '690728659',
|
||||
latitude: 52.520933, longitude: 13.41285,
|
||||
}, {
|
||||
type: 'location', id: '680728659',
|
||||
latitude: 52.520798, longitude: 13.411717,
|
||||
}, {
|
||||
type: 'location', id: '670728659',
|
||||
latitude: 52.521724, longitude: 13.41027,
|
||||
}, {
|
||||
type: 'location', id: '660728659',
|
||||
latitude: 52.52211, longitude: 13.410881,
|
||||
}, {
|
||||
type: 'location', id: '650728659',
|
||||
latitude: 52.521409, longitude: 13.410728,
|
||||
}, {
|
||||
type: 'location', id: '640728659',
|
||||
latitude: 52.521814, longitude: 13.411456,
|
||||
}, {
|
||||
type: 'location', id: '630728659',
|
||||
latitude: 52.521373, longitude: 13.413317,
|
||||
}, {
|
||||
type: 'location', id: '620728659',
|
||||
latitude: 52.52096, longitude: 13.414908,
|
||||
}, {
|
||||
type: 'location', id: '610728659',
|
||||
latitude: 52.522317, longitude: 13.412895,
|
||||
}],
|
||||
};
|
||||
|
||||
export {
|
||||
dbStop,
|
||||
};
|
15439
test/fixtures/db-stop.json
vendored
15439
test/fixtures/db-stop.json
vendored
File diff suppressed because it is too large
Load diff
|
@ -9,6 +9,7 @@ const profile = {
|
|||
name: 'InterCityExpress',
|
||||
short: 'ICE',
|
||||
vendo: 'ICE',
|
||||
ris: 'HIGH_SPEED_TRAIN',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
|
@ -17,6 +18,7 @@ const profile = {
|
|||
name: 'Bus',
|
||||
short: 'B',
|
||||
vendo: 'BUS',
|
||||
ris: 'BUS',
|
||||
default: true,
|
||||
},
|
||||
],
|
||||
|
@ -55,7 +57,7 @@ tap.test('parses ICE leg correctly', (t) => {
|
|||
};
|
||||
const expected = {
|
||||
type: 'line',
|
||||
id: 'foo',
|
||||
id: 'ice-229',
|
||||
fahrtNr: 229,
|
||||
name: 'ICE 229',
|
||||
public: true,
|
||||
|
@ -86,7 +88,7 @@ tap.test('parses Bus trip correctly', (t) => {
|
|||
};
|
||||
const expected = {
|
||||
type: 'line',
|
||||
id: undefined,
|
||||
id: '',
|
||||
fahrtNr: undefined,
|
||||
name: 'Bus 807',
|
||||
public: true,
|
||||
|
@ -127,7 +129,7 @@ tap.test('parses Bus leg correctly', (t) => {
|
|||
};
|
||||
const expected = {
|
||||
type: 'line',
|
||||
id: 'foo',
|
||||
id: 'bus-807',
|
||||
fahrtNr: '807',
|
||||
name: 'Bus 807',
|
||||
public: true,
|
||||
|
@ -140,3 +142,35 @@ tap.test('parses Bus leg correctly', (t) => {
|
|||
t.same(parse(ctx, input), expected);
|
||||
t.end();
|
||||
});
|
||||
|
||||
|
||||
|
||||
tap.test('parses ris entry correctly', (t) => {
|
||||
const input = {
|
||||
"journeyID": "20241207-79693bf3-2ed5-325f-8a99-154bad5f5cf3",
|
||||
"transport": {
|
||||
"type": "HIGH_SPEED_TRAIN",
|
||||
"journeyDescription": "RB 51 (15538)",
|
||||
"label": "",
|
||||
"category": "RB",
|
||||
"categoryInternal": "RB",
|
||||
"number": 15538,
|
||||
"line": "51",
|
||||
"replacementTransport": null,
|
||||
}
|
||||
};
|
||||
const expected = {
|
||||
type: 'line',
|
||||
id: 'rb-51-15538',
|
||||
fahrtNr: 15538,
|
||||
name: 'RB 51 (15538)',
|
||||
public: true,
|
||||
product: 'nationalExpress',
|
||||
productName: 'RB',
|
||||
mode: 'train',
|
||||
operator: null
|
||||
};
|
||||
|
||||
t.same(parse(ctx, input), expected);
|
||||
t.end();
|
||||
});
|
||||
|
|
|
@ -118,3 +118,75 @@ tap.test('parses zugattribute correctly', (t) => {
|
|||
t.same(parse(ctx, input), expected);
|
||||
t.end();
|
||||
});
|
||||
|
||||
|
||||
tap.test('parses board disruptions correctly', (t) => {
|
||||
const input = { disruptions: [
|
||||
{
|
||||
"disruptionID": "9aee61d6-700e-3c19-aaa0-019f5612df4c",
|
||||
"disruptionCommunicationID": null,
|
||||
"displayPriority": 25,
|
||||
"descriptions": {
|
||||
"DE": {
|
||||
"text": "Eine Reparatur an einem Signal verzögert den Zugverkehr",
|
||||
"textShort": "Verzögerungen durch Reparatur an einem Signal"
|
||||
}
|
||||
}
|
||||
}
|
||||
]};
|
||||
const expected = [{
|
||||
"code": undefined,
|
||||
"summary": "Verzögerungen durch Reparatur an einem Signal",
|
||||
"text": "Eine Reparatur an einem Signal verzögert den Zugverkehr",
|
||||
"type": "warning",
|
||||
}];
|
||||
|
||||
t.same(parse(ctx, input), expected);
|
||||
t.end();
|
||||
});
|
||||
|
||||
|
||||
tap.test('parses board messages correctly', (t) => {
|
||||
const input = { messages: [
|
||||
{
|
||||
"code": "80",
|
||||
"type": "QUALITY_VARIATION",
|
||||
"displayPriority": null,
|
||||
"category": null,
|
||||
"text": "Andere Reihenfolge der Wagen",
|
||||
"textShort": null
|
||||
}
|
||||
]};
|
||||
const expected = [{
|
||||
"code": 80,
|
||||
"summary": "Andere Reihenfolge der Wagen",
|
||||
"text": "Andere Reihenfolge der Wagen",
|
||||
"type": "status",
|
||||
}];
|
||||
|
||||
t.same(parse(ctx, input), expected);
|
||||
t.end();
|
||||
});
|
||||
|
||||
tap.test('parses ris attributes correctly', (t) => {
|
||||
const input = { attributes: [
|
||||
{
|
||||
"displayPriority": null,
|
||||
"displayPriorityDetail": null,
|
||||
"code": "CK",
|
||||
"text": "Komfort Check-in verfügbar - wenn möglich bitte einchecken",
|
||||
"textShort": null
|
||||
}
|
||||
]};
|
||||
const expected = [{
|
||||
//"code": "komfort-checkin",
|
||||
"code": "CK",
|
||||
//"summary": "Komfort-Checkin available",
|
||||
"summary": "Komfort Check-in verfügbar - wenn möglich bitte einchecken",
|
||||
"text": "Komfort Check-in verfügbar - wenn möglich bitte einchecken",
|
||||
"type": "hint",
|
||||
}];
|
||||
|
||||
t.same(parse(ctx, input), expected);
|
||||
t.end();
|
||||
});
|
Loading…
Add table
Reference in a new issue