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
|
package-lock.json
|
||||||
|
|
||||||
/.tap
|
/.tap
|
||||||
|
*.ign.*
|
|
@ -2,9 +2,13 @@ const formatLocationsReq = (ctx, query) => {
|
||||||
const {profile, opt} = ctx;
|
const {profile, opt} = ctx;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
endpoint: profile.locationsEndpoint,
|
||||||
|
query: {
|
||||||
typ: profile.formatLocationFilter(opt.stops, opt.addresses, opt.poi),
|
typ: profile.formatLocationFilter(opt.stops, opt.addresses, opt.poi),
|
||||||
suchbegriff: query,
|
suchbegriff: query,
|
||||||
limit: opt.results,
|
limit: opt.results,
|
||||||
|
},
|
||||||
|
method: 'get'
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ const formatNearbyReq = (ctx, location) => {
|
||||||
const {profile, opt} = ctx;
|
const {profile, opt} = ctx;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
endpoint: profile.nearbyEndpoint,
|
||||||
|
query: {
|
||||||
long: location.longitude,
|
long: location.longitude,
|
||||||
lat: location.latitude,
|
lat: location.latitude,
|
||||||
radius: opt.distance || undefined,
|
radius: opt.distance || undefined,
|
||||||
|
@ -9,6 +11,8 @@ const formatNearbyReq = (ctx, location) => {
|
||||||
// TODO getPOIs: Boolean(opt.poi),
|
// TODO getPOIs: Boolean(opt.poi),
|
||||||
// TODO getStops: Boolean(opt.stops),
|
// TODO getStops: Boolean(opt.stops),
|
||||||
maxNo: opt.results,
|
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 hasProp = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
|
||||||
|
|
||||||
const formatProductsFilter = (ctx, filter) => {
|
const formatProductsFilter = (ctx, filter, key='vendo') => {
|
||||||
if (!isObj(filter)) {
|
if (!isObj(filter)) {
|
||||||
throw new TypeError('products filter must be an object');
|
throw new TypeError('products filter must be an object');
|
||||||
}
|
}
|
||||||
|
@ -17,18 +17,23 @@ const formatProductsFilter = (ctx, filter) => {
|
||||||
filter = Object.assign({}, defaultProducts, filter);
|
filter = Object.assign({}, defaultProducts, filter);
|
||||||
|
|
||||||
let products = [];
|
let products = [];
|
||||||
|
let foundDeselected = false;
|
||||||
for (let product in filter) {
|
for (let product in filter) {
|
||||||
if (!hasProp(filter, product) || filter[product] !== true) {
|
if (!hasProp(filter, product) || filter[product] !== true) {
|
||||||
|
foundDeselected = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!byProduct[product]) {
|
if (!byProduct[product]) {
|
||||||
throw new TypeError('unknown product ' + product);
|
throw new TypeError('unknown product ' + product);
|
||||||
}
|
}
|
||||||
products.push(byProduct[product].vendo);
|
products.push(byProduct[product][key]);
|
||||||
}
|
}
|
||||||
if (products.length === 0) {
|
if (products.length === 0) {
|
||||||
throw new Error('no products used');
|
throw new Error('no products used');
|
||||||
}
|
}
|
||||||
|
if (!foundDeselected && key == 'ris') {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
return products;
|
return products;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,39 +1,26 @@
|
||||||
const formatStationBoardReq = (ctx, station, type) => {
|
const formatStationBoardReq = (ctx, station, type) => {
|
||||||
const {profile, opt} = ctx;
|
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 {
|
return {
|
||||||
meth: 'StationBoard',
|
endpoint: profile.boardEndpoint,
|
||||||
req,
|
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';
|
import {luxonIANAZonesByProfile as timezones} from '../lib/luxon-timezones.js';
|
||||||
|
|
||||||
// todo: change to `(profile) => (when) => {}`
|
// todo: change to `(profile) => (when) => {}`
|
||||||
const formatTime = (profile, when) => {
|
const formatTime = (profile, when, includeOffset = false) => {
|
||||||
let timezone;
|
let timezone;
|
||||||
if (timezones.has(profile)) {
|
if (timezones.has(profile)) {
|
||||||
timezone = timezones.get(profile);
|
timezone = timezones.get(profile);
|
||||||
|
@ -16,7 +16,8 @@ const formatTime = (profile, when) => {
|
||||||
locale: profile.locale,
|
locale: profile.locale,
|
||||||
zone: timezone,
|
zone: timezone,
|
||||||
})
|
})
|
||||||
.toISO({ includeOffset: false, suppressMilliseconds: true })
|
.startOf('second')
|
||||||
|
.toISO({ includeOffset: includeOffset, suppressMilliseconds: true })
|
||||||
};
|
};
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
|
40
index.js
40
index.js
|
@ -47,11 +47,9 @@ const createClient = (profile, userAgent, opt = {}) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const _stationBoard = async (station, type, resultsField, parse, opt = {}) => {
|
const _stationBoard = async (station, type, resultsField, parse, opt = {}) => {
|
||||||
if (isObj(station)) {
|
if (isObj(station) && station.id) {
|
||||||
station = profile.formatStation(station.id);
|
station = station.id;
|
||||||
} else if ('string' === typeof station) {
|
} else if ('string' !== typeof station) {
|
||||||
station = profile.formatStation(station);
|
|
||||||
} else {
|
|
||||||
throw new TypeError('station must be an object or a string.');
|
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');
|
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 {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||||
|
|
||||||
const ctx = {profile, opt, common, res};
|
const ctx = {profile, opt, common, res};
|
||||||
const jnyL = Array.isArray(res.jnyL)
|
const results = res[resultsField].map(res => parse(ctx, res)); // todo sort?
|
||||||
? res.jnyL
|
|
||||||
: [];
|
|
||||||
const results = jnyL.map(res => parse(ctx, res))
|
|
||||||
.sort((a, b) => new Date(a.when) - new Date(b.when)); // todo
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
[resultsField]: results,
|
[resultsField]: results,
|
||||||
realtimeDataUpdatedAt: res.planrtTS && res.planrtTS !== '0'
|
realtimeDataUpdatedAt: null, // TODO
|
||||||
? parseInt(res.planrtTS)
|
|
||||||
: null,
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -217,12 +209,8 @@ const createClient = (profile, userAgent, opt = {}) => {
|
||||||
if (opt.results !== null) {
|
if (opt.results !== null) {
|
||||||
// TODO query.numF = opt.results;
|
// TODO query.numF = opt.results;
|
||||||
}
|
}
|
||||||
|
const req = profile.transformJourneysQuery({profile, opt}, query);
|
||||||
const {res, common} = await profile.request({profile, opt}, userAgent, {
|
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||||
endpoint: profile.journeysEndpoint,
|
|
||||||
body: profile.transformJourneysQuery({profile, opt}, query),
|
|
||||||
method: 'post'
|
|
||||||
});
|
|
||||||
const ctx = {profile, opt, common, res};
|
const ctx = {profile, opt, common, res};
|
||||||
const journeys = res.verbindungen
|
const journeys = res.verbindungen
|
||||||
.map(j => profile.parseJourney(ctx, j));
|
.map(j => profile.parseJourney(ctx, j));
|
||||||
|
@ -428,11 +416,7 @@ const createClient = (profile, userAgent, opt = {}) => {
|
||||||
}, opt);
|
}, opt);
|
||||||
const req = profile.formatLocationsReq({profile, opt}, query);
|
const req = profile.formatLocationsReq({profile, opt}, query);
|
||||||
|
|
||||||
const {res, common} = await profile.request({profile, opt}, userAgent, {
|
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||||
endpoint: profile.locationsEndpoint,
|
|
||||||
query: req,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
const ctx = {profile, opt, common, res};
|
const ctx = {profile, opt, common, res};
|
||||||
|
@ -483,11 +467,7 @@ const createClient = (profile, userAgent, opt = {}) => {
|
||||||
}, opt);
|
}, opt);
|
||||||
|
|
||||||
const req = profile.formatNearbyReq({profile, opt}, location);
|
const req = profile.formatNearbyReq({profile, opt}, location);
|
||||||
const {res, common} = await profile.request({profile, opt}, userAgent, {
|
const {res, common} = await profile.request({profile, opt}, userAgent, req);
|
||||||
endpoint: profile.nearbyEndpoint,
|
|
||||||
query: req,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
|
|
||||||
const ctx = {profile, opt, common, res};
|
const ctx = {profile, opt, common, res};
|
||||||
const results = res.map(loc => profile.parseLocation(ctx, loc));
|
const results = res.map(loc => profile.parseLocation(ctx, loc));
|
||||||
|
|
|
@ -116,12 +116,14 @@ const request = async (ctx, userAgent, reqData) => {
|
||||||
? randomizeUserAgent(userAgent)
|
? randomizeUserAgent(userAgent)
|
||||||
: userAgent,
|
: userAgent,
|
||||||
'connection': 'keep-alive', // prevent excessive re-connecting
|
'connection': 'keep-alive', // prevent excessive re-connecting
|
||||||
|
...reqData.headers,
|
||||||
},
|
},
|
||||||
redirect: 'follow',
|
redirect: 'follow',
|
||||||
query: reqData.query,
|
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)
|
const reqId = randomBytes(3)
|
||||||
.toString('hex');
|
.toString('hex');
|
||||||
const fetchReq = new Request(url, req);
|
const fetchReq = new Request(url, req);
|
||||||
|
@ -147,7 +149,7 @@ const request = async (ctx, userAgent, reqData) => {
|
||||||
let cType = res.headers.get('content-type');
|
let cType = res.headers.get('content-type');
|
||||||
if (cType) {
|
if (cType) {
|
||||||
const {type} = parseContentType(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);
|
throw new HafasError('invalid/unsupported response content-type: ' + cType, null, errProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
"journeysEndpoint": "https://int.bahn.de/web/api/angebote/fahrplan",
|
"journeysEndpoint": "https://int.bahn.de/web/api/angebote/fahrplan",
|
||||||
"locationsEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte",
|
"locationsEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte",
|
||||||
"nearbyEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte/nearby",
|
"nearbyEndpoint": "https://int.bahn.de/web/api/reiseloesung/orte/nearby",
|
||||||
|
"boardEndpoint": "https://apis.deutschebahn.com/db/apis/ris-boards/v1/public/",
|
||||||
"defaultLanguage": "en"
|
"defaultLanguage": "en"
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,18 +151,21 @@ loadFactors[3] = 'very-high';
|
||||||
loadFactors[4] = 'exceptionally-high';
|
loadFactors[4] = 'exceptionally-high';
|
||||||
|
|
||||||
const parseLoadFactor = (opt, auslastung) => {
|
const parseLoadFactor = (opt, auslastung) => {
|
||||||
|
if (!auslastung) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
const cls = opt.firstClass
|
const cls = opt.firstClass
|
||||||
? 'KLASSE_1'
|
? 'KLASSE_1'
|
||||||
: 'KLASSE_2';
|
: '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;
|
return load && loadFactors[load.r] || null;
|
||||||
};
|
};
|
||||||
|
|
||||||
const parseArrOrDepWithLoadFactor = ({parsed, res, opt}, d) => {
|
const parseArrOrDepWithLoadFactor = ({parsed, res, opt}, d) => {
|
||||||
const load = parseLoadFactor(opt, d);
|
/*const load = parseLoadFactor(opt, d);
|
||||||
if (load) {
|
if (load) {
|
||||||
parsed.loadFactor = load;
|
parsed.loadFactor = load;
|
||||||
}
|
}*/ // TODO
|
||||||
return parsed;
|
return parsed;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -200,10 +203,13 @@ Pass in just opt.age, and the age group will calculated automatically.`);
|
||||||
return basicCtrfReq;
|
return basicCtrfReq;
|
||||||
};
|
};
|
||||||
|
|
||||||
const transformJourneysQuery = ({opt}, query) => {
|
const transformJourneysQuery = ({profile, opt}, query) => {
|
||||||
query = Object.assign(query, trfReq(opt, false));
|
query = Object.assign(query, trfReq(opt, false));
|
||||||
|
return {
|
||||||
return query;
|
endpoint: profile.journeysEndpoint,
|
||||||
|
body: query,
|
||||||
|
method: 'post'
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
const formatRefreshJourneyReq = (ctx, refreshToken) => {
|
const formatRefreshJourneyReq = (ctx, refreshToken) => {
|
||||||
|
|
|
@ -6,6 +6,7 @@ const products = [
|
||||||
name: 'InterCityExpress',
|
name: 'InterCityExpress',
|
||||||
short: 'ICE',
|
short: 'ICE',
|
||||||
vendo: 'ICE',
|
vendo: 'ICE',
|
||||||
|
ris: 'HIGH_SPEED_TRAIN',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -15,6 +16,7 @@ const products = [
|
||||||
name: 'InterCity & EuroCity',
|
name: 'InterCity & EuroCity',
|
||||||
short: 'IC/EC',
|
short: 'IC/EC',
|
||||||
vendo: 'EC_IC',
|
vendo: 'EC_IC',
|
||||||
|
ris: 'INTERCITY_TRAIN',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -24,6 +26,7 @@ const products = [
|
||||||
name: 'RegionalExpress & InterRegio', // FlixTrain??
|
name: 'RegionalExpress & InterRegio', // FlixTrain??
|
||||||
short: 'RE/IR',
|
short: 'RE/IR',
|
||||||
vendo: 'IR',
|
vendo: 'IR',
|
||||||
|
ris: 'INTER_REGIONAL_TRAIN',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -33,6 +36,7 @@ const products = [
|
||||||
name: 'Regio',
|
name: 'Regio',
|
||||||
short: 'RB',
|
short: 'RB',
|
||||||
vendo: 'REGIONAL',
|
vendo: 'REGIONAL',
|
||||||
|
ris: 'REGIONAL_TRAIN',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -42,6 +46,7 @@ const products = [
|
||||||
name: 'S-Bahn',
|
name: 'S-Bahn',
|
||||||
short: 'S',
|
short: 'S',
|
||||||
vendo: 'SBAHN',
|
vendo: 'SBAHN',
|
||||||
|
ris: 'CITY_TRAIN',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -51,6 +56,7 @@ const products = [
|
||||||
name: 'Bus',
|
name: 'Bus',
|
||||||
short: 'B',
|
short: 'B',
|
||||||
vendo: 'BUS',
|
vendo: 'BUS',
|
||||||
|
ris: 'BUS',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -60,6 +66,7 @@ const products = [
|
||||||
name: 'Ferry',
|
name: 'Ferry',
|
||||||
short: 'F',
|
short: 'F',
|
||||||
vendo: 'SCHIFF',
|
vendo: 'SCHIFF',
|
||||||
|
ris: 'FERRY',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -69,6 +76,7 @@ const products = [
|
||||||
name: 'U-Bahn',
|
name: 'U-Bahn',
|
||||||
short: 'U',
|
short: 'U',
|
||||||
vendo: 'UBAHN',
|
vendo: 'UBAHN',
|
||||||
|
ris: 'SUBWAY',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -78,6 +86,7 @@ const products = [
|
||||||
name: 'Tram',
|
name: 'Tram',
|
||||||
short: 'T',
|
short: 'T',
|
||||||
vendo: 'TRAM',
|
vendo: 'TRAM',
|
||||||
|
ris: 'TRAM',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -87,6 +96,7 @@ const products = [
|
||||||
name: 'Group Taxi',
|
name: 'Group Taxi',
|
||||||
short: 'Taxi',
|
short: 'Taxi',
|
||||||
vendo: 'ANRUFPFLICHTIG',
|
vendo: 'ANRUFPFLICHTIG',
|
||||||
|
ris: 'TAXI',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -3,10 +3,6 @@ import {parseRemarks} from './remarks.js';
|
||||||
const ARRIVAL = 'a';
|
const ARRIVAL = 'a';
|
||||||
const DEPARTURE = 'd';
|
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) => {
|
const createParseArrOrDep = (prefix) => {
|
||||||
if (prefix !== ARRIVAL && prefix !== DEPARTURE) {
|
if (prefix !== ARRIVAL && prefix !== DEPARTURE) {
|
||||||
throw new Error('invalid prefix');
|
throw new Error('invalid prefix');
|
||||||
|
@ -14,73 +10,32 @@ const createParseArrOrDep = (prefix) => {
|
||||||
|
|
||||||
const parseArrOrDep = (ctx, d) => { // d = raw arrival/departure
|
const parseArrOrDep = (ctx, d) => { // d = raw arrival/departure
|
||||||
const {profile, opt} = ctx;
|
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 = {
|
const res = {
|
||||||
tripId: d.jid,
|
tripId: d.journeyID,
|
||||||
stop: d.stbStop.location || null,
|
stop: profile.parseLocation(ctx, d.station),
|
||||||
...profile.parseWhen(ctx, d.date, tPlanned, tPrognosed, tzOffset, cancelled),
|
...profile.parseWhen(ctx, null, d.timeSchedule, d.time, d.canceled),
|
||||||
...profile.parsePlatform(ctx, plPlanned, plPrognosed, cancelled),
|
...profile.parsePlatform(ctx, d.platformSchedule, d.platform, d.canceled),
|
||||||
prognosisType: profile.parsePrognosisType(ctx, d.stbStop[prefix + 'ProgType']) || null,
|
//prognosisType: TODO
|
||||||
// todo: for arrivals, this is the *origin*, not the *direction*
|
direction: d.transport?.direction?.stopPlaces?.length > 0 && profile.parseStationName(ctx, d.transport?.direction?.stopPlaces[0].name) || null,
|
||||||
direction: prefix === DEPARTURE && d.dirTxt && profile.parseStationName(ctx, d.dirTxt) || null,
|
provenance: profile.parseStationName(ctx, d.transport?.origin?.name) || null,
|
||||||
provenance: prefix === ARRIVAL && d.dirTxt && profile.parseStationName(ctx, d.dirTxt) || null,
|
line: profile.parseLine(ctx, d) || null,
|
||||||
line: d.line || null,
|
|
||||||
remarks: [],
|
remarks: [],
|
||||||
origin: null,
|
origin: profile.parseLocation(ctx, d.transport?.origin) || null,
|
||||||
destination: null,
|
destination: profile.parseLocation(ctx, d.transport?.destination) || null,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (prefix === DEPARTURE && Array.isArray(d.prodL) && d.prodL[0] && locL[d.prodL[0].tLocX]) {
|
// TODO pos
|
||||||
res.destination = profile.parseLocation(ctx, locL[d.prodL[0].tLocX]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (prefix === ARRIVAL && Array.isArray(d.prodL) && d.prodL[0] && locL[d.prodL[0].fLocX]) {
|
if (d.canceled) {
|
||||||
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) {
|
|
||||||
res.cancelled = true;
|
res.cancelled = true;
|
||||||
Object.defineProperty(res, 'canceled', {value: true});
|
Object.defineProperty(res, 'canceled', {value: true});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt.remarks) {
|
if (opt.remarks) {
|
||||||
res.remarks = parseRemarks(ctx, [
|
res.remarks = parseRemarks(ctx, d);
|
||||||
...d.remL || [],
|
|
||||||
...d.msgL || [],
|
|
||||||
...d.stbStop.remL || [],
|
|
||||||
...d.stbStop.msgL || [],
|
|
||||||
])
|
|
||||||
.map(([remark]) => remark);
|
|
||||||
}
|
}
|
||||||
|
// TODO opt.stopovers
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -4,15 +4,15 @@ const parseLine = (ctx, p) => {
|
||||||
const profile = ctx.profile;
|
const profile = ctx.profile;
|
||||||
const res = {
|
const res = {
|
||||||
type: 'line',
|
type: 'line',
|
||||||
id: slugg(p.verkehrsmittel?.langText), // TODO terrible
|
id: slugg(p.verkehrsmittel?.langText || p.transport?.journeyDescription), // TODO terrible
|
||||||
fahrtNr: p.verkehrsmittel?.nummer,
|
fahrtNr: p.verkehrsmittel?.nummer || p.transport?.number,
|
||||||
name: p.verkehrsmittel?.name || p.zugName,
|
name: p.verkehrsmittel?.name || p.zugName || p.transport?.journeyDescription,
|
||||||
public: true,
|
public: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO res.adminCode
|
// TODO res.adminCode
|
||||||
res.productName = p.verkehrsmittel?.kurzText;
|
res.productName = p.verkehrsmittel?.kurzText || p.transport?.category;
|
||||||
const foundProduct = profile.products.find(pp => pp.vendo == p.verkehrsmittel?.produktGattung)
|
const foundProduct = profile.products.find(pp => pp.vendo == p.verkehrsmittel?.produktGattung || pp.ris == p.transport?.type)
|
||||||
res.mode = foundProduct?.mode;
|
res.mode = foundProduct?.mode;
|
||||||
res.product = foundProduct?.id;
|
res.product = foundProduct?.id;
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,14 @@ const leadingZeros = /^0+/;
|
||||||
const parseLocation = (ctx, l) => {
|
const parseLocation = (ctx, l) => {
|
||||||
const {profile, opt} = ctx;
|
const {profile, opt} = ctx;
|
||||||
|
|
||||||
|
if (!l) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const lid = parse(l.id, {delimiter: '@'});
|
const lid = parse(l.id, {delimiter: '@'});
|
||||||
const res = {
|
const res = {
|
||||||
type: 'location',
|
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) {
|
if (l.lat && l.lon) {
|
||||||
|
@ -23,7 +27,7 @@ const parseLocation = (ctx, l) => {
|
||||||
res.longitude = lid.X / 1000000;
|
res.longitude = lid.X / 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (l.type === STATION || l.extId) {
|
if (l.type === STATION || l.extId || l.evaNumber) {
|
||||||
const stop = {
|
const stop = {
|
||||||
type: 'stop', // TODO station
|
type: 'stop', // TODO station
|
||||||
id: res.id,
|
id: res.id,
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
import maxBy from 'lodash/maxBy.js';
|
||||||
|
|
||||||
const parsePolyline = (ctx, p) => { // p = raw polylineGroup
|
const parsePolyline = (ctx, p) => { // p = raw polylineGroup
|
||||||
if (p.polylineDescriptions.length < 2) {
|
if (p.polylineDescriptions.length < 1) {
|
||||||
return null;
|
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) {
|
if (points.length === 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,18 +2,26 @@ import flatMap from 'lodash/flatMap.js';
|
||||||
|
|
||||||
const parseRemarks = (ctx, ref) => {
|
const parseRemarks = (ctx, ref) => {
|
||||||
//TODO ereignisZusammenfassung, priorisierteMeldungen?
|
//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) {
|
if (remark.kategorie) {
|
||||||
const res = ctx.profile.parseHintByCode(remark);
|
const res = ctx.profile.parseHintByCode(remark);
|
||||||
if (res) return res;
|
if (res) return res;
|
||||||
}
|
}
|
||||||
let type = 'hint';
|
let type = 'hint';
|
||||||
if (remark.prioritaet) type = 'status';
|
if (remark.prioritaet || remark.type) type = 'status';
|
||||||
if (!remark.kategorie && remark.key || remark.prioritaet && remark.prioritaet == 'HOCH') type = 'warning';
|
if (!remark.kategorie && remark.key || remark.disruptionID || remark.prioritaet && remark.prioritaet == 'HOCH') type = 'warning';
|
||||||
let res = {
|
let res = {
|
||||||
code: remark.code || remark.key,
|
code: remark.code || remark.key,
|
||||||
summary: remark.nachrichtKurz || remark.value || remark.ueberschrift,
|
summary: remark.nachrichtKurz || remark.value || remark.ueberschrift || remark.text || Object.values(remark.descriptions || {}).shift()?.textShort,
|
||||||
text: remark.nachrichtLang || remark.value || remark.text,
|
text: remark.nachrichtLang || remark.value || remark.text || Object.values(remark.descriptions || {}).shift()?.text,
|
||||||
type: type,
|
type: type,
|
||||||
};
|
};
|
||||||
if (remark.modDateTime) {
|
if (remark.modDateTime) {
|
||||||
|
|
|
@ -25,9 +25,8 @@ const opt = {
|
||||||
};
|
};
|
||||||
|
|
||||||
tap.test('parses an arrival correctly (DB)', (t) => {
|
tap.test('parses an arrival correctly (DB)', (t) => {
|
||||||
const common = profile.parseCommon({profile, opt, res});
|
const ctx = {profile, opt, common: null, res};
|
||||||
const ctx = {profile, opt, common, res};
|
const arrivals = res.arrivals.map(d => profile.parseArrival(ctx, d));
|
||||||
const arrivals = res.jnyL.map(d => profile.parseArrival(ctx, d));
|
|
||||||
|
|
||||||
t.same(arrivals, expected);
|
t.same(arrivals, expected);
|
||||||
t.end();
|
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',
|
accessibility: 'none',
|
||||||
bike: false,
|
bike: false,
|
||||||
tickets: true,
|
tickets: true,
|
||||||
polylines: false,
|
polylines: true,
|
||||||
remarks: true,
|
remarks: true,
|
||||||
walkingSpeed: 'normal',
|
walkingSpeed: 'normal',
|
||||||
startWithWalking: true,
|
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();
|
|
||||||
});
|
|
555
test/fixtures/db-arrivals.js
vendored
555
test/fixtures/db-arrivals.js
vendored
|
@ -1,269 +1,322 @@
|
||||||
const dbArrivals = [
|
const dbArrivals = [
|
||||||
{
|
{
|
||||||
tripId: '1|1144239|52|80|9062020',
|
"tripId": "20241208-c33bba6c-a73a-3eec-8a64-76356c922ece",
|
||||||
stop: {
|
"stop": {
|
||||||
type: 'stop',
|
"type": "stop",
|
||||||
id: '730985',
|
"id": "8089100",
|
||||||
name: 'Jungfernheide Bahnhof (S+U), Berlin',
|
"name": "Berlin Jungfernheide (S)",
|
||||||
location: {
|
"location": null
|
||||||
type: 'location',
|
|
||||||
id: '730985',
|
|
||||||
latitude: 52.530866,
|
|
||||||
longitude: 13.300781,
|
|
||||||
},
|
},
|
||||||
products: {
|
"when": "2024-12-08T01:00:00+01:00",
|
||||||
nationalExpress: false,
|
"plannedWhen": "2024-12-08T01:00:00+01:00",
|
||||||
national: false,
|
"delay": 0,
|
||||||
regionalExpress: false,
|
"platform": "6",
|
||||||
regional: true,
|
"plannedPlatform": "6",
|
||||||
suburban: true,
|
"direction": null,
|
||||||
bus: true,
|
"provenance": "Berlin Beusselstraße",
|
||||||
ferry: false,
|
"line": {
|
||||||
subway: true,
|
"type": "line",
|
||||||
tram: false,
|
"id": "s-42-42323",
|
||||||
taxi: false,
|
"fahrtNr": 42323,
|
||||||
|
"name": "S 42 (42323)",
|
||||||
|
"public": true,
|
||||||
|
"productName": "S",
|
||||||
|
"mode": "train",
|
||||||
|
"product": "suburban",
|
||||||
|
"operator": null
|
||||||
},
|
},
|
||||||
station: {
|
"remarks": [
|
||||||
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',
|
"code": "FB",
|
||||||
id: '3-bb-re6',
|
"summary": "Fahrradmitnahme begrenzt möglich",
|
||||||
fahrtNr: null,
|
"text": "Fahrradmitnahme begrenzt möglich",
|
||||||
name: 'Bus RE6',
|
"type": "hint"
|
||||||
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',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
|
"origin": {
|
||||||
|
"type": "stop",
|
||||||
|
"id": "8089118",
|
||||||
|
"name": "Berlin Beusselstraße",
|
||||||
|
"location": null
|
||||||
},
|
},
|
||||||
lines: [
|
"destination": null
|
||||||
{
|
|
||||||
type: 'line',
|
|
||||||
id: '5-vbbbvb-n7',
|
|
||||||
fahrtNr: null,
|
|
||||||
name: 'Bus N7',
|
|
||||||
public: true,
|
|
||||||
mode: 'bus',
|
|
||||||
product: 'bus',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'line',
|
"tripId": "20241208-89eeca5a-1768-3713-894a-dd088977f42b",
|
||||||
id: '5-vbbbvb-x9',
|
"stop": {
|
||||||
fahrtNr: null,
|
"type": "stop",
|
||||||
name: 'Bus X9',
|
"id": "730985",
|
||||||
public: true,
|
"name": "Jungfernheide Bahnhof (S+U), Berlin",
|
||||||
mode: 'bus',
|
"location": null
|
||||||
product: 'bus',
|
},
|
||||||
|
"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"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'line',
|
"code": "RG",
|
||||||
id: '5-vbbbvb-m21',
|
"summary": "Behindertengerechtes Fahrzeug",
|
||||||
fahrtNr: null,
|
"text": "Behindertengerechtes Fahrzeug",
|
||||||
name: 'Bus M21',
|
"type": "hint"
|
||||||
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',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
|
"origin": {
|
||||||
|
"type": "stop",
|
||||||
|
"id": "732218",
|
||||||
|
"name": "Rudow (U), Berlin",
|
||||||
|
"location": null
|
||||||
},
|
},
|
||||||
when: '2020-06-09T17:21:00+02:00',
|
"destination": null
|
||||||
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'},
|
|
||||||
},
|
},
|
||||||
remarks: [],
|
{
|
||||||
|
"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 {
|
export {
|
||||||
|
|
1356
test/fixtures/db-arrivals.json
vendored
1356
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"
|
|
||||||
}
|
|
124
test/fixtures/db-journey.js
vendored
124
test/fixtures/db-journey.js
vendored
|
@ -70,7 +70,100 @@ const dbJourney = {
|
||||||
"code": "boarding-ramp",
|
"code": "boarding-ramp",
|
||||||
"summary": "vehicle-mounted boarding ramp available",
|
"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: {
|
origin: {
|
||||||
|
@ -159,10 +252,37 @@ const dbJourney = {
|
||||||
summary: 'Komfort-Checkin available',
|
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=',
|
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: []
|
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',
|
name: 'InterCityExpress',
|
||||||
short: 'ICE',
|
short: 'ICE',
|
||||||
vendo: 'ICE',
|
vendo: 'ICE',
|
||||||
|
ris: 'HIGH_SPEED_TRAIN',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -17,6 +18,7 @@ const profile = {
|
||||||
name: 'Bus',
|
name: 'Bus',
|
||||||
short: 'B',
|
short: 'B',
|
||||||
vendo: 'BUS',
|
vendo: 'BUS',
|
||||||
|
ris: 'BUS',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -55,7 +57,7 @@ tap.test('parses ICE leg correctly', (t) => {
|
||||||
};
|
};
|
||||||
const expected = {
|
const expected = {
|
||||||
type: 'line',
|
type: 'line',
|
||||||
id: 'foo',
|
id: 'ice-229',
|
||||||
fahrtNr: 229,
|
fahrtNr: 229,
|
||||||
name: 'ICE 229',
|
name: 'ICE 229',
|
||||||
public: true,
|
public: true,
|
||||||
|
@ -86,7 +88,7 @@ tap.test('parses Bus trip correctly', (t) => {
|
||||||
};
|
};
|
||||||
const expected = {
|
const expected = {
|
||||||
type: 'line',
|
type: 'line',
|
||||||
id: undefined,
|
id: '',
|
||||||
fahrtNr: undefined,
|
fahrtNr: undefined,
|
||||||
name: 'Bus 807',
|
name: 'Bus 807',
|
||||||
public: true,
|
public: true,
|
||||||
|
@ -127,7 +129,7 @@ tap.test('parses Bus leg correctly', (t) => {
|
||||||
};
|
};
|
||||||
const expected = {
|
const expected = {
|
||||||
type: 'line',
|
type: 'line',
|
||||||
id: 'foo',
|
id: 'bus-807',
|
||||||
fahrtNr: '807',
|
fahrtNr: '807',
|
||||||
name: 'Bus 807',
|
name: 'Bus 807',
|
||||||
public: true,
|
public: true,
|
||||||
|
@ -140,3 +142,35 @@ tap.test('parses Bus leg correctly', (t) => {
|
||||||
t.same(parse(ctx, input), expected);
|
t.same(parse(ctx, input), expected);
|
||||||
t.end();
|
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.same(parse(ctx, input), expected);
|
||||||
t.end();
|
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