@opentripplanner/core-utils 14.2.3 → 14.2.4

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.
@@ -0,0 +1,1698 @@
1
+ {
2
+ "accessibilityScore": null,
3
+ "duration": 3585,
4
+ "endTime": 1761243371000,
5
+ "legs": [
6
+ {
7
+ "accessibilityScore": null,
8
+ "agency": null,
9
+ "alerts": [],
10
+ "arrivalDelay": 0,
11
+ "departureDelay": 0,
12
+ "distance": 425.58,
13
+ "dropOffBookingInfo": null,
14
+ "dropoffType": "SCHEDULED",
15
+ "duration": {
16
+ "source": "394.0",
17
+ "parsedValue": 394
18
+ },
19
+ "endTime": 1761240180000,
20
+ "fareProducts": [],
21
+ "from": {
22
+ "lat": 45.515529,
23
+ "lon": -122.675332,
24
+ "name": "101 SE Main Street, Portland, Downtown, OR",
25
+ "rentalVehicle": null,
26
+ "stop": null,
27
+ "vertexType": "NORMAL"
28
+ },
29
+ "headsign": null,
30
+ "id": null,
31
+ "interlineWithPreviousLeg": false,
32
+ "intermediateStops": null,
33
+ "legGeometry": {
34
+ "length": 30,
35
+ "points": "mvxtGv}vkVr@ZW|AMr@EPEVi@|CEREVKj@CHEJCFAF?L?JKl@JFJDETCNCJe@xCEP?BGVJDh@TZN@G"
36
+ },
37
+ "mode": "WALK",
38
+ "pickupBookingInfo": null,
39
+ "pickupType": "SCHEDULED",
40
+ "realTime": false,
41
+ "realtimeState": null,
42
+ "rentedBike": false,
43
+ "rideHailingEstimate": null,
44
+ "route": null,
45
+ "startTime": 1761239786000,
46
+ "steps": [
47
+ {
48
+ "absoluteDirection": "SOUTH",
49
+ "alerts": [],
50
+ "area": false,
51
+ "distance": 31.03,
52
+ "elevationProfile": [],
53
+ "lat": 45.5154387,
54
+ "lon": -122.6749952,
55
+ "relativeDirection": "DEPART",
56
+ "stayOn": false,
57
+ "streetName": "Southwest 1st Avenue"
58
+ },
59
+ {
60
+ "absoluteDirection": "WEST",
61
+ "alerts": [],
62
+ "area": false,
63
+ "distance": 227.47,
64
+ "elevationProfile": [],
65
+ "lat": 45.5151781,
66
+ "lon": -122.6751375,
67
+ "relativeDirection": "RIGHT",
68
+ "stayOn": false,
69
+ "streetName": "Southwest Main Street"
70
+ },
71
+ {
72
+ "absoluteDirection": "SOUTH",
73
+ "alerts": [],
74
+ "area": false,
75
+ "distance": 14.78,
76
+ "elevationProfile": [],
77
+ "lat": 45.5158969,
78
+ "lon": -122.6778579,
79
+ "relativeDirection": "LEFT",
80
+ "stayOn": false,
81
+ "streetName": "path"
82
+ },
83
+ {
84
+ "absoluteDirection": "WEST",
85
+ "alerts": [],
86
+ "area": false,
87
+ "distance": 20.78,
88
+ "elevationProfile": [],
89
+ "lat": 45.5157731,
90
+ "lon": -122.677927,
91
+ "relativeDirection": "RIGHT",
92
+ "stayOn": true,
93
+ "streetName": "path"
94
+ },
95
+ {
96
+ "absoluteDirection": "WEST",
97
+ "alerts": [],
98
+ "area": false,
99
+ "distance": 64.05,
100
+ "elevationProfile": [],
101
+ "lat": 45.5158411,
102
+ "lon": -122.6781755,
103
+ "relativeDirection": "CONTINUE",
104
+ "stayOn": false,
105
+ "streetName": "Southwest Main Street"
106
+ },
107
+ {
108
+ "absoluteDirection": "WEST",
109
+ "alerts": [],
110
+ "area": false,
111
+ "distance": 18.97,
112
+ "elevationProfile": [],
113
+ "lat": 45.5160399,
114
+ "lon": -122.6789471,
115
+ "relativeDirection": "CONTINUE",
116
+ "stayOn": false,
117
+ "streetName": "path"
118
+ },
119
+ {
120
+ "absoluteDirection": "SOUTH",
121
+ "alerts": [],
122
+ "area": false,
123
+ "distance": 48.49,
124
+ "elevationProfile": [],
125
+ "lat": 45.5161009,
126
+ "lon": -122.6791745,
127
+ "relativeDirection": "LEFT",
128
+ "stayOn": false,
129
+ "streetName": "Southwest 5th Avenue"
130
+ }
131
+ ],
132
+ "stopCalls": [],
133
+ "to": {
134
+ "lat": 45.515682,
135
+ "lon": -122.679352,
136
+ "name": "SW 5th & Madison",
137
+ "rentalVehicle": null,
138
+ "stop": {
139
+ "alerts": [],
140
+ "code": "5005",
141
+ "gtfsId": "1:5005",
142
+ "id": "U3RvcDoxOjUwMDU",
143
+ "lat": 45.515682,
144
+ "lon": -122.679352
145
+ },
146
+ "vertexType": "TRANSIT"
147
+ },
148
+ "transitLeg": false,
149
+ "trip": null
150
+ },
151
+ {
152
+ "accessibilityScore": null,
153
+ "agency": {
154
+ "alerts": [],
155
+ "gtfsId": "1:C-TRAN",
156
+ "id": "1:C-TRAN",
157
+ "name": "C-TRAN",
158
+ "timezone": "America/Los_Angeles",
159
+ "url": "http://www.C-TRAN.com"
160
+ },
161
+ "alerts": [],
162
+ "arrivalDelay": 0,
163
+ "departureDelay": 0,
164
+ "distance": 26793.23,
165
+ "dropOffBookingInfo": null,
166
+ "dropoffType": "SCHEDULED",
167
+ "duration": {
168
+ "source": "1620.0",
169
+ "parsedValue": 1620
170
+ },
171
+ "endTime": 1761241800000,
172
+ "fareProducts": [
173
+ {
174
+ "id": "01012534-e2ba-3fc1-975c-982933fad2fd",
175
+ "product": {
176
+ "__typename": "DefaultFareProduct",
177
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
178
+ "medium": {
179
+ "id": "1:1",
180
+ "name": "Ticket"
181
+ },
182
+ "name": "Adult Express 2 1/2 Hours",
183
+ "riderCategory": {
184
+ "id": "1:ADULT",
185
+ "name": "Adult"
186
+ },
187
+ "price": {
188
+ "amount": 3.0,
189
+ "currency": {
190
+ "code": "USD",
191
+ "digits": 2
192
+ }
193
+ }
194
+ }
195
+ },
196
+ {
197
+ "id": "25f2b488-a759-3a18-9875-bd1024c61d31",
198
+ "product": {
199
+ "__typename": "DefaultFareProduct",
200
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
201
+ "medium": {
202
+ "id": "1:0",
203
+ "name": "Cash"
204
+ },
205
+ "name": "Adult Express 2 1/2 Hours",
206
+ "riderCategory": {
207
+ "id": "1:ADULT",
208
+ "name": "Adult"
209
+ },
210
+ "price": {
211
+ "amount": 3.0,
212
+ "currency": {
213
+ "code": "USD",
214
+ "digits": 2
215
+ }
216
+ }
217
+ }
218
+ },
219
+ {
220
+ "id": "9bd9194e-88fb-3fae-971f-3b3201c31599",
221
+ "product": {
222
+ "__typename": "DefaultFareProduct",
223
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
224
+ "medium": {
225
+ "id": "1:3",
226
+ "name": "Open Payment"
227
+ },
228
+ "name": "Adult Express 2 1/2 Hours",
229
+ "riderCategory": {
230
+ "id": "1:ADULT",
231
+ "name": "Adult"
232
+ },
233
+ "price": {
234
+ "amount": 3.0,
235
+ "currency": {
236
+ "code": "USD",
237
+ "digits": 2
238
+ }
239
+ }
240
+ }
241
+ },
242
+ {
243
+ "id": "b6d8eab0-48e7-3232-a442-cdebd7594010",
244
+ "product": {
245
+ "__typename": "DefaultFareProduct",
246
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
247
+ "medium": {
248
+ "id": "1:4",
249
+ "name": "Virtual HOP Fastpass"
250
+ },
251
+ "name": "Adult Express 2 1/2 Hours",
252
+ "riderCategory": {
253
+ "id": "1:ADULT",
254
+ "name": "Adult"
255
+ },
256
+ "price": {
257
+ "amount": 3.0,
258
+ "currency": {
259
+ "code": "USD",
260
+ "digits": 2
261
+ }
262
+ }
263
+ }
264
+ },
265
+ {
266
+ "id": "e8ecf087-5f32-30a0-a14d-56f62849f95f",
267
+ "product": {
268
+ "__typename": "DefaultFareProduct",
269
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
270
+ "medium": {
271
+ "id": "1:2",
272
+ "name": "HOP Fastpass"
273
+ },
274
+ "name": "Adult Express 2 1/2 Hours",
275
+ "riderCategory": {
276
+ "id": "1:ADULT",
277
+ "name": "Adult"
278
+ },
279
+ "price": {
280
+ "amount": 3.0,
281
+ "currency": {
282
+ "code": "USD",
283
+ "digits": 2
284
+ }
285
+ }
286
+ }
287
+ },
288
+ {
289
+ "id": "28813439-fcea-3543-ae1c-57082d5118c8",
290
+ "product": {
291
+ "__typename": "DefaultFareProduct",
292
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
293
+ "medium": {
294
+ "id": "1:2",
295
+ "name": "HOP Fastpass"
296
+ },
297
+ "name": "Honored Citizen Express 2 1/2 Hours",
298
+ "riderCategory": {
299
+ "id": "1:HONORED_CITIZEN",
300
+ "name": "Honored Citizen"
301
+ },
302
+ "price": {
303
+ "amount": 3.0,
304
+ "currency": {
305
+ "code": "USD",
306
+ "digits": 2
307
+ }
308
+ }
309
+ }
310
+ },
311
+ {
312
+ "id": "4f9c51f6-3658-3485-a2e1-52ea1a0b39f8",
313
+ "product": {
314
+ "__typename": "DefaultFareProduct",
315
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
316
+ "medium": {
317
+ "id": "1:0",
318
+ "name": "Cash"
319
+ },
320
+ "name": "Honored Citizen Express 2 1/2 Hours",
321
+ "riderCategory": {
322
+ "id": "1:HONORED_CITIZEN",
323
+ "name": "Honored Citizen"
324
+ },
325
+ "price": {
326
+ "amount": 3.0,
327
+ "currency": {
328
+ "code": "USD",
329
+ "digits": 2
330
+ }
331
+ }
332
+ }
333
+ },
334
+ {
335
+ "id": "a979728c-71da-32df-a91c-8007546e6544",
336
+ "product": {
337
+ "__typename": "DefaultFareProduct",
338
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
339
+ "medium": {
340
+ "id": "1:1",
341
+ "name": "Ticket"
342
+ },
343
+ "name": "Honored Citizen Express 2 1/2 Hours",
344
+ "riderCategory": {
345
+ "id": "1:HONORED_CITIZEN",
346
+ "name": "Honored Citizen"
347
+ },
348
+ "price": {
349
+ "amount": 3.0,
350
+ "currency": {
351
+ "code": "USD",
352
+ "digits": 2
353
+ }
354
+ }
355
+ }
356
+ },
357
+ {
358
+ "id": "b548ee25-aa90-3a07-a5cd-b07c272abaf8",
359
+ "product": {
360
+ "__typename": "DefaultFareProduct",
361
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
362
+ "medium": {
363
+ "id": "1:3",
364
+ "name": "Open Payment"
365
+ },
366
+ "name": "Honored Citizen Express 2 1/2 Hours",
367
+ "riderCategory": {
368
+ "id": "1:HONORED_CITIZEN",
369
+ "name": "Honored Citizen"
370
+ },
371
+ "price": {
372
+ "amount": 3.0,
373
+ "currency": {
374
+ "code": "USD",
375
+ "digits": 2
376
+ }
377
+ }
378
+ }
379
+ },
380
+ {
381
+ "id": "bdd031b6-a0d3-3bfb-bf47-935873f1aa42",
382
+ "product": {
383
+ "__typename": "DefaultFareProduct",
384
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
385
+ "medium": {
386
+ "id": "1:4",
387
+ "name": "Virtual HOP Fastpass"
388
+ },
389
+ "name": "Honored Citizen Express 2 1/2 Hours",
390
+ "riderCategory": {
391
+ "id": "1:HONORED_CITIZEN",
392
+ "name": "Honored Citizen"
393
+ },
394
+ "price": {
395
+ "amount": 3.0,
396
+ "currency": {
397
+ "code": "USD",
398
+ "digits": 2
399
+ }
400
+ }
401
+ }
402
+ },
403
+ {
404
+ "id": "45399863-df02-349b-8613-5795194bcc7a",
405
+ "product": {
406
+ "__typename": "DefaultFareProduct",
407
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
408
+ "medium": {
409
+ "id": "1:0",
410
+ "name": "Cash"
411
+ },
412
+ "name": "Youth Express 2 1/2 Hours",
413
+ "riderCategory": {
414
+ "id": "1:YOUTH",
415
+ "name": "Youth"
416
+ },
417
+ "price": {
418
+ "amount": 3.0,
419
+ "currency": {
420
+ "code": "USD",
421
+ "digits": 2
422
+ }
423
+ }
424
+ }
425
+ },
426
+ {
427
+ "id": "795c2d2d-1c47-3197-b3cc-e040294e8896",
428
+ "product": {
429
+ "__typename": "DefaultFareProduct",
430
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
431
+ "medium": {
432
+ "id": "1:2",
433
+ "name": "HOP Fastpass"
434
+ },
435
+ "name": "Youth Express 2 1/2 Hours",
436
+ "riderCategory": {
437
+ "id": "1:YOUTH",
438
+ "name": "Youth"
439
+ },
440
+ "price": {
441
+ "amount": 3.0,
442
+ "currency": {
443
+ "code": "USD",
444
+ "digits": 2
445
+ }
446
+ }
447
+ }
448
+ },
449
+ {
450
+ "id": "9102431b-41be-383b-9a82-915c74035b6a",
451
+ "product": {
452
+ "__typename": "DefaultFareProduct",
453
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
454
+ "medium": {
455
+ "id": "1:3",
456
+ "name": "Open Payment"
457
+ },
458
+ "name": "Youth Express 2 1/2 Hours",
459
+ "riderCategory": {
460
+ "id": "1:YOUTH",
461
+ "name": "Youth"
462
+ },
463
+ "price": {
464
+ "amount": 3.0,
465
+ "currency": {
466
+ "code": "USD",
467
+ "digits": 2
468
+ }
469
+ }
470
+ }
471
+ },
472
+ {
473
+ "id": "9b406854-7fc1-331a-a59f-dff017f94786",
474
+ "product": {
475
+ "__typename": "DefaultFareProduct",
476
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
477
+ "medium": {
478
+ "id": "1:4",
479
+ "name": "Virtual HOP Fastpass"
480
+ },
481
+ "name": "Youth Express 2 1/2 Hours",
482
+ "riderCategory": {
483
+ "id": "1:YOUTH",
484
+ "name": "Youth"
485
+ },
486
+ "price": {
487
+ "amount": 3.0,
488
+ "currency": {
489
+ "code": "USD",
490
+ "digits": 2
491
+ }
492
+ }
493
+ }
494
+ },
495
+ {
496
+ "id": "bcc36502-abe6-3a85-a5d1-ce418b313441",
497
+ "product": {
498
+ "__typename": "DefaultFareProduct",
499
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
500
+ "medium": {
501
+ "id": "1:1",
502
+ "name": "Ticket"
503
+ },
504
+ "name": "Youth Express 2 1/2 Hours",
505
+ "riderCategory": {
506
+ "id": "1:YOUTH",
507
+ "name": "Youth"
508
+ },
509
+ "price": {
510
+ "amount": 3.0,
511
+ "currency": {
512
+ "code": "USD",
513
+ "digits": 2
514
+ }
515
+ }
516
+ }
517
+ }
518
+ ],
519
+ "from": {
520
+ "lat": 45.515682,
521
+ "lon": -122.679352,
522
+ "name": "SW 5th & Madison",
523
+ "rentalVehicle": null,
524
+ "stop": {
525
+ "alerts": [],
526
+ "code": "5005",
527
+ "gtfsId": "1:5005",
528
+ "id": "U3RvcDoxOjUwMDU",
529
+ "lat": 45.515682,
530
+ "lon": -122.679352
531
+ },
532
+ "vertexType": "TRANSIT"
533
+ },
534
+ "headsign": "Fisher's Landing Transit Center",
535
+ "id": "rO0ABXdKABhTQ0hFRFVMRURfVFJBTlNJVF9MRUdfVjMACDE6Njk5MzAxAAoyMDI1LTEwLTIzAAAAAQAAAAMABjE6NTAwNQAGMTo5MDA4AAA=",
536
+ "interlineWithPreviousLeg": false,
537
+ "intermediateStops": [
538
+ {
539
+ "lat": 45.510939,
540
+ "locationType": "STOP",
541
+ "lon": -122.681923,
542
+ "name": "SW 5th & Harrison",
543
+ "stopCode": "5008",
544
+ "stopId": "U3RvcDoxOjUwMDg"
545
+ }
546
+ ],
547
+ "legGeometry": {
548
+ "length": 458,
549
+ "points": "{wxtGrxwkV??f@T`CfAdCfAdCfAdCfAbCfAdCfAjB|@??@?VLdCbAbCfAbChA|FdBZHj@Fl@KXK^a@\\m@Xu@bA_DTw@Ry@Pu@Jq@B_@?c@DUNiAJsAJcBF}AVwD@S@W@]l@iIDm@Bw@@g@@_@?MEgDGo@G_@a@cBc@eA_@k@OWyA}Bu@gAsAqB}KySq@iAi@i@o@_@g@S]Ie@Ic@AY@}AV]J[J_@Lk@TiAj@kAPYBUBu@Dc@@mAA_ACwAGs@Ew@MaG_@sB[y@Sa@KUG_@Ik@Um@Wq@WoAi@ICw@QyBc@sAScBc@eE_A_GK{@Cg@Ge@?QAmAGMCWGe@Oo@]m@m@WWS[Y{@Om@OgAM}@KqAS_EQeAIm@Kg@Oo@a@uAiAyCgByEqCuH]_Aw@uC_@cBa@sB]gB_@wBoCuP}@qF_@iCMcAKsAIiBMiGMmGY}Mo@o`@GoCOkBIu@CYUkA[mAYu@e@kA]i@g@w@gAcAcA}@o@m@iC{Bk@q@a@c@Ye@Wi@q@mBOq@O}@Q}AIgAC{@?u@@u@Dq@Bo@RqBb@sCf@mD~BuPfBiLReBrBwLb@kBX}@xAsDbDiGvBqDzDaHb@y@f@cAp@{A\\cAPi@b@iBJq@RoAVoBNuAHcCBgBEcCEqBYgDi@oDOw@_@_BUw@i@{Am@wA{@oByG{OgKwVqHoQiCaGiAqCOe@k@kBYeAUmAW{AScBKgBI{BAqBBsADgAFaAHiAL_ANmAVsA|@qD`BqFfBcHdB}G\\kBl@_Cj@{B|@wD|AmGr@qD\\mCXyDHyAD_HEqCGmBUyC]yCi@_D]gB]iAgAkDMe@Q]Ym@e@}@qA_C}AmCuBsCgAoAcAgA}@u@mA{@eAk@{Aq@uAe@qAWeAO_Ig@}RuCy@Gs@Cq@?sAFu@LaBZgFhAgI`BuCd@}D|AsCnBsAjBY`@}@tAa@l@k@~@sIjMuAjAs@f@iAv@{Ap@mCl@_ALmAH[@qBG{AU[E}@]gB_A{BwAyAyAsC{DUY_DmEg@_A{CiEaLcPwKoOmCmE}@{Ae@m@Yc@gIyKMSwJ{Na@e@EGQQ[e@kDmE{BcCmDgDeEgCSOsBmAm@]qAu@kCeA}B_A{DoA_Ey@mC]eDY}CMQAqGHaCLyBTkBXQBkDr@qCt@aBj@uBz@mD~AoE|BsDnBcCpA_K`FqB|@mC~@sFnBwFdBsEbAmDj@qDh@aEf@KBA?YBgHj@yFN_BF]BW@C?y@Bs@BuADO?SEOEMGMMKMOYGSCQCQAUAI?K@W@K@MFSDQLULSHMJOPOf@c@n@c@b@Sj@SlDcAVITE`@MBALERKPKDCRUJONWLYLUPk@Lk@Hm@Fw@FqBDqBDmABi@HoA`@}DzAiLxAoKfCiQvD}VzEe\\v@oFjAcIrAiI~CeQxFc\\xAyHToAjCiOpAaF|CyNRgA^oA~@gC`CkGXaAJu@B}@AoAgBFK?K?oADuKA@xA?J@F@HBFBFFR@F?D@DAD?DGPm@hB]fA"
550
+ },
551
+ "mode": "BUS",
552
+ "pickupBookingInfo": null,
553
+ "pickupType": "SCHEDULED",
554
+ "realTime": false,
555
+ "realtimeState": "SCHEDULED",
556
+ "rentedBike": null,
557
+ "rideHailingEstimate": null,
558
+ "route": {
559
+ "alerts": [],
560
+ "color": "ffcb05",
561
+ "gtfsId": "1:164",
562
+ "id": "1:164",
563
+ "longName": "Fishers Landing Express",
564
+ "shortName": "164",
565
+ "textColor": "000000",
566
+ "type": 3
567
+ },
568
+ "startTime": 1761240180000,
569
+ "steps": [],
570
+ "stopCalls": [
571
+ {
572
+ "stopLocation": {
573
+ "__typename": "Stop"
574
+ }
575
+ },
576
+ {
577
+ "stopLocation": {
578
+ "__typename": "Stop"
579
+ }
580
+ },
581
+ {
582
+ "stopLocation": {
583
+ "__typename": "Stop"
584
+ }
585
+ }
586
+ ],
587
+ "to": {
588
+ "lat": 45.594627,
589
+ "lon": -122.505912,
590
+ "name": "Fisher's Landing Transit Center: Bay I",
591
+ "rentalVehicle": null,
592
+ "stop": {
593
+ "alerts": [],
594
+ "code": "9008",
595
+ "gtfsId": "1:9008",
596
+ "id": "U3RvcDoxOjkwMDg",
597
+ "lat": 45.594627,
598
+ "lon": -122.505912
599
+ },
600
+ "vertexType": "TRANSIT"
601
+ },
602
+ "transitLeg": true,
603
+ "trip": {
604
+ "arrivalStoptime": {
605
+ "stop": {
606
+ "gtfsId": "1:9008",
607
+ "id": "U3RvcDoxOjkwMDg"
608
+ },
609
+ "stopPosition": 4
610
+ },
611
+ "departureStoptime": {
612
+ "stop": {
613
+ "gtfsId": "1:5002",
614
+ "id": "U3RvcDoxOjUwMDI"
615
+ },
616
+ "stopPosition": 1
617
+ },
618
+ "gtfsId": "1:699301",
619
+ "id": "VHJpcDoxOjY5OTMwMQ"
620
+ }
621
+ },
622
+ {
623
+ "accessibilityScore": null,
624
+ "agency": null,
625
+ "alerts": [],
626
+ "arrivalDelay": 0,
627
+ "departureDelay": 0,
628
+ "distance": 149.52,
629
+ "dropOffBookingInfo": null,
630
+ "dropoffType": "SCHEDULED",
631
+ "duration": {
632
+ "source": "137.0",
633
+ "parsedValue": 137
634
+ },
635
+ "endTime": 1761241937000,
636
+ "fareProducts": [],
637
+ "from": {
638
+ "lat": 45.594627,
639
+ "lon": -122.505912,
640
+ "name": "Fisher's Landing Transit Center: Bay I",
641
+ "rentalVehicle": null,
642
+ "stop": {
643
+ "alerts": [],
644
+ "code": "9008",
645
+ "gtfsId": "1:9008",
646
+ "id": "U3RvcDoxOjkwMDg",
647
+ "lat": 45.594627,
648
+ "lon": -122.505912
649
+ },
650
+ "vertexType": "TRANSIT"
651
+ },
652
+ "headsign": null,
653
+ "id": null,
654
+ "interlineWithPreviousLeg": false,
655
+ "intermediateStops": null,
656
+ "legGeometry": {
657
+ "length": 12,
658
+ "points": "kehuG~|ujV@@ALMXA@Se@~@sCQh@B@KZPL?@"
659
+ },
660
+ "mode": "WALK",
661
+ "pickupBookingInfo": null,
662
+ "pickupType": "SCHEDULED",
663
+ "realTime": false,
664
+ "realtimeState": null,
665
+ "rentedBike": false,
666
+ "rideHailingEstimate": null,
667
+ "route": null,
668
+ "startTime": 1761241800000,
669
+ "steps": [
670
+ {
671
+ "absoluteDirection": "WEST",
672
+ "alerts": [],
673
+ "area": true,
674
+ "distance": 20.2,
675
+ "elevationProfile": [],
676
+ "lat": 45.5946121,
677
+ "lon": -122.5059241,
678
+ "relativeDirection": "DEPART",
679
+ "stayOn": false,
680
+ "streetName": "Fisher's Landing Transit Center"
681
+ },
682
+ {
683
+ "absoluteDirection": "SOUTHEAST",
684
+ "alerts": [],
685
+ "area": true,
686
+ "distance": 129.32,
687
+ "elevationProfile": [],
688
+ "lat": 45.5948003,
689
+ "lon": -122.5059456,
690
+ "relativeDirection": "UTURN_RIGHT",
691
+ "stayOn": true,
692
+ "streetName": "Fisher's Landing Transit Center"
693
+ }
694
+ ],
695
+ "stopCalls": [],
696
+ "to": {
697
+ "lat": 45.59452,
698
+ "lon": -122.505645,
699
+ "name": "Fisher's Landing Transit Center: Bay G",
700
+ "rentalVehicle": null,
701
+ "stop": {
702
+ "alerts": [],
703
+ "code": "9006",
704
+ "gtfsId": "1:9006",
705
+ "id": "U3RvcDoxOjkwMDY",
706
+ "lat": 45.59452,
707
+ "lon": -122.505645
708
+ },
709
+ "vertexType": "TRANSIT"
710
+ },
711
+ "transitLeg": false,
712
+ "trip": null
713
+ },
714
+ {
715
+ "accessibilityScore": null,
716
+ "agency": {
717
+ "alerts": [],
718
+ "gtfsId": "1:C-TRAN",
719
+ "id": "1:C-TRAN",
720
+ "name": "C-TRAN",
721
+ "timezone": "America/Los_Angeles",
722
+ "url": "http://www.C-TRAN.com"
723
+ },
724
+ "alerts": [],
725
+ "arrivalDelay": 0,
726
+ "departureDelay": 0,
727
+ "distance": 3219.58,
728
+ "dropOffBookingInfo": null,
729
+ "dropoffType": "SCHEDULED",
730
+ "duration": {
731
+ "source": "420.0",
732
+ "parsedValue": 420
733
+ },
734
+ "endTime": 1761242820000,
735
+ "fareProducts": [
736
+ {
737
+ "id": "01012534-e2ba-3fc1-975c-982933fad2fd",
738
+ "product": {
739
+ "__typename": "DefaultFareProduct",
740
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
741
+ "medium": {
742
+ "id": "1:1",
743
+ "name": "Ticket"
744
+ },
745
+ "name": "Adult Express 2 1/2 Hours",
746
+ "riderCategory": {
747
+ "id": "1:ADULT",
748
+ "name": "Adult"
749
+ },
750
+ "price": {
751
+ "amount": 3.0,
752
+ "currency": {
753
+ "code": "USD",
754
+ "digits": 2
755
+ }
756
+ }
757
+ }
758
+ },
759
+ {
760
+ "id": "25f2b488-a759-3a18-9875-bd1024c61d31",
761
+ "product": {
762
+ "__typename": "DefaultFareProduct",
763
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
764
+ "medium": {
765
+ "id": "1:0",
766
+ "name": "Cash"
767
+ },
768
+ "name": "Adult Express 2 1/2 Hours",
769
+ "riderCategory": {
770
+ "id": "1:ADULT",
771
+ "name": "Adult"
772
+ },
773
+ "price": {
774
+ "amount": 3.0,
775
+ "currency": {
776
+ "code": "USD",
777
+ "digits": 2
778
+ }
779
+ }
780
+ }
781
+ },
782
+ {
783
+ "id": "9bd9194e-88fb-3fae-971f-3b3201c31599",
784
+ "product": {
785
+ "__typename": "DefaultFareProduct",
786
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
787
+ "medium": {
788
+ "id": "1:3",
789
+ "name": "Open Payment"
790
+ },
791
+ "name": "Adult Express 2 1/2 Hours",
792
+ "riderCategory": {
793
+ "id": "1:ADULT",
794
+ "name": "Adult"
795
+ },
796
+ "price": {
797
+ "amount": 3.0,
798
+ "currency": {
799
+ "code": "USD",
800
+ "digits": 2
801
+ }
802
+ }
803
+ }
804
+ },
805
+ {
806
+ "id": "b6d8eab0-48e7-3232-a442-cdebd7594010",
807
+ "product": {
808
+ "__typename": "DefaultFareProduct",
809
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
810
+ "medium": {
811
+ "id": "1:4",
812
+ "name": "Virtual HOP Fastpass"
813
+ },
814
+ "name": "Adult Express 2 1/2 Hours",
815
+ "riderCategory": {
816
+ "id": "1:ADULT",
817
+ "name": "Adult"
818
+ },
819
+ "price": {
820
+ "amount": 3.0,
821
+ "currency": {
822
+ "code": "USD",
823
+ "digits": 2
824
+ }
825
+ }
826
+ }
827
+ },
828
+ {
829
+ "id": "e8ecf087-5f32-30a0-a14d-56f62849f95f",
830
+ "product": {
831
+ "__typename": "DefaultFareProduct",
832
+ "id": "1:ADULT_EXPRESS_SINGLE_RIDE",
833
+ "medium": {
834
+ "id": "1:2",
835
+ "name": "HOP Fastpass"
836
+ },
837
+ "name": "Adult Express 2 1/2 Hours",
838
+ "riderCategory": {
839
+ "id": "1:ADULT",
840
+ "name": "Adult"
841
+ },
842
+ "price": {
843
+ "amount": 3.0,
844
+ "currency": {
845
+ "code": "USD",
846
+ "digits": 2
847
+ }
848
+ }
849
+ }
850
+ },
851
+ {
852
+ "id": "0bad187a-00dc-3113-93ba-76bf499b9368",
853
+ "product": {
854
+ "__typename": "DefaultFareProduct",
855
+ "id": "1:ADULT_LOCAL_SINGLE_RIDE",
856
+ "medium": {
857
+ "id": "1:2",
858
+ "name": "HOP Fastpass"
859
+ },
860
+ "name": "Adult Local 2 1/2 Hours",
861
+ "riderCategory": {
862
+ "id": "1:ADULT",
863
+ "name": "Adult"
864
+ },
865
+ "price": {
866
+ "amount": 1.25,
867
+ "currency": {
868
+ "code": "USD",
869
+ "digits": 2
870
+ }
871
+ }
872
+ }
873
+ },
874
+ {
875
+ "id": "0bb62088-ecd4-304a-b3e4-fc945aa8aedd",
876
+ "product": {
877
+ "__typename": "DefaultFareProduct",
878
+ "id": "1:ADULT_LOCAL_SINGLE_RIDE",
879
+ "medium": {
880
+ "id": "1:0",
881
+ "name": "Cash"
882
+ },
883
+ "name": "Adult Local 2 1/2 Hours",
884
+ "riderCategory": {
885
+ "id": "1:ADULT",
886
+ "name": "Adult"
887
+ },
888
+ "price": {
889
+ "amount": 1.25,
890
+ "currency": {
891
+ "code": "USD",
892
+ "digits": 2
893
+ }
894
+ }
895
+ }
896
+ },
897
+ {
898
+ "id": "15950ecf-b22b-38bd-9b3c-1d523c4bce16",
899
+ "product": {
900
+ "__typename": "DefaultFareProduct",
901
+ "id": "1:ADULT_LOCAL_SINGLE_RIDE",
902
+ "medium": {
903
+ "id": "1:3",
904
+ "name": "Open Payment"
905
+ },
906
+ "name": "Adult Local 2 1/2 Hours",
907
+ "riderCategory": {
908
+ "id": "1:ADULT",
909
+ "name": "Adult"
910
+ },
911
+ "price": {
912
+ "amount": 1.25,
913
+ "currency": {
914
+ "code": "USD",
915
+ "digits": 2
916
+ }
917
+ }
918
+ }
919
+ },
920
+ {
921
+ "id": "3368efd6-f786-3bfe-8fd5-ff61adfa81f4",
922
+ "product": {
923
+ "__typename": "DefaultFareProduct",
924
+ "id": "1:ADULT_LOCAL_SINGLE_RIDE",
925
+ "medium": {
926
+ "id": "1:4",
927
+ "name": "Virtual HOP Fastpass"
928
+ },
929
+ "name": "Adult Local 2 1/2 Hours",
930
+ "riderCategory": {
931
+ "id": "1:ADULT",
932
+ "name": "Adult"
933
+ },
934
+ "price": {
935
+ "amount": 1.25,
936
+ "currency": {
937
+ "code": "USD",
938
+ "digits": 2
939
+ }
940
+ }
941
+ }
942
+ },
943
+ {
944
+ "id": "e823967e-0c9d-3c8d-bbad-4748911e6ebc",
945
+ "product": {
946
+ "__typename": "DefaultFareProduct",
947
+ "id": "1:ADULT_LOCAL_SINGLE_RIDE",
948
+ "medium": {
949
+ "id": "1:1",
950
+ "name": "Ticket"
951
+ },
952
+ "name": "Adult Local 2 1/2 Hours",
953
+ "riderCategory": {
954
+ "id": "1:ADULT",
955
+ "name": "Adult"
956
+ },
957
+ "price": {
958
+ "amount": 1.25,
959
+ "currency": {
960
+ "code": "USD",
961
+ "digits": 2
962
+ }
963
+ }
964
+ }
965
+ },
966
+ {
967
+ "id": "28813439-fcea-3543-ae1c-57082d5118c8",
968
+ "product": {
969
+ "__typename": "DefaultFareProduct",
970
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
971
+ "medium": {
972
+ "id": "1:2",
973
+ "name": "HOP Fastpass"
974
+ },
975
+ "name": "Honored Citizen Express 2 1/2 Hours",
976
+ "riderCategory": {
977
+ "id": "1:HONORED_CITIZEN",
978
+ "name": "Honored Citizen"
979
+ },
980
+ "price": {
981
+ "amount": 3.0,
982
+ "currency": {
983
+ "code": "USD",
984
+ "digits": 2
985
+ }
986
+ }
987
+ }
988
+ },
989
+ {
990
+ "id": "4f9c51f6-3658-3485-a2e1-52ea1a0b39f8",
991
+ "product": {
992
+ "__typename": "DefaultFareProduct",
993
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
994
+ "medium": {
995
+ "id": "1:0",
996
+ "name": "Cash"
997
+ },
998
+ "name": "Honored Citizen Express 2 1/2 Hours",
999
+ "riderCategory": {
1000
+ "id": "1:HONORED_CITIZEN",
1001
+ "name": "Honored Citizen"
1002
+ },
1003
+ "price": {
1004
+ "amount": 3.0,
1005
+ "currency": {
1006
+ "code": "USD",
1007
+ "digits": 2
1008
+ }
1009
+ }
1010
+ }
1011
+ },
1012
+ {
1013
+ "id": "a979728c-71da-32df-a91c-8007546e6544",
1014
+ "product": {
1015
+ "__typename": "DefaultFareProduct",
1016
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
1017
+ "medium": {
1018
+ "id": "1:1",
1019
+ "name": "Ticket"
1020
+ },
1021
+ "name": "Honored Citizen Express 2 1/2 Hours",
1022
+ "riderCategory": {
1023
+ "id": "1:HONORED_CITIZEN",
1024
+ "name": "Honored Citizen"
1025
+ },
1026
+ "price": {
1027
+ "amount": 3.0,
1028
+ "currency": {
1029
+ "code": "USD",
1030
+ "digits": 2
1031
+ }
1032
+ }
1033
+ }
1034
+ },
1035
+ {
1036
+ "id": "b548ee25-aa90-3a07-a5cd-b07c272abaf8",
1037
+ "product": {
1038
+ "__typename": "DefaultFareProduct",
1039
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
1040
+ "medium": {
1041
+ "id": "1:3",
1042
+ "name": "Open Payment"
1043
+ },
1044
+ "name": "Honored Citizen Express 2 1/2 Hours",
1045
+ "riderCategory": {
1046
+ "id": "1:HONORED_CITIZEN",
1047
+ "name": "Honored Citizen"
1048
+ },
1049
+ "price": {
1050
+ "amount": 3.0,
1051
+ "currency": {
1052
+ "code": "USD",
1053
+ "digits": 2
1054
+ }
1055
+ }
1056
+ }
1057
+ },
1058
+ {
1059
+ "id": "bdd031b6-a0d3-3bfb-bf47-935873f1aa42",
1060
+ "product": {
1061
+ "__typename": "DefaultFareProduct",
1062
+ "id": "1:HC_EXPRESS_SINGLE_RIDE",
1063
+ "medium": {
1064
+ "id": "1:4",
1065
+ "name": "Virtual HOP Fastpass"
1066
+ },
1067
+ "name": "Honored Citizen Express 2 1/2 Hours",
1068
+ "riderCategory": {
1069
+ "id": "1:HONORED_CITIZEN",
1070
+ "name": "Honored Citizen"
1071
+ },
1072
+ "price": {
1073
+ "amount": 3.0,
1074
+ "currency": {
1075
+ "code": "USD",
1076
+ "digits": 2
1077
+ }
1078
+ }
1079
+ }
1080
+ },
1081
+ {
1082
+ "id": "3d220f45-ea2b-3158-b407-2d33a29cc60c",
1083
+ "product": {
1084
+ "__typename": "DefaultFareProduct",
1085
+ "id": "1:HC_LOCAL_SINGLE_RIDE",
1086
+ "medium": {
1087
+ "id": "1:1",
1088
+ "name": "Ticket"
1089
+ },
1090
+ "name": "Honored Citizen Local 2 1/2 Hours",
1091
+ "riderCategory": {
1092
+ "id": "1:HONORED_CITIZEN",
1093
+ "name": "Honored Citizen"
1094
+ },
1095
+ "price": {
1096
+ "amount": 0.6,
1097
+ "currency": {
1098
+ "code": "USD",
1099
+ "digits": 2
1100
+ }
1101
+ }
1102
+ }
1103
+ },
1104
+ {
1105
+ "id": "76dae477-8e4c-3ed9-a13d-653dbb7dd282",
1106
+ "product": {
1107
+ "__typename": "DefaultFareProduct",
1108
+ "id": "1:HC_LOCAL_SINGLE_RIDE",
1109
+ "medium": {
1110
+ "id": "1:2",
1111
+ "name": "HOP Fastpass"
1112
+ },
1113
+ "name": "Honored Citizen Local 2 1/2 Hours",
1114
+ "riderCategory": {
1115
+ "id": "1:HONORED_CITIZEN",
1116
+ "name": "Honored Citizen"
1117
+ },
1118
+ "price": {
1119
+ "amount": 0.6,
1120
+ "currency": {
1121
+ "code": "USD",
1122
+ "digits": 2
1123
+ }
1124
+ }
1125
+ }
1126
+ },
1127
+ {
1128
+ "id": "b77c9c3e-7e16-3982-84bf-ff985fef2ce4",
1129
+ "product": {
1130
+ "__typename": "DefaultFareProduct",
1131
+ "id": "1:HC_LOCAL_SINGLE_RIDE",
1132
+ "medium": {
1133
+ "id": "1:4",
1134
+ "name": "Virtual HOP Fastpass"
1135
+ },
1136
+ "name": "Honored Citizen Local 2 1/2 Hours",
1137
+ "riderCategory": {
1138
+ "id": "1:HONORED_CITIZEN",
1139
+ "name": "Honored Citizen"
1140
+ },
1141
+ "price": {
1142
+ "amount": 0.6,
1143
+ "currency": {
1144
+ "code": "USD",
1145
+ "digits": 2
1146
+ }
1147
+ }
1148
+ }
1149
+ },
1150
+ {
1151
+ "id": "c254b865-9bfb-39fd-adf3-e1c0ac31abbc",
1152
+ "product": {
1153
+ "__typename": "DefaultFareProduct",
1154
+ "id": "1:HC_LOCAL_SINGLE_RIDE",
1155
+ "medium": {
1156
+ "id": "1:3",
1157
+ "name": "Open Payment"
1158
+ },
1159
+ "name": "Honored Citizen Local 2 1/2 Hours",
1160
+ "riderCategory": {
1161
+ "id": "1:HONORED_CITIZEN",
1162
+ "name": "Honored Citizen"
1163
+ },
1164
+ "price": {
1165
+ "amount": 0.6,
1166
+ "currency": {
1167
+ "code": "USD",
1168
+ "digits": 2
1169
+ }
1170
+ }
1171
+ }
1172
+ },
1173
+ {
1174
+ "id": "ff8ce8fa-9c43-39f0-8975-43f8217b4d80",
1175
+ "product": {
1176
+ "__typename": "DefaultFareProduct",
1177
+ "id": "1:HC_LOCAL_SINGLE_RIDE",
1178
+ "medium": {
1179
+ "id": "1:0",
1180
+ "name": "Cash"
1181
+ },
1182
+ "name": "Honored Citizen Local 2 1/2 Hours",
1183
+ "riderCategory": {
1184
+ "id": "1:HONORED_CITIZEN",
1185
+ "name": "Honored Citizen"
1186
+ },
1187
+ "price": {
1188
+ "amount": 0.6,
1189
+ "currency": {
1190
+ "code": "USD",
1191
+ "digits": 2
1192
+ }
1193
+ }
1194
+ }
1195
+ },
1196
+ {
1197
+ "id": "45399863-df02-349b-8613-5795194bcc7a",
1198
+ "product": {
1199
+ "__typename": "DefaultFareProduct",
1200
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
1201
+ "medium": {
1202
+ "id": "1:0",
1203
+ "name": "Cash"
1204
+ },
1205
+ "name": "Youth Express 2 1/2 Hours",
1206
+ "riderCategory": {
1207
+ "id": "1:YOUTH",
1208
+ "name": "Youth"
1209
+ },
1210
+ "price": {
1211
+ "amount": 3.0,
1212
+ "currency": {
1213
+ "code": "USD",
1214
+ "digits": 2
1215
+ }
1216
+ }
1217
+ }
1218
+ },
1219
+ {
1220
+ "id": "795c2d2d-1c47-3197-b3cc-e040294e8896",
1221
+ "product": {
1222
+ "__typename": "DefaultFareProduct",
1223
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
1224
+ "medium": {
1225
+ "id": "1:2",
1226
+ "name": "HOP Fastpass"
1227
+ },
1228
+ "name": "Youth Express 2 1/2 Hours",
1229
+ "riderCategory": {
1230
+ "id": "1:YOUTH",
1231
+ "name": "Youth"
1232
+ },
1233
+ "price": {
1234
+ "amount": 3.0,
1235
+ "currency": {
1236
+ "code": "USD",
1237
+ "digits": 2
1238
+ }
1239
+ }
1240
+ }
1241
+ },
1242
+ {
1243
+ "id": "9102431b-41be-383b-9a82-915c74035b6a",
1244
+ "product": {
1245
+ "__typename": "DefaultFareProduct",
1246
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
1247
+ "medium": {
1248
+ "id": "1:3",
1249
+ "name": "Open Payment"
1250
+ },
1251
+ "name": "Youth Express 2 1/2 Hours",
1252
+ "riderCategory": {
1253
+ "id": "1:YOUTH",
1254
+ "name": "Youth"
1255
+ },
1256
+ "price": {
1257
+ "amount": 3.0,
1258
+ "currency": {
1259
+ "code": "USD",
1260
+ "digits": 2
1261
+ }
1262
+ }
1263
+ }
1264
+ },
1265
+ {
1266
+ "id": "9b406854-7fc1-331a-a59f-dff017f94786",
1267
+ "product": {
1268
+ "__typename": "DefaultFareProduct",
1269
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
1270
+ "medium": {
1271
+ "id": "1:4",
1272
+ "name": "Virtual HOP Fastpass"
1273
+ },
1274
+ "name": "Youth Express 2 1/2 Hours",
1275
+ "riderCategory": {
1276
+ "id": "1:YOUTH",
1277
+ "name": "Youth"
1278
+ },
1279
+ "price": {
1280
+ "amount": 3.0,
1281
+ "currency": {
1282
+ "code": "USD",
1283
+ "digits": 2
1284
+ }
1285
+ }
1286
+ }
1287
+ },
1288
+ {
1289
+ "id": "bcc36502-abe6-3a85-a5d1-ce418b313441",
1290
+ "product": {
1291
+ "__typename": "DefaultFareProduct",
1292
+ "id": "1:YOUTH_EXPRESS_SINGLE_RIDE",
1293
+ "medium": {
1294
+ "id": "1:1",
1295
+ "name": "Ticket"
1296
+ },
1297
+ "name": "Youth Express 2 1/2 Hours",
1298
+ "riderCategory": {
1299
+ "id": "1:YOUTH",
1300
+ "name": "Youth"
1301
+ },
1302
+ "price": {
1303
+ "amount": 3.0,
1304
+ "currency": {
1305
+ "code": "USD",
1306
+ "digits": 2
1307
+ }
1308
+ }
1309
+ }
1310
+ },
1311
+ {
1312
+ "id": "13f713db-e795-312d-a7c7-49b438a4a888",
1313
+ "product": {
1314
+ "__typename": "DefaultFareProduct",
1315
+ "id": "1:YOUTH_LOCAL_SINGLE_RIDE",
1316
+ "medium": {
1317
+ "id": "1:0",
1318
+ "name": "Cash"
1319
+ },
1320
+ "name": "Youth Local 2 1/2 Hours",
1321
+ "riderCategory": {
1322
+ "id": "1:YOUTH",
1323
+ "name": "Youth"
1324
+ },
1325
+ "price": {
1326
+ "amount": 0.0,
1327
+ "currency": {
1328
+ "code": "USD",
1329
+ "digits": 2
1330
+ }
1331
+ }
1332
+ }
1333
+ },
1334
+ {
1335
+ "id": "32a537af-91fc-397d-a8ad-f4d36b341e9a",
1336
+ "product": {
1337
+ "__typename": "DefaultFareProduct",
1338
+ "id": "1:YOUTH_LOCAL_SINGLE_RIDE",
1339
+ "medium": {
1340
+ "id": "1:2",
1341
+ "name": "HOP Fastpass"
1342
+ },
1343
+ "name": "Youth Local 2 1/2 Hours",
1344
+ "riderCategory": {
1345
+ "id": "1:YOUTH",
1346
+ "name": "Youth"
1347
+ },
1348
+ "price": {
1349
+ "amount": 0.0,
1350
+ "currency": {
1351
+ "code": "USD",
1352
+ "digits": 2
1353
+ }
1354
+ }
1355
+ }
1356
+ },
1357
+ {
1358
+ "id": "5cc34381-ddcd-35f8-b6b5-c001bf66f235",
1359
+ "product": {
1360
+ "__typename": "DefaultFareProduct",
1361
+ "id": "1:YOUTH_LOCAL_SINGLE_RIDE",
1362
+ "medium": {
1363
+ "id": "1:4",
1364
+ "name": "Virtual HOP Fastpass"
1365
+ },
1366
+ "name": "Youth Local 2 1/2 Hours",
1367
+ "riderCategory": {
1368
+ "id": "1:YOUTH",
1369
+ "name": "Youth"
1370
+ },
1371
+ "price": {
1372
+ "amount": 0.0,
1373
+ "currency": {
1374
+ "code": "USD",
1375
+ "digits": 2
1376
+ }
1377
+ }
1378
+ }
1379
+ },
1380
+ {
1381
+ "id": "6748b6a5-1bd1-30cb-8340-a98c71be2cf0",
1382
+ "product": {
1383
+ "__typename": "DefaultFareProduct",
1384
+ "id": "1:YOUTH_LOCAL_SINGLE_RIDE",
1385
+ "medium": {
1386
+ "id": "1:3",
1387
+ "name": "Open Payment"
1388
+ },
1389
+ "name": "Youth Local 2 1/2 Hours",
1390
+ "riderCategory": {
1391
+ "id": "1:YOUTH",
1392
+ "name": "Youth"
1393
+ },
1394
+ "price": {
1395
+ "amount": 0.0,
1396
+ "currency": {
1397
+ "code": "USD",
1398
+ "digits": 2
1399
+ }
1400
+ }
1401
+ }
1402
+ }
1403
+ ],
1404
+ "from": {
1405
+ "lat": 45.59452,
1406
+ "lon": -122.505645,
1407
+ "name": "Fisher's Landing Transit Center: Bay G",
1408
+ "rentalVehicle": null,
1409
+ "stop": {
1410
+ "alerts": [],
1411
+ "code": "9006",
1412
+ "gtfsId": "1:9006",
1413
+ "id": "U3RvcDoxOjkwMDY",
1414
+ "lat": 45.59452,
1415
+ "lon": -122.505645
1416
+ },
1417
+ "vertexType": "TRANSIT"
1418
+ },
1419
+ "headsign": "Downtown Vancouver",
1420
+ "id": "rO0ABXdKABhTQ0hFRFVMRURfVFJBTlNJVF9MRUdfVjMACDE6Njk2MjExAAoyMDI1LTEwLTIzAAAAAAAAAAcABjE6OTAwNgAGMToyOTI4AAA=",
1421
+ "interlineWithPreviousLeg": false,
1422
+ "intermediateStops": [
1423
+ {
1424
+ "lat": 45.598961,
1425
+ "locationType": "STOP",
1426
+ "lon": -122.503677,
1427
+ "name": "SE 164th Ave 3200 Block",
1428
+ "stopCode": "1316",
1429
+ "stopId": "U3RvcDoxOjEzMTY"
1430
+ },
1431
+ {
1432
+ "lat": 45.603245,
1433
+ "locationType": "STOP",
1434
+ "lon": -122.503586,
1435
+ "name": "SE 164th Ave & McGillivray",
1436
+ "stopCode": "1314",
1437
+ "stopId": "U3RvcDoxOjEzMTQ"
1438
+ },
1439
+ {
1440
+ "lat": 45.60563,
1441
+ "locationType": "STOP",
1442
+ "lon": -122.503728,
1443
+ "name": "SE 164th Ave at Fred Meyer",
1444
+ "stopCode": "2909",
1445
+ "stopId": "U3RvcDoxOjI5MDk"
1446
+ },
1447
+ {
1448
+ "lat": 45.611455,
1449
+ "locationType": "STOP",
1450
+ "lon": -122.503966,
1451
+ "name": "SE 164th Ave 1400 Block",
1452
+ "stopCode": "2130",
1453
+ "stopId": "U3RvcDoxOjIxMzA"
1454
+ },
1455
+ {
1456
+ "lat": 45.615855,
1457
+ "locationType": "STOP",
1458
+ "lon": -122.504129,
1459
+ "name": "SE 164th Ave & Mill Plain",
1460
+ "stopCode": "6239",
1461
+ "stopId": "U3RvcDoxOjYyMzk"
1462
+ },
1463
+ {
1464
+ "lat": 45.617961,
1465
+ "locationType": "STOP",
1466
+ "lon": -122.504049,
1467
+ "name": "SE 164th Ave & 5th St",
1468
+ "stopCode": "1397",
1469
+ "stopId": "U3RvcDoxOjEzOTc"
1470
+ }
1471
+ ],
1472
+ "legGeometry": {
1473
+ "length": 113,
1474
+ "points": "mdhuGp{ujVi@hBC@A@C?C?A?C?CAAACAAAACACAC?EAC?C?E?CENAJAHEFED_@LGDCD?LEH]Si@_@QMOKOKMIMIGIIGGECCMKMO_@k@ACK[K_@Ka@G_@Eg@Ac@Ac@AcAQ@qA?k@A[A]Ei@Ao@AwC@??A?M?q@?s@BkCCsH@m@?{DAw@@???@k@?sDCwFH????E?qEH_D?eD@S?QDsIRcD@uAB??A?qBBW@{C@aADU@i@@aEFiCBW@Y?gAA??A?oG?_BGq@???C?m@A_FB_C@{@ByDGaC@"
1475
+ },
1476
+ "mode": "BUS",
1477
+ "pickupBookingInfo": null,
1478
+ "pickupType": "SCHEDULED",
1479
+ "realTime": false,
1480
+ "realtimeState": "SCHEDULED",
1481
+ "rentedBike": null,
1482
+ "rideHailingEstimate": null,
1483
+ "route": {
1484
+ "alerts": [],
1485
+ "color": "3777bc",
1486
+ "gtfsId": "1:030",
1487
+ "id": "1:030",
1488
+ "longName": "Burton",
1489
+ "shortName": "30",
1490
+ "textColor": "ffffff",
1491
+ "type": 3
1492
+ },
1493
+ "startTime": 1761242400000,
1494
+ "steps": [],
1495
+ "stopCalls": [
1496
+ {
1497
+ "stopLocation": {
1498
+ "__typename": "Stop"
1499
+ }
1500
+ },
1501
+ {
1502
+ "stopLocation": {
1503
+ "__typename": "Stop"
1504
+ }
1505
+ },
1506
+ {
1507
+ "stopLocation": {
1508
+ "__typename": "Stop"
1509
+ }
1510
+ },
1511
+ {
1512
+ "stopLocation": {
1513
+ "__typename": "Stop"
1514
+ }
1515
+ },
1516
+ {
1517
+ "stopLocation": {
1518
+ "__typename": "Stop"
1519
+ }
1520
+ },
1521
+ {
1522
+ "stopLocation": {
1523
+ "__typename": "Stop"
1524
+ }
1525
+ },
1526
+ {
1527
+ "stopLocation": {
1528
+ "__typename": "Stop"
1529
+ }
1530
+ },
1531
+ {
1532
+ "stopLocation": {
1533
+ "__typename": "Stop"
1534
+ }
1535
+ }
1536
+ ],
1537
+ "to": {
1538
+ "lat": 45.621855,
1539
+ "lon": -122.504105,
1540
+ "name": "SE 164th Ave & 1st St",
1541
+ "rentalVehicle": null,
1542
+ "stop": {
1543
+ "alerts": [],
1544
+ "code": "2928",
1545
+ "gtfsId": "1:2928",
1546
+ "id": "U3RvcDoxOjI5Mjg",
1547
+ "lat": 45.621855,
1548
+ "lon": -122.504105
1549
+ },
1550
+ "vertexType": "TRANSIT"
1551
+ },
1552
+ "transitLeg": true,
1553
+ "trip": {
1554
+ "arrivalStoptime": {
1555
+ "stop": {
1556
+ "gtfsId": "1:632",
1557
+ "id": "U3RvcDoxOjYzMg"
1558
+ },
1559
+ "stopPosition": 54
1560
+ },
1561
+ "departureStoptime": {
1562
+ "stop": {
1563
+ "gtfsId": "1:9006",
1564
+ "id": "U3RvcDoxOjkwMDY"
1565
+ },
1566
+ "stopPosition": 1
1567
+ },
1568
+ "gtfsId": "1:696211",
1569
+ "id": "VHJpcDoxOjY5NjIxMQ"
1570
+ }
1571
+ },
1572
+ {
1573
+ "accessibilityScore": null,
1574
+ "agency": null,
1575
+ "alerts": [],
1576
+ "arrivalDelay": 0,
1577
+ "departureDelay": 0,
1578
+ "distance": 664.94,
1579
+ "dropOffBookingInfo": null,
1580
+ "dropoffType": "SCHEDULED",
1581
+ "duration": {
1582
+ "source": "551.0",
1583
+ "parsedValue": 551
1584
+ },
1585
+ "endTime": 1761243371000,
1586
+ "fareProducts": [],
1587
+ "from": {
1588
+ "lat": 45.621855,
1589
+ "lon": -122.504105,
1590
+ "name": "SE 164th Ave & 1st St",
1591
+ "rentalVehicle": null,
1592
+ "stop": {
1593
+ "alerts": [],
1594
+ "code": "2928",
1595
+ "gtfsId": "1:2928",
1596
+ "id": "U3RvcDoxOjI5Mjg",
1597
+ "lat": 45.621855,
1598
+ "lon": -122.504105
1599
+ },
1600
+ "vertexType": "TRANSIT"
1601
+ },
1602
+ "headsign": null,
1603
+ "id": null,
1604
+ "interlineWithPreviousLeg": false,
1605
+ "intermediateStops": null,
1606
+ "legGeometry": {
1607
+ "length": 29,
1608
+ "points": "qomuGtqujV?P`@?d@?^?@`@@V??B@@D@@?@?B@D?R?rA@h@W?INyA??rBkA?sA@q@??V?jQ?R?R@jA"
1609
+ },
1610
+ "mode": "WALK",
1611
+ "pickupBookingInfo": null,
1612
+ "pickupType": "SCHEDULED",
1613
+ "realTime": false,
1614
+ "realtimeState": null,
1615
+ "rentedBike": false,
1616
+ "rideHailingEstimate": null,
1617
+ "route": null,
1618
+ "startTime": 1761242820000,
1619
+ "steps": [
1620
+ {
1621
+ "absoluteDirection": "SOUTH",
1622
+ "alerts": [],
1623
+ "area": false,
1624
+ "distance": 57.5,
1625
+ "elevationProfile": [],
1626
+ "lat": 45.6218546,
1627
+ "lon": -122.5041948,
1628
+ "relativeDirection": "DEPART",
1629
+ "stayOn": false,
1630
+ "streetName": "Northeast 164th Avenue"
1631
+ },
1632
+ {
1633
+ "absoluteDirection": "WEST",
1634
+ "alerts": [],
1635
+ "area": false,
1636
+ "distance": 90.88,
1637
+ "elevationProfile": [],
1638
+ "lat": 45.6213375,
1639
+ "lon": -122.5041906,
1640
+ "relativeDirection": "RIGHT",
1641
+ "stayOn": false,
1642
+ "streetName": "bike path"
1643
+ },
1644
+ {
1645
+ "absoluteDirection": "NORTH",
1646
+ "alerts": [],
1647
+ "area": false,
1648
+ "distance": 116.4,
1649
+ "elevationProfile": [],
1650
+ "lat": 45.6212597,
1651
+ "lon": -122.505329,
1652
+ "relativeDirection": "RIGHT",
1653
+ "stayOn": true,
1654
+ "streetName": "service road"
1655
+ },
1656
+ {
1657
+ "absoluteDirection": "NORTH",
1658
+ "alerts": [],
1659
+ "area": false,
1660
+ "distance": 116.95,
1661
+ "elevationProfile": [],
1662
+ "lat": 45.6218775,
1663
+ "lon": -122.5059852,
1664
+ "relativeDirection": "RIGHT",
1665
+ "stayOn": false,
1666
+ "streetName": "Northeast 162nd Avenue"
1667
+ },
1668
+ {
1669
+ "absoluteDirection": "WEST",
1670
+ "alerts": [],
1671
+ "area": false,
1672
+ "distance": 283.22,
1673
+ "elevationProfile": [],
1674
+ "lat": 45.6229292,
1675
+ "lon": -122.5059956,
1676
+ "relativeDirection": "LEFT",
1677
+ "stayOn": false,
1678
+ "streetName": "Northeast 3rd Street"
1679
+ }
1680
+ ],
1681
+ "stopCalls": [],
1682
+ "to": {
1683
+ "lat": 45.623107,
1684
+ "lon": -122.509639,
1685
+ "name": "15818 NE 3rd St, Vancouver, WA",
1686
+ "rentalVehicle": null,
1687
+ "stop": null,
1688
+ "vertexType": "NORMAL"
1689
+ },
1690
+ "transitLeg": false,
1691
+ "trip": null
1692
+ }
1693
+ ],
1694
+ "startTime": 1761239786000,
1695
+ "transfers": 1,
1696
+ "waitingTime": 463,
1697
+ "walkTime": 1082
1698
+ }