@motis-project/motis-client 2.0.0 → 2.0.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/chunk-CAW6R2LI.js +1285 -0
- package/dist/chunk-IHFNO6R3.js +91 -0
- package/dist/chunk-IYBFZNEH.js +996 -865
- package/dist/chunk-QM2K42W7.js +62 -62
- package/dist/chunk-VOTN5CAZ.js +91 -0
- package/dist/index.d.ts +128 -3
- package/dist/index.js +103 -103
- package/dist/schemas.gen.d.ts +1047 -831
- package/dist/schemas.gen.js +75 -75
- package/dist/services.gen.d.ts +86 -18
- package/dist/services.gen.js +27 -27
- package/dist/types.gen.d.ts +1768 -1501
- package/dist/types.gen.js +1 -1
- package/package.json +2 -3
package/dist/chunk-IYBFZNEH.js
CHANGED
|
@@ -1,270 +1,297 @@
|
|
|
1
1
|
// openapi/schemas.gen.ts
|
|
2
2
|
var AlertCauseSchema = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: 'Cause of this alert.',
|
|
4
|
+
type: 'string',
|
|
5
|
+
enum: [
|
|
6
|
+
'UNKNOWN_CAUSE',
|
|
7
|
+
'OTHER_CAUSE',
|
|
8
|
+
'TECHNICAL_PROBLEM',
|
|
9
|
+
'STRIKE',
|
|
10
|
+
'DEMONSTRATION',
|
|
11
|
+
'ACCIDENT',
|
|
12
|
+
'HOLIDAY',
|
|
13
|
+
'WEATHER',
|
|
14
|
+
'MAINTENANCE',
|
|
15
|
+
'CONSTRUCTION',
|
|
16
|
+
'POLICE_ACTIVITY',
|
|
17
|
+
'MEDICAL_EMERGENCY'
|
|
18
|
+
]
|
|
6
19
|
};
|
|
7
20
|
var AlertEffectSchema = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
21
|
+
description: 'The effect of this problem on the affected entity.',
|
|
22
|
+
type: 'string',
|
|
23
|
+
enum: [
|
|
24
|
+
'NO_SERVICE',
|
|
25
|
+
'REDUCED_SERVICE',
|
|
26
|
+
'SIGNIFICANT_DELAYS',
|
|
27
|
+
'DETOUR',
|
|
28
|
+
'ADDITIONAL_SERVICE',
|
|
29
|
+
'MODIFIED_SERVICE',
|
|
30
|
+
'OTHER_EFFECT',
|
|
31
|
+
'UNKNOWN_EFFECT',
|
|
32
|
+
'STOP_MOVED',
|
|
33
|
+
'NO_EFFECT',
|
|
34
|
+
'ACCESSIBILITY_ISSUE'
|
|
35
|
+
]
|
|
11
36
|
};
|
|
12
37
|
var AlertSeverityLevelSchema = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
38
|
+
description: 'The severity of the alert.',
|
|
39
|
+
type: 'string',
|
|
40
|
+
enum: ['UNKNOWN_SEVERITY', 'INFO', 'WARNING', 'SEVERE']
|
|
16
41
|
};
|
|
17
42
|
var TimeRangeSchema = {
|
|
18
|
-
|
|
43
|
+
description: `A time interval.
|
|
19
44
|
The interval is considered active at time t if t is greater than or equal to the start time and less than the end time.
|
|
20
45
|
`,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
46
|
+
type: 'object',
|
|
47
|
+
properties: {
|
|
48
|
+
start: {
|
|
49
|
+
description: `If missing, the interval starts at minus infinity.
|
|
25
50
|
If a TimeRange is provided, either start or end must be provided - both fields cannot be empty.
|
|
26
51
|
`,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
52
|
+
type: 'string',
|
|
53
|
+
format: 'date-time'
|
|
54
|
+
},
|
|
55
|
+
end: {
|
|
56
|
+
description: `If missing, the interval ends at plus infinity.
|
|
32
57
|
If a TimeRange is provided, either start or end must be provided - both fields cannot be empty.
|
|
33
58
|
`,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
59
|
+
type: 'string',
|
|
60
|
+
format: 'date-time'
|
|
61
|
+
}
|
|
62
|
+
}
|
|
38
63
|
};
|
|
39
64
|
var AlertSchema = {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
65
|
+
description: 'An alert, indicating some sort of incident in the public transit network.',
|
|
66
|
+
type: 'object',
|
|
67
|
+
required: ['headerText', 'descriptionText'],
|
|
68
|
+
properties: {
|
|
69
|
+
communicationPeriod: {
|
|
70
|
+
description: `Time when the alert should be shown to the user.
|
|
46
71
|
If missing, the alert will be shown as long as it appears in the feed.
|
|
47
72
|
If multiple ranges are given, the alert will be shown during all of them.
|
|
48
73
|
`,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
74
|
+
type: 'array',
|
|
75
|
+
items: {
|
|
76
|
+
$ref: '#/components/schemas/TimeRange'
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
impactPeriod: {
|
|
80
|
+
description: 'Time when the services are affected by the disruption mentioned in the alert.',
|
|
81
|
+
type: 'array',
|
|
82
|
+
items: {
|
|
83
|
+
$ref: '#/components/schemas/TimeRange'
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
cause: {
|
|
87
|
+
$ref: '#/components/schemas/AlertCause'
|
|
88
|
+
},
|
|
89
|
+
causeDetail: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
description: `Description of the cause of the alert that allows for agency-specific language;
|
|
67
92
|
more specific than the Cause.
|
|
68
93
|
`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
94
|
+
},
|
|
95
|
+
effect: {
|
|
96
|
+
$ref: '#/components/schemas/AlertEffect'
|
|
97
|
+
},
|
|
98
|
+
effectDetail: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
description: `Description of the effect of the alert that allows for agency-specific language;
|
|
76
101
|
more specific than the Effect.
|
|
77
102
|
`
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
103
|
+
},
|
|
104
|
+
url: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
description: 'The URL which provides additional information about the alert.'
|
|
107
|
+
},
|
|
108
|
+
headerText: {
|
|
109
|
+
type: 'string',
|
|
110
|
+
description: `Header for the alert. This plain-text string will be highlighted, for example in boldface.
|
|
86
111
|
`
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
112
|
+
},
|
|
113
|
+
descriptionText: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
description: `Description for the alert.
|
|
91
116
|
This plain-text string will be formatted as the body of the alert (or shown on an explicit "expand" request by the user).
|
|
92
117
|
The information in the description should add to the information of the header.
|
|
93
118
|
`
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
119
|
+
},
|
|
120
|
+
ttsHeaderText: {
|
|
121
|
+
type: 'string',
|
|
122
|
+
description: `Text containing the alert's header to be used for text-to-speech implementations.
|
|
98
123
|
This field is the text-to-speech version of header_text.
|
|
99
124
|
It should contain the same information as headerText but formatted such that it can read as text-to-speech
|
|
100
125
|
(for example, abbreviations removed, numbers spelled out, etc.)
|
|
101
126
|
`
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
127
|
+
},
|
|
128
|
+
ttsDescriptionText: {
|
|
129
|
+
type: 'string',
|
|
130
|
+
description: `Text containing a description for the alert to be used for text-to-speech implementations.
|
|
106
131
|
This field is the text-to-speech version of description_text.
|
|
107
132
|
It should contain the same information as description_text but formatted such that it can be read as text-to-speech
|
|
108
133
|
(for example, abbreviations removed, numbers spelled out, etc.)
|
|
109
134
|
`
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
135
|
+
},
|
|
136
|
+
severityLevel: {
|
|
137
|
+
description: 'Severity of the alert.',
|
|
138
|
+
$ref: '#/components/schemas/AlertSeverityLevel'
|
|
139
|
+
},
|
|
140
|
+
imageUrl: {
|
|
141
|
+
description: 'String containing an URL linking to an image.',
|
|
142
|
+
type: 'string'
|
|
143
|
+
},
|
|
144
|
+
imageMediaType: {
|
|
145
|
+
description: `IANA media type as to specify the type of image to be displayed. The type must start with "image/"
|
|
121
146
|
`,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
147
|
+
type: 'string'
|
|
148
|
+
},
|
|
149
|
+
imageAlternativeText: {
|
|
150
|
+
description: `Text describing the appearance of the linked image in the image field
|
|
126
151
|
(e.g., in case the image can't be displayed or the user can't see the image for accessibility reasons).
|
|
127
152
|
See the HTML spec for alt image text.
|
|
128
153
|
`,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
154
|
+
type: 'string'
|
|
155
|
+
}
|
|
156
|
+
}
|
|
132
157
|
};
|
|
133
158
|
var DurationSchema = {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
159
|
+
description: 'Object containing duration if a path was found or none if no path was found',
|
|
160
|
+
type: 'object',
|
|
161
|
+
properties: {
|
|
162
|
+
duration: {
|
|
163
|
+
type: 'number',
|
|
164
|
+
description: 'duration in seconds if a path was found, otherwise missing'
|
|
165
|
+
}
|
|
166
|
+
}
|
|
142
167
|
};
|
|
143
168
|
var AreaSchema = {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
169
|
+
description: 'Administrative area',
|
|
170
|
+
type: 'object',
|
|
171
|
+
required: ['name', 'adminLevel', 'matched'],
|
|
172
|
+
properties: {
|
|
173
|
+
name: {
|
|
174
|
+
type: 'string',
|
|
175
|
+
description: 'Name of the area'
|
|
176
|
+
},
|
|
177
|
+
adminLevel: {
|
|
178
|
+
type: 'number',
|
|
179
|
+
description: `[OpenStreetMap \`admin_level\`](https://wiki.openstreetmap.org/wiki/Key:admin_level)
|
|
155
180
|
of the area
|
|
156
181
|
`
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
182
|
+
},
|
|
183
|
+
matched: {
|
|
184
|
+
type: 'boolean',
|
|
185
|
+
description: 'Whether this area was matched by the input text'
|
|
186
|
+
},
|
|
187
|
+
unique: {
|
|
188
|
+
type: 'boolean',
|
|
189
|
+
description: `Set for the first area after the \`default\` area that distinguishes areas
|
|
165
190
|
if the match is ambiguous regarding (\`default\` area + place name / street [+ house number]).
|
|
166
191
|
`
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
192
|
+
},
|
|
193
|
+
default: {
|
|
194
|
+
type: 'boolean',
|
|
195
|
+
description:
|
|
196
|
+
'Whether this area should be displayed as default area (area with admin level closest 7)'
|
|
197
|
+
}
|
|
198
|
+
}
|
|
173
199
|
};
|
|
174
200
|
var TokenSchema = {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
201
|
+
description: 'Matched token range (from index, length)',
|
|
202
|
+
type: 'array',
|
|
203
|
+
minItems: 2,
|
|
204
|
+
maxItems: 2,
|
|
205
|
+
items: {
|
|
206
|
+
type: 'number'
|
|
207
|
+
}
|
|
182
208
|
};
|
|
183
209
|
var LocationTypeSchema = {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
210
|
+
description: 'location type',
|
|
211
|
+
type: 'string',
|
|
212
|
+
enum: ['ADDRESS', 'PLACE', 'STOP']
|
|
187
213
|
};
|
|
188
214
|
var MatchSchema = {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
215
|
+
description: 'GeoCoding match',
|
|
216
|
+
type: 'object',
|
|
217
|
+
required: ['type', 'name', 'id', 'lat', 'lon', 'tokens', 'areas', 'score'],
|
|
218
|
+
properties: {
|
|
219
|
+
type: {
|
|
220
|
+
$ref: '#/components/schemas/LocationType'
|
|
221
|
+
},
|
|
222
|
+
tokens: {
|
|
223
|
+
description: 'list of non-overlapping tokens that were matched',
|
|
224
|
+
type: 'array',
|
|
225
|
+
items: {
|
|
226
|
+
$ref: '#/components/schemas/Token'
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
name: {
|
|
230
|
+
description: 'name of the location (transit stop / PoI / address)',
|
|
231
|
+
type: 'string'
|
|
232
|
+
},
|
|
233
|
+
id: {
|
|
234
|
+
description: 'unique ID of the location',
|
|
235
|
+
type: 'string'
|
|
236
|
+
},
|
|
237
|
+
lat: {
|
|
238
|
+
description: 'latitude',
|
|
239
|
+
type: 'number'
|
|
240
|
+
},
|
|
241
|
+
lon: {
|
|
242
|
+
description: 'longitude',
|
|
243
|
+
type: 'number'
|
|
244
|
+
},
|
|
245
|
+
level: {
|
|
246
|
+
description: `level according to OpenStreetMap
|
|
221
247
|
(at the moment only for public transport)
|
|
222
248
|
`,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
+
type: 'number'
|
|
250
|
+
},
|
|
251
|
+
street: {
|
|
252
|
+
description: 'street name',
|
|
253
|
+
type: 'string'
|
|
254
|
+
},
|
|
255
|
+
houseNumber: {
|
|
256
|
+
description: 'house number',
|
|
257
|
+
type: 'string'
|
|
258
|
+
},
|
|
259
|
+
zip: {
|
|
260
|
+
description: 'zip code',
|
|
261
|
+
type: 'string'
|
|
262
|
+
},
|
|
263
|
+
areas: {
|
|
264
|
+
description: 'list of areas',
|
|
265
|
+
type: 'array',
|
|
266
|
+
items: {
|
|
267
|
+
$ref: '#/components/schemas/Area'
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
score: {
|
|
271
|
+
description:
|
|
272
|
+
'score according to the internal scoring system (the scoring algorithm might change in the future)',
|
|
273
|
+
type: 'number'
|
|
274
|
+
}
|
|
275
|
+
}
|
|
249
276
|
};
|
|
250
277
|
var ElevationCostsSchema = {
|
|
251
|
-
|
|
278
|
+
description: `Different elevation cost profiles for street routing.
|
|
252
279
|
Using a elevation cost profile will prefer routes with a smaller incline and smaller difference in elevation, even if the routed way is longer.
|
|
253
280
|
|
|
254
281
|
- \`NONE\`: Ignore elevation data for routing. This is the default behavior
|
|
255
282
|
- \`LOW\`: Add a low penalty for inclines. This will favor longer paths, if the elevation increase and incline are smaller.
|
|
256
283
|
- \`HIGH\`: Add a high penalty for inclines. This will favor even longer paths, if the elevation increase and incline are smaller.
|
|
257
284
|
`,
|
|
258
|
-
|
|
259
|
-
|
|
285
|
+
type: 'string',
|
|
286
|
+
enum: ['NONE', 'LOW', 'HIGH']
|
|
260
287
|
};
|
|
261
288
|
var PedestrianProfileSchema = {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
289
|
+
description: 'Different accessibility profiles for pedestrians.',
|
|
290
|
+
type: 'string',
|
|
291
|
+
enum: ['FOOT', 'WHEELCHAIR']
|
|
265
292
|
};
|
|
266
293
|
var ModeSchema = {
|
|
267
|
-
|
|
294
|
+
description: `# Street modes
|
|
268
295
|
|
|
269
296
|
- \`WALK\`
|
|
270
297
|
- \`BIKE\`
|
|
@@ -290,117 +317,141 @@ var ModeSchema = {
|
|
|
290
317
|
- \`REGIONAL_FAST_RAIL\`: regional express routes that skip low traffic stops to be faster
|
|
291
318
|
- \`REGIONAL_RAIL\`: regional train
|
|
292
319
|
`,
|
|
293
|
-
|
|
294
|
-
|
|
320
|
+
type: 'string',
|
|
321
|
+
enum: [
|
|
322
|
+
'WALK',
|
|
323
|
+
'BIKE',
|
|
324
|
+
'RENTAL',
|
|
325
|
+
'CAR',
|
|
326
|
+
'CAR_PARKING',
|
|
327
|
+
'ODM',
|
|
328
|
+
'TRANSIT',
|
|
329
|
+
'TRAM',
|
|
330
|
+
'SUBWAY',
|
|
331
|
+
'FERRY',
|
|
332
|
+
'AIRPLANE',
|
|
333
|
+
'METRO',
|
|
334
|
+
'BUS',
|
|
335
|
+
'COACH',
|
|
336
|
+
'RAIL',
|
|
337
|
+
'HIGHSPEED_RAIL',
|
|
338
|
+
'LONG_DISTANCE',
|
|
339
|
+
'NIGHT_RAIL',
|
|
340
|
+
'REGIONAL_FAST_RAIL',
|
|
341
|
+
'REGIONAL_RAIL',
|
|
342
|
+
'OTHER'
|
|
343
|
+
]
|
|
295
344
|
};
|
|
296
345
|
var VertexTypeSchema = {
|
|
297
|
-
|
|
298
|
-
|
|
346
|
+
type: 'string',
|
|
347
|
+
description: `- \`NORMAL\` - latitude / longitude coordinate or address
|
|
299
348
|
- \`BIKESHARE\` - bike sharing station
|
|
300
349
|
- \`TRANSIT\` - transit stop
|
|
301
350
|
`,
|
|
302
|
-
|
|
351
|
+
enum: ['NORMAL', 'BIKESHARE', 'TRANSIT']
|
|
303
352
|
};
|
|
304
353
|
var PickupDropoffTypeSchema = {
|
|
305
|
-
|
|
306
|
-
|
|
354
|
+
type: 'string',
|
|
355
|
+
description: `- \`NORMAL\` - entry/exit is possible normally
|
|
307
356
|
- \`NOT_ALLOWED\` - entry/exit is not allowed
|
|
308
357
|
`,
|
|
309
|
-
|
|
358
|
+
enum: ['NORMAL', 'NOT_ALLOWED']
|
|
310
359
|
};
|
|
311
360
|
var PlaceSchema = {
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
+
type: 'object',
|
|
362
|
+
required: ['name', 'lat', 'lon', 'level'],
|
|
363
|
+
properties: {
|
|
364
|
+
name: {
|
|
365
|
+
description: 'name of the transit stop / PoI / address',
|
|
366
|
+
type: 'string'
|
|
367
|
+
},
|
|
368
|
+
stopId: {
|
|
369
|
+
description: "The ID of the stop. This is often something that users don't care about.",
|
|
370
|
+
type: 'string'
|
|
371
|
+
},
|
|
372
|
+
lat: {
|
|
373
|
+
description: 'latitude',
|
|
374
|
+
type: 'number'
|
|
375
|
+
},
|
|
376
|
+
lon: {
|
|
377
|
+
description: 'longitude',
|
|
378
|
+
type: 'number'
|
|
379
|
+
},
|
|
380
|
+
level: {
|
|
381
|
+
description: 'level according to OpenStreetMap',
|
|
382
|
+
type: 'number'
|
|
383
|
+
},
|
|
384
|
+
arrival: {
|
|
385
|
+
description: 'arrival time',
|
|
386
|
+
type: 'string',
|
|
387
|
+
format: 'date-time'
|
|
388
|
+
},
|
|
389
|
+
departure: {
|
|
390
|
+
description: 'departure time',
|
|
391
|
+
type: 'string',
|
|
392
|
+
format: 'date-time'
|
|
393
|
+
},
|
|
394
|
+
scheduledArrival: {
|
|
395
|
+
description: 'scheduled arrival time',
|
|
396
|
+
type: 'string',
|
|
397
|
+
format: 'date-time'
|
|
398
|
+
},
|
|
399
|
+
scheduledDeparture: {
|
|
400
|
+
description: 'scheduled departure time',
|
|
401
|
+
type: 'string',
|
|
402
|
+
format: 'date-time'
|
|
403
|
+
},
|
|
404
|
+
scheduledTrack: {
|
|
405
|
+
description: 'scheduled track from the static schedule timetable dataset',
|
|
406
|
+
type: 'string'
|
|
407
|
+
},
|
|
408
|
+
track: {
|
|
409
|
+
description: `The current track/platform information, updated with real-time updates if available.
|
|
361
410
|
Can be missing if neither real-time updates nor the schedule timetable contains track information.
|
|
362
411
|
`,
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
412
|
+
type: 'string'
|
|
413
|
+
},
|
|
414
|
+
vertexType: {
|
|
415
|
+
$ref: '#/components/schemas/VertexType'
|
|
416
|
+
},
|
|
417
|
+
pickupType: {
|
|
418
|
+
description:
|
|
419
|
+
'Type of pickup. It could be disallowed due to schedule, skipped stops or cancellations.',
|
|
420
|
+
$ref: '#/components/schemas/PickupDropoffType'
|
|
421
|
+
},
|
|
422
|
+
dropoffType: {
|
|
423
|
+
description:
|
|
424
|
+
'Type of dropoff. It could be disallowed due to schedule, skipped stops or cancellations.',
|
|
425
|
+
$ref: '#/components/schemas/PickupDropoffType'
|
|
426
|
+
},
|
|
427
|
+
cancelled: {
|
|
428
|
+
description: 'Whether this stop is cancelled due to the realtime situation.',
|
|
429
|
+
type: 'boolean'
|
|
430
|
+
},
|
|
431
|
+
alerts: {
|
|
432
|
+
description: 'Alerts for this stop.',
|
|
433
|
+
type: 'array',
|
|
434
|
+
items: {
|
|
435
|
+
$ref: '#/components/schemas/Alert'
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
388
439
|
};
|
|
389
440
|
var ReachablePlaceSchema = {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
441
|
+
description: 'Place reachable by One-to-All',
|
|
442
|
+
type: 'object',
|
|
443
|
+
properties: {
|
|
444
|
+
place: {
|
|
445
|
+
$ref: '#/components/schemas/Place',
|
|
446
|
+
description: 'Place reached by One-to-All'
|
|
447
|
+
},
|
|
448
|
+
duration: {
|
|
449
|
+
type: 'integer',
|
|
450
|
+
description: 'Total travel duration'
|
|
451
|
+
},
|
|
452
|
+
k: {
|
|
453
|
+
type: 'integer',
|
|
454
|
+
description: `k is the smallest number, for which a journey with the shortest duration and at most k-1 transfers exist.
|
|
404
455
|
You can think of k as the number of connections used.
|
|
405
456
|
|
|
406
457
|
In more detail:
|
|
@@ -409,313 +460,388 @@ k=0: No connection, e.g. for the one location
|
|
|
409
460
|
k=1: Direct connection
|
|
410
461
|
k=2: Connection with 1 transfer
|
|
411
462
|
`
|
|
412
|
-
|
|
413
|
-
|
|
463
|
+
}
|
|
464
|
+
}
|
|
414
465
|
};
|
|
415
466
|
var ReachableSchema = {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
467
|
+
description: 'Object containing all reachable places by One-to-All search',
|
|
468
|
+
type: 'object',
|
|
469
|
+
properties: {
|
|
470
|
+
one: {
|
|
471
|
+
$ref: '#/components/schemas/Place',
|
|
472
|
+
description: 'One location used in One-to-All search'
|
|
473
|
+
},
|
|
474
|
+
all: {
|
|
475
|
+
description: 'List of locations reachable by One-to-All',
|
|
476
|
+
type: 'array',
|
|
477
|
+
items: {
|
|
478
|
+
$ref: '#/components/schemas/ReachablePlace'
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}
|
|
431
482
|
};
|
|
432
483
|
var StopTimeSchema = {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
484
|
+
description: 'departure or arrival event at a stop',
|
|
485
|
+
type: 'object',
|
|
486
|
+
required: [
|
|
487
|
+
'place',
|
|
488
|
+
'mode',
|
|
489
|
+
'realTime',
|
|
490
|
+
'headsign',
|
|
491
|
+
'agencyId',
|
|
492
|
+
'agencyName',
|
|
493
|
+
'agencyUrl',
|
|
494
|
+
'tripId',
|
|
495
|
+
'routeShortName',
|
|
496
|
+
'pickupDropoffType',
|
|
497
|
+
'cancelled',
|
|
498
|
+
'source'
|
|
499
|
+
],
|
|
500
|
+
properties: {
|
|
501
|
+
place: {
|
|
502
|
+
$ref: '#/components/schemas/Place',
|
|
503
|
+
description: 'information about the stop place and time'
|
|
504
|
+
},
|
|
505
|
+
mode: {
|
|
506
|
+
$ref: '#/components/schemas/Mode',
|
|
507
|
+
description: 'Transport mode for this leg'
|
|
508
|
+
},
|
|
509
|
+
realTime: {
|
|
510
|
+
description: 'Whether there is real-time data about this leg',
|
|
511
|
+
type: 'boolean'
|
|
512
|
+
},
|
|
513
|
+
headsign: {
|
|
514
|
+
description: `For transit legs, the headsign of the bus or train being used.
|
|
451
515
|
For non-transit legs, null
|
|
452
516
|
`,
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
517
|
+
type: 'string'
|
|
518
|
+
},
|
|
519
|
+
agencyId: {
|
|
520
|
+
type: 'string'
|
|
521
|
+
},
|
|
522
|
+
agencyName: {
|
|
523
|
+
type: 'string'
|
|
524
|
+
},
|
|
525
|
+
agencyUrl: {
|
|
526
|
+
type: 'string'
|
|
527
|
+
},
|
|
528
|
+
routeColor: {
|
|
529
|
+
type: 'string'
|
|
530
|
+
},
|
|
531
|
+
routeTextColor: {
|
|
532
|
+
type: 'string'
|
|
533
|
+
},
|
|
534
|
+
tripId: {
|
|
535
|
+
type: 'string'
|
|
536
|
+
},
|
|
537
|
+
routeShortName: {
|
|
538
|
+
type: 'string'
|
|
539
|
+
},
|
|
540
|
+
pickupDropoffType: {
|
|
541
|
+
description:
|
|
542
|
+
'Type of pickup (for departures) or dropoff (for arrivals), may be disallowed either due to schedule, skipped stops or cancellations',
|
|
543
|
+
$ref: '#/components/schemas/PickupDropoffType'
|
|
544
|
+
},
|
|
545
|
+
cancelled: {
|
|
546
|
+
description: 'Whether the departure/arrival is cancelled due to the realtime situation.',
|
|
547
|
+
type: 'boolean'
|
|
548
|
+
},
|
|
549
|
+
source: {
|
|
550
|
+
description: 'Filename and line number where this trip is from',
|
|
551
|
+
type: 'string'
|
|
552
|
+
}
|
|
553
|
+
}
|
|
489
554
|
};
|
|
490
555
|
var TripInfoSchema = {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
556
|
+
description: 'trip id and name',
|
|
557
|
+
type: 'object',
|
|
558
|
+
required: ['tripId', 'routeShortName'],
|
|
559
|
+
properties: {
|
|
560
|
+
tripId: {
|
|
561
|
+
description: 'trip ID (dataset trip id prefixed with the dataset tag)',
|
|
562
|
+
type: 'string'
|
|
563
|
+
},
|
|
564
|
+
routeShortName: {
|
|
565
|
+
description: 'trip display name',
|
|
566
|
+
type: 'string'
|
|
567
|
+
}
|
|
568
|
+
}
|
|
504
569
|
};
|
|
505
570
|
var TripSegmentSchema = {
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
571
|
+
description: 'trip segment between two stops to show a trip on a map',
|
|
572
|
+
type: 'object',
|
|
573
|
+
required: [
|
|
574
|
+
'trips',
|
|
575
|
+
'mode',
|
|
576
|
+
'distance',
|
|
577
|
+
'from',
|
|
578
|
+
'to',
|
|
579
|
+
'departure',
|
|
580
|
+
'arrival',
|
|
581
|
+
'scheduledArrival',
|
|
582
|
+
'scheduledDeparture',
|
|
583
|
+
'realTime',
|
|
584
|
+
'polyline'
|
|
585
|
+
],
|
|
586
|
+
properties: {
|
|
587
|
+
trips: {
|
|
588
|
+
type: 'array',
|
|
589
|
+
items: {
|
|
590
|
+
$ref: '#/components/schemas/TripInfo'
|
|
591
|
+
}
|
|
592
|
+
},
|
|
593
|
+
routeColor: {
|
|
594
|
+
type: 'string'
|
|
595
|
+
},
|
|
596
|
+
mode: {
|
|
597
|
+
$ref: '#/components/schemas/Mode',
|
|
598
|
+
description: 'Transport mode for this leg'
|
|
599
|
+
},
|
|
600
|
+
distance: {
|
|
601
|
+
type: 'number',
|
|
602
|
+
description: 'distance in meters'
|
|
603
|
+
},
|
|
604
|
+
from: {
|
|
605
|
+
$ref: '#/components/schemas/Place'
|
|
606
|
+
},
|
|
607
|
+
to: {
|
|
608
|
+
$ref: '#/components/schemas/Place'
|
|
609
|
+
},
|
|
610
|
+
departure: {
|
|
611
|
+
description: 'departure time',
|
|
612
|
+
type: 'string',
|
|
613
|
+
format: 'date-time'
|
|
614
|
+
},
|
|
615
|
+
arrival: {
|
|
616
|
+
description: 'arrival time',
|
|
617
|
+
type: 'string',
|
|
618
|
+
format: 'date-time'
|
|
619
|
+
},
|
|
620
|
+
scheduledDeparture: {
|
|
621
|
+
description: 'scheduled departure time',
|
|
622
|
+
type: 'string',
|
|
623
|
+
format: 'date-time'
|
|
624
|
+
},
|
|
625
|
+
scheduledArrival: {
|
|
626
|
+
description: 'scheduled arrival time',
|
|
627
|
+
type: 'string',
|
|
628
|
+
format: 'date-time'
|
|
629
|
+
},
|
|
630
|
+
realTime: {
|
|
631
|
+
description: 'Whether there is real-time data about this leg',
|
|
632
|
+
type: 'boolean'
|
|
633
|
+
},
|
|
634
|
+
polyline: {
|
|
635
|
+
description:
|
|
636
|
+
'Google polyline encoded coordinate sequence (with precision 5) where the trip travels on this segment.',
|
|
637
|
+
type: 'string'
|
|
638
|
+
}
|
|
639
|
+
}
|
|
562
640
|
};
|
|
563
641
|
var DirectionSchema = {
|
|
564
|
-
|
|
565
|
-
|
|
642
|
+
type: 'string',
|
|
643
|
+
enum: [
|
|
644
|
+
'DEPART',
|
|
645
|
+
'HARD_LEFT',
|
|
646
|
+
'LEFT',
|
|
647
|
+
'SLIGHTLY_LEFT',
|
|
648
|
+
'CONTINUE',
|
|
649
|
+
'SLIGHTLY_RIGHT',
|
|
650
|
+
'RIGHT',
|
|
651
|
+
'HARD_RIGHT',
|
|
652
|
+
'CIRCLE_CLOCKWISE',
|
|
653
|
+
'CIRCLE_COUNTERCLOCKWISE',
|
|
654
|
+
'STAIRS',
|
|
655
|
+
'ELEVATOR',
|
|
656
|
+
'UTURN_LEFT',
|
|
657
|
+
'UTURN_RIGHT'
|
|
658
|
+
]
|
|
566
659
|
};
|
|
567
660
|
var EncodedPolylineSchema = {
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
661
|
+
type: 'object',
|
|
662
|
+
required: ['points', 'precision', 'length'],
|
|
663
|
+
properties: {
|
|
664
|
+
points: {
|
|
665
|
+
description: 'The encoded points of the polyline using the Google polyline encoding.',
|
|
666
|
+
type: 'string'
|
|
667
|
+
},
|
|
668
|
+
precision: {
|
|
669
|
+
description: `The precision of the returned polyline (7 for /v1, 6 for /v2)
|
|
577
670
|
Be aware that with precision 7, coordinates with |longitude| > 107.37 are undefined/will overflow.
|
|
578
671
|
`,
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
672
|
+
type: 'integer'
|
|
673
|
+
},
|
|
674
|
+
length: {
|
|
675
|
+
description: 'The number of points in the string',
|
|
676
|
+
type: 'integer',
|
|
677
|
+
minimum: 0
|
|
678
|
+
}
|
|
679
|
+
}
|
|
587
680
|
};
|
|
588
681
|
var StepInstructionSchema = {
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
682
|
+
type: 'object',
|
|
683
|
+
required: [
|
|
684
|
+
'fromLevel',
|
|
685
|
+
'toLevel',
|
|
686
|
+
'polyline',
|
|
687
|
+
'relativeDirection',
|
|
688
|
+
'distance',
|
|
689
|
+
'streetName',
|
|
690
|
+
'exit',
|
|
691
|
+
'stayOn',
|
|
692
|
+
'area'
|
|
693
|
+
],
|
|
694
|
+
properties: {
|
|
695
|
+
relativeDirection: {
|
|
696
|
+
$ref: '#/components/schemas/Direction'
|
|
697
|
+
},
|
|
698
|
+
distance: {
|
|
699
|
+
description: 'The distance in meters that this step takes.',
|
|
700
|
+
type: 'number'
|
|
701
|
+
},
|
|
702
|
+
fromLevel: {
|
|
703
|
+
description: 'level where this segment starts, based on OpenStreetMap data',
|
|
704
|
+
type: 'number'
|
|
705
|
+
},
|
|
706
|
+
toLevel: {
|
|
707
|
+
description: 'level where this segment starts, based on OpenStreetMap data',
|
|
708
|
+
type: 'number'
|
|
709
|
+
},
|
|
710
|
+
osmWay: {
|
|
711
|
+
description: 'OpenStreetMap way index',
|
|
712
|
+
type: 'integer'
|
|
713
|
+
},
|
|
714
|
+
polyline: {
|
|
715
|
+
$ref: '#/components/schemas/EncodedPolyline'
|
|
716
|
+
},
|
|
717
|
+
streetName: {
|
|
718
|
+
description: 'The name of the street.',
|
|
719
|
+
type: 'string'
|
|
720
|
+
},
|
|
721
|
+
exit: {
|
|
722
|
+
description: `Not implemented!
|
|
620
723
|
When exiting a highway or traffic circle, the exit name/number.
|
|
621
724
|
`,
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
725
|
+
type: 'string'
|
|
726
|
+
},
|
|
727
|
+
stayOn: {
|
|
728
|
+
description: `Not implemented!
|
|
626
729
|
Indicates whether or not a street changes direction at an intersection.
|
|
627
730
|
`,
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
731
|
+
type: 'boolean'
|
|
732
|
+
},
|
|
733
|
+
area: {
|
|
734
|
+
description: `Not implemented!
|
|
632
735
|
This step is on an open area, such as a plaza or train platform,
|
|
633
736
|
and thus the directions should say something like "cross"
|
|
634
737
|
`,
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
738
|
+
type: 'boolean'
|
|
739
|
+
}
|
|
740
|
+
}
|
|
638
741
|
};
|
|
639
742
|
var RentalFormFactorSchema = {
|
|
640
|
-
|
|
641
|
-
|
|
743
|
+
type: 'string',
|
|
744
|
+
enum: ['BICYCLE', 'CARGO_BICYCLE', 'CAR', 'MOPED', 'SCOOTER_STANDING', 'SCOOTER_SEATED', 'OTHER']
|
|
642
745
|
};
|
|
643
746
|
var RentalPropulsionTypeSchema = {
|
|
644
|
-
|
|
645
|
-
|
|
747
|
+
type: 'string',
|
|
748
|
+
enum: [
|
|
749
|
+
'HUMAN',
|
|
750
|
+
'ELECTRIC_ASSIST',
|
|
751
|
+
'ELECTRIC',
|
|
752
|
+
'COMBUSTION',
|
|
753
|
+
'COMBUSTION_DIESEL',
|
|
754
|
+
'HYBRID',
|
|
755
|
+
'PLUG_IN_HYBRID',
|
|
756
|
+
'HYDROGEN_FUEL_CELL'
|
|
757
|
+
]
|
|
646
758
|
};
|
|
647
759
|
var RentalReturnConstraintSchema = {
|
|
648
|
-
|
|
649
|
-
|
|
760
|
+
type: 'string',
|
|
761
|
+
enum: ['NONE', 'ANY_STATION', 'ROUNDTRIP_STATION']
|
|
650
762
|
};
|
|
651
763
|
var RentalSchema = {
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
764
|
+
description: 'Vehicle rental',
|
|
765
|
+
type: 'object',
|
|
766
|
+
required: ['systemId'],
|
|
767
|
+
properties: {
|
|
768
|
+
systemId: {
|
|
769
|
+
type: 'string',
|
|
770
|
+
description: 'Vehicle share system ID'
|
|
771
|
+
},
|
|
772
|
+
systemName: {
|
|
773
|
+
type: 'string',
|
|
774
|
+
description: 'Vehicle share system name'
|
|
775
|
+
},
|
|
776
|
+
url: {
|
|
777
|
+
type: 'string',
|
|
778
|
+
description: 'URL of the vehicle share system'
|
|
779
|
+
},
|
|
780
|
+
stationName: {
|
|
781
|
+
type: 'string',
|
|
782
|
+
description: 'Name of the station'
|
|
783
|
+
},
|
|
784
|
+
fromStationName: {
|
|
785
|
+
type: 'string',
|
|
786
|
+
description:
|
|
787
|
+
'Name of the station where the vehicle is picked up (empty for free floating vehicles)'
|
|
788
|
+
},
|
|
789
|
+
toStationName: {
|
|
790
|
+
type: 'string',
|
|
791
|
+
description:
|
|
792
|
+
'Name of the station where the vehicle is returned (empty for free floating vehicles)'
|
|
793
|
+
},
|
|
794
|
+
rentalUriAndroid: {
|
|
795
|
+
type: 'string',
|
|
796
|
+
description: 'Rental URI for Android (deep link to the specific station or vehicle)'
|
|
797
|
+
},
|
|
798
|
+
rentalUriIOS: {
|
|
799
|
+
type: 'string',
|
|
800
|
+
description: 'Rental URI for iOS (deep link to the specific station or vehicle)'
|
|
801
|
+
},
|
|
802
|
+
rentalUriWeb: {
|
|
803
|
+
type: 'string',
|
|
804
|
+
description: 'Rental URI for web (deep link to the specific station or vehicle)'
|
|
805
|
+
},
|
|
806
|
+
formFactor: {
|
|
807
|
+
$ref: '#/components/schemas/RentalFormFactor'
|
|
808
|
+
},
|
|
809
|
+
propulsionType: {
|
|
810
|
+
$ref: '#/components/schemas/RentalPropulsionType'
|
|
811
|
+
},
|
|
812
|
+
returnConstraint: {
|
|
813
|
+
$ref: '#/components/schemas/RentalReturnConstraint'
|
|
814
|
+
}
|
|
815
|
+
}
|
|
702
816
|
};
|
|
703
817
|
var LegSchema = {
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
818
|
+
type: 'object',
|
|
819
|
+
required: [
|
|
820
|
+
'mode',
|
|
821
|
+
'startTime',
|
|
822
|
+
'endTime',
|
|
823
|
+
'scheduledStartTime',
|
|
824
|
+
'scheduledEndTime',
|
|
825
|
+
'realTime',
|
|
826
|
+
'scheduled',
|
|
827
|
+
'duration',
|
|
828
|
+
'from',
|
|
829
|
+
'to',
|
|
830
|
+
'legGeometry'
|
|
831
|
+
],
|
|
832
|
+
properties: {
|
|
833
|
+
mode: {
|
|
834
|
+
$ref: '#/components/schemas/Mode',
|
|
835
|
+
description: 'Transport mode for this leg'
|
|
836
|
+
},
|
|
837
|
+
from: {
|
|
838
|
+
$ref: '#/components/schemas/Place'
|
|
839
|
+
},
|
|
840
|
+
to: {
|
|
841
|
+
$ref: '#/components/schemas/Place'
|
|
842
|
+
},
|
|
843
|
+
duration: {
|
|
844
|
+
description: `Leg duration in seconds
|
|
719
845
|
|
|
720
846
|
If leg is footpath:
|
|
721
847
|
The footpath duration is derived from the default footpath
|
|
@@ -728,203 +854,208 @@ If leg is footpath:
|
|
|
728
854
|
\`additionalTransferTime = 0\` in case they are not explicitly
|
|
729
855
|
provided in the query.
|
|
730
856
|
`,
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
857
|
+
type: 'integer'
|
|
858
|
+
},
|
|
859
|
+
startTime: {
|
|
860
|
+
type: 'string',
|
|
861
|
+
format: 'date-time',
|
|
862
|
+
description: 'leg departure time'
|
|
863
|
+
},
|
|
864
|
+
endTime: {
|
|
865
|
+
type: 'string',
|
|
866
|
+
format: 'date-time',
|
|
867
|
+
description: 'leg arrival time'
|
|
868
|
+
},
|
|
869
|
+
scheduledStartTime: {
|
|
870
|
+
type: 'string',
|
|
871
|
+
format: 'date-time',
|
|
872
|
+
description: 'scheduled leg departure time'
|
|
873
|
+
},
|
|
874
|
+
scheduledEndTime: {
|
|
875
|
+
type: 'string',
|
|
876
|
+
format: 'date-time',
|
|
877
|
+
description: 'scheduled leg arrival time'
|
|
878
|
+
},
|
|
879
|
+
realTime: {
|
|
880
|
+
description: 'Whether there is real-time data about this leg',
|
|
881
|
+
type: 'boolean'
|
|
882
|
+
},
|
|
883
|
+
scheduled: {
|
|
884
|
+
description: `Whether this leg was originally scheduled to run or is an additional service.
|
|
759
885
|
Scheduled times will equal realtime times in this case.
|
|
760
886
|
`,
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
887
|
+
type: 'boolean'
|
|
888
|
+
},
|
|
889
|
+
distance: {
|
|
890
|
+
description:
|
|
891
|
+
'For non-transit legs the distance traveled while traversing this leg in meters.',
|
|
892
|
+
type: 'number'
|
|
893
|
+
},
|
|
894
|
+
interlineWithPreviousLeg: {
|
|
895
|
+
description:
|
|
896
|
+
'For transit legs, if the rider should stay on the vehicle as it changes route names.',
|
|
897
|
+
type: 'boolean'
|
|
898
|
+
},
|
|
899
|
+
headsign: {
|
|
900
|
+
description: `For transit legs, the headsign of the bus or train being used.
|
|
773
901
|
For non-transit legs, null
|
|
774
902
|
`,
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
903
|
+
type: 'string'
|
|
904
|
+
},
|
|
905
|
+
routeColor: {
|
|
906
|
+
type: 'string'
|
|
907
|
+
},
|
|
908
|
+
routeTextColor: {
|
|
909
|
+
type: 'string'
|
|
910
|
+
},
|
|
911
|
+
routeType: {
|
|
912
|
+
type: 'string'
|
|
913
|
+
},
|
|
914
|
+
agencyName: {
|
|
915
|
+
type: 'string'
|
|
916
|
+
},
|
|
917
|
+
agencyUrl: {
|
|
918
|
+
type: 'string'
|
|
919
|
+
},
|
|
920
|
+
agencyId: {
|
|
921
|
+
type: 'string'
|
|
922
|
+
},
|
|
923
|
+
tripId: {
|
|
924
|
+
type: 'string'
|
|
925
|
+
},
|
|
926
|
+
routeShortName: {
|
|
927
|
+
type: 'string'
|
|
928
|
+
},
|
|
929
|
+
cancelled: {
|
|
930
|
+
description: 'Whether this trip is cancelled',
|
|
931
|
+
type: 'boolean'
|
|
932
|
+
},
|
|
933
|
+
source: {
|
|
934
|
+
description: 'Filename and line number where this trip is from',
|
|
935
|
+
type: 'string'
|
|
936
|
+
},
|
|
937
|
+
intermediateStops: {
|
|
938
|
+
description: `For transit legs, intermediate stops between the Place where the leg originates
|
|
811
939
|
and the Place where the leg ends. For non-transit legs, null.
|
|
812
940
|
`,
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
941
|
+
type: 'array',
|
|
942
|
+
items: {
|
|
943
|
+
$ref: '#/components/schemas/Place'
|
|
944
|
+
}
|
|
945
|
+
},
|
|
946
|
+
legGeometry: {
|
|
947
|
+
$ref: '#/components/schemas/EncodedPolyline'
|
|
948
|
+
},
|
|
949
|
+
steps: {
|
|
950
|
+
description: `A series of turn by turn instructions
|
|
823
951
|
used for walking, biking and driving.
|
|
824
952
|
`,
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
953
|
+
type: 'array',
|
|
954
|
+
items: {
|
|
955
|
+
$ref: '#/components/schemas/StepInstruction'
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
rental: {
|
|
959
|
+
$ref: '#/components/schemas/Rental'
|
|
960
|
+
},
|
|
961
|
+
fareTransferIndex: {
|
|
962
|
+
type: 'integer',
|
|
963
|
+
description: `Index into \`Itinerary.fareTransfers\` array
|
|
836
964
|
to identify which fare transfer this leg belongs to
|
|
837
965
|
`
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
966
|
+
},
|
|
967
|
+
effectiveFareLegIndex: {
|
|
968
|
+
type: 'integer',
|
|
969
|
+
description: `Index into the \`Itinerary.fareTransfers[fareTransferIndex].effectiveFareLegProducts\` array
|
|
842
970
|
to identify which effective fare leg this itinerary leg belongs to
|
|
843
971
|
`
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
972
|
+
},
|
|
973
|
+
alerts: {
|
|
974
|
+
description: 'Alerts for this stop.',
|
|
975
|
+
type: 'array',
|
|
976
|
+
items: {
|
|
977
|
+
$ref: '#/components/schemas/Alert'
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
}
|
|
853
981
|
};
|
|
854
982
|
var RiderCategorySchema = {
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
983
|
+
type: 'object',
|
|
984
|
+
required: ['riderCategoryName', 'isDefaultFareCategory'],
|
|
985
|
+
properties: {
|
|
986
|
+
riderCategoryName: {
|
|
987
|
+
description: 'Rider category name as displayed to the rider.',
|
|
988
|
+
type: 'string'
|
|
989
|
+
},
|
|
990
|
+
isDefaultFareCategory: {
|
|
991
|
+
description:
|
|
992
|
+
'Specifies if this category should be considered the default (i.e. the main category displayed to riders).',
|
|
993
|
+
type: 'boolean'
|
|
994
|
+
},
|
|
995
|
+
eligibilityUrl: {
|
|
996
|
+
description:
|
|
997
|
+
'URL to a web page providing detailed information about the rider category and/or its eligibility criteria.',
|
|
998
|
+
type: 'string'
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
871
1001
|
};
|
|
872
1002
|
var FareMediaTypeSchema = {
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
1003
|
+
type: 'string',
|
|
1004
|
+
enum: ['NONE', 'PAPER_TICKET', 'TRANSIT_CARD', 'CONTACTLESS_EMV', 'MOBILE_APP'],
|
|
1005
|
+
enumDescriptions: {
|
|
1006
|
+
NONE: 'No fare media involved (e.g., cash payment)',
|
|
1007
|
+
PAPER_TICKET: 'Physical paper ticket',
|
|
1008
|
+
TRANSIT_CARD: 'Physical transit card with stored value',
|
|
1009
|
+
CONTACTLESS_EMV: 'cEMV (contactless payment)',
|
|
1010
|
+
MOBILE_APP: 'Mobile app with virtual transit cards/passes'
|
|
1011
|
+
}
|
|
882
1012
|
};
|
|
883
1013
|
var FareMediaSchema = {
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
1014
|
+
type: 'object',
|
|
1015
|
+
required: ['fareMediaType'],
|
|
1016
|
+
properties: {
|
|
1017
|
+
fareMediaName: {
|
|
1018
|
+
description: 'Name of the fare media. Required for transit cards and mobile apps.',
|
|
1019
|
+
type: 'string'
|
|
1020
|
+
},
|
|
1021
|
+
fareMediaType: {
|
|
1022
|
+
description: 'The type of fare media.',
|
|
1023
|
+
$ref: '#/components/schemas/FareMediaType'
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
896
1026
|
};
|
|
897
1027
|
var FareProductSchema = {
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
1028
|
+
type: 'object',
|
|
1029
|
+
required: ['name', 'amount', 'currency'],
|
|
1030
|
+
properties: {
|
|
1031
|
+
name: {
|
|
1032
|
+
description: 'The name of the fare product as displayed to riders.',
|
|
1033
|
+
type: 'string'
|
|
1034
|
+
},
|
|
1035
|
+
amount: {
|
|
1036
|
+
description:
|
|
1037
|
+
'The cost of the fare product. May be negative to represent transfer discounts. May be zero to represent a fare product that is free.',
|
|
1038
|
+
type: 'number'
|
|
1039
|
+
},
|
|
1040
|
+
currency: {
|
|
1041
|
+
description: 'ISO 4217 currency code. The currency of the cost of the fare product.',
|
|
1042
|
+
type: 'string'
|
|
1043
|
+
},
|
|
1044
|
+
riderCategory: {
|
|
1045
|
+
$ref: '#/components/schemas/RiderCategory'
|
|
1046
|
+
},
|
|
1047
|
+
media: {
|
|
1048
|
+
$ref: '#/components/schemas/FareMedia'
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
920
1051
|
};
|
|
921
1052
|
var FareTransferRuleSchema = {
|
|
922
|
-
|
|
923
|
-
|
|
1053
|
+
type: 'string',
|
|
1054
|
+
enum: ['A_AB', 'A_AB_B', 'AB']
|
|
924
1055
|
};
|
|
925
1056
|
var FareTransferSchema = {
|
|
926
|
-
|
|
927
|
-
|
|
1057
|
+
type: 'object',
|
|
1058
|
+
description: `The concept is derived from: https://gtfs.org/documentation/schedule/reference/#fare_transfer_rulestxt
|
|
928
1059
|
|
|
929
1060
|
Terminology:
|
|
930
1061
|
- **Leg**: An itinerary leg as described by the \`Leg\` type of this API description.
|
|
@@ -941,153 +1072,153 @@ The fare transfer rule is used to derive the final set of products of the itiner
|
|
|
941
1072
|
|
|
942
1073
|
An itinerary \`Leg\` references the index of the fare transfer and the index of the effective fare leg in this transfer it belongs to.
|
|
943
1074
|
`,
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
1075
|
+
required: ['effectiveFareLegProducts'],
|
|
1076
|
+
properties: {
|
|
1077
|
+
rule: {
|
|
1078
|
+
$ref: '#/components/schemas/FareTransferRule'
|
|
1079
|
+
},
|
|
1080
|
+
transferProduct: {
|
|
1081
|
+
$ref: '#/components/schemas/FareProduct'
|
|
1082
|
+
},
|
|
1083
|
+
effectiveFareLegProducts: {
|
|
1084
|
+
description: `Lists all valid fare products for the effective fare legs.
|
|
954
1085
|
This is an \`array<array<FareProduct>>\` where the inner array
|
|
955
1086
|
lists all possible fare products that would cover this effective fare leg.
|
|
956
1087
|
Each "effective fare leg" can have multiple options for adult/child/weekly/monthly/day/one-way tickets etc.
|
|
957
1088
|
You can see the outer array as AND (you need one ticket for each effective fare leg (\`A_AB_B\`), the first effective fare leg (\`A_AB\`) or no fare leg at all but only the transfer product (\`AB\`)
|
|
958
1089
|
and the inner array as OR (you can choose which ticket to buy)
|
|
959
1090
|
`,
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
1091
|
+
type: 'array',
|
|
1092
|
+
items: {
|
|
1093
|
+
type: 'array',
|
|
1094
|
+
items: {
|
|
1095
|
+
$ref: '#/components/schemas/FareProduct'
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
969
1100
|
};
|
|
970
1101
|
var ItinerarySchema = {
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1102
|
+
type: 'object',
|
|
1103
|
+
required: ['duration', 'startTime', 'endTime', 'transfers', 'legs'],
|
|
1104
|
+
properties: {
|
|
1105
|
+
duration: {
|
|
1106
|
+
description: 'journey duration in seconds',
|
|
1107
|
+
type: 'integer'
|
|
1108
|
+
},
|
|
1109
|
+
startTime: {
|
|
1110
|
+
type: 'string',
|
|
1111
|
+
format: 'date-time',
|
|
1112
|
+
description: 'journey departure time'
|
|
1113
|
+
},
|
|
1114
|
+
endTime: {
|
|
1115
|
+
type: 'string',
|
|
1116
|
+
format: 'date-time',
|
|
1117
|
+
description: 'journey arrival time'
|
|
1118
|
+
},
|
|
1119
|
+
transfers: {
|
|
1120
|
+
type: 'integer',
|
|
1121
|
+
description: 'The number of transfers this trip has.'
|
|
1122
|
+
},
|
|
1123
|
+
legs: {
|
|
1124
|
+
description: 'Journey legs',
|
|
1125
|
+
type: 'array',
|
|
1126
|
+
items: {
|
|
1127
|
+
$ref: '#/components/schemas/Leg'
|
|
1128
|
+
}
|
|
1129
|
+
},
|
|
1130
|
+
fareTransfers: {
|
|
1131
|
+
description: 'Fare information',
|
|
1132
|
+
type: 'array',
|
|
1133
|
+
items: {
|
|
1134
|
+
$ref: '#/components/schemas/FareTransfer'
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1007
1138
|
};
|
|
1008
1139
|
var FootpathSchema = {
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1140
|
+
description: 'footpath from one location to another',
|
|
1141
|
+
type: 'object',
|
|
1142
|
+
required: ['to'],
|
|
1143
|
+
properties: {
|
|
1144
|
+
to: {
|
|
1145
|
+
$ref: '#/components/schemas/Place'
|
|
1146
|
+
},
|
|
1147
|
+
default: {
|
|
1148
|
+
type: 'number',
|
|
1149
|
+
description: `optional; missing if the GTFS did not contain a footpath
|
|
1019
1150
|
footpath duration in minutes according to GTFS (+heuristics)
|
|
1020
1151
|
`
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1152
|
+
},
|
|
1153
|
+
foot: {
|
|
1154
|
+
type: 'number',
|
|
1155
|
+
description: `optional; missing if no path was found (timetable / osr)
|
|
1025
1156
|
footpath duration in minutes for the foot profile
|
|
1026
1157
|
`
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1158
|
+
},
|
|
1159
|
+
footRouted: {
|
|
1160
|
+
type: 'number',
|
|
1161
|
+
description: `optional; missing if no path was found with foot routing
|
|
1031
1162
|
footpath duration in minutes for the foot profile
|
|
1032
1163
|
`
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1164
|
+
},
|
|
1165
|
+
wheelchair: {
|
|
1166
|
+
type: 'number',
|
|
1167
|
+
description: `optional; missing if no path was found with the wheelchair profile
|
|
1037
1168
|
footpath duration in minutes for the wheelchair profile
|
|
1038
1169
|
`
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1170
|
+
},
|
|
1171
|
+
wheelchairRouted: {
|
|
1172
|
+
type: 'number',
|
|
1173
|
+
description: `optional; missing if no path was found with the wheelchair profile
|
|
1043
1174
|
footpath duration in minutes for the wheelchair profile
|
|
1044
1175
|
`
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1176
|
+
},
|
|
1177
|
+
wheelchairUsesElevator: {
|
|
1178
|
+
type: 'boolean',
|
|
1179
|
+
description: `optional; missing if no path was found with the wheelchair profile
|
|
1049
1180
|
true if the wheelchair path uses an elevator
|
|
1050
1181
|
`
|
|
1051
|
-
|
|
1052
|
-
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1053
1184
|
};
|
|
1054
1185
|
|
|
1055
1186
|
export {
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1187
|
+
AlertCauseSchema,
|
|
1188
|
+
AlertEffectSchema,
|
|
1189
|
+
AlertSeverityLevelSchema,
|
|
1190
|
+
TimeRangeSchema,
|
|
1191
|
+
AlertSchema,
|
|
1192
|
+
DurationSchema,
|
|
1193
|
+
AreaSchema,
|
|
1194
|
+
TokenSchema,
|
|
1195
|
+
LocationTypeSchema,
|
|
1196
|
+
MatchSchema,
|
|
1197
|
+
ElevationCostsSchema,
|
|
1198
|
+
PedestrianProfileSchema,
|
|
1199
|
+
ModeSchema,
|
|
1200
|
+
VertexTypeSchema,
|
|
1201
|
+
PickupDropoffTypeSchema,
|
|
1202
|
+
PlaceSchema,
|
|
1203
|
+
ReachablePlaceSchema,
|
|
1204
|
+
ReachableSchema,
|
|
1205
|
+
StopTimeSchema,
|
|
1206
|
+
TripInfoSchema,
|
|
1207
|
+
TripSegmentSchema,
|
|
1208
|
+
DirectionSchema,
|
|
1209
|
+
EncodedPolylineSchema,
|
|
1210
|
+
StepInstructionSchema,
|
|
1211
|
+
RentalFormFactorSchema,
|
|
1212
|
+
RentalPropulsionTypeSchema,
|
|
1213
|
+
RentalReturnConstraintSchema,
|
|
1214
|
+
RentalSchema,
|
|
1215
|
+
LegSchema,
|
|
1216
|
+
RiderCategorySchema,
|
|
1217
|
+
FareMediaTypeSchema,
|
|
1218
|
+
FareMediaSchema,
|
|
1219
|
+
FareProductSchema,
|
|
1220
|
+
FareTransferRuleSchema,
|
|
1221
|
+
FareTransferSchema,
|
|
1222
|
+
ItinerarySchema,
|
|
1223
|
+
FootpathSchema
|
|
1093
1224
|
};
|