@opentripplanner/core-utils 12.0.0-alpha.8 → 12.0.0

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.
Files changed (74) hide show
  1. package/esm/__tests__/__mocks__/bike-rental-itinerary.json +863 -0
  2. package/esm/__tests__/__mocks__/config.json +54 -0
  3. package/esm/__tests__/__mocks__/fare-products-itinerary.json +1299 -0
  4. package/esm/__tests__/__mocks__/routes.json +107 -0
  5. package/esm/__tests__/__mocks__/tnc-itinerary.json +1726 -0
  6. package/esm/bike-rental-itinerary.json +863 -0
  7. package/esm/config.json +54 -0
  8. package/esm/fare-products-itinerary.json +1299 -0
  9. package/esm/index.js +2 -0
  10. package/esm/index.js.map +1 -1
  11. package/esm/itinerary.js +46 -21
  12. package/esm/itinerary.js.map +1 -1
  13. package/esm/otpSchema.json +13373 -0
  14. package/esm/planQuery.graphql +281 -0
  15. package/esm/profile.js +1 -1
  16. package/esm/profile.js.map +1 -1
  17. package/esm/query-gen.js +8 -5
  18. package/esm/query-gen.js.map +1 -1
  19. package/esm/query.js +1 -5
  20. package/esm/query.js.map +1 -1
  21. package/esm/routes.json +107 -0
  22. package/esm/storage.js +2 -6
  23. package/esm/storage.js.map +1 -1
  24. package/esm/suspense.js +13 -0
  25. package/esm/suspense.js.map +1 -0
  26. package/esm/tnc-itinerary.json +1726 -0
  27. package/lib/__tests__/__mocks__/bike-rental-itinerary.json +863 -0
  28. package/lib/__tests__/__mocks__/config.json +54 -0
  29. package/lib/__tests__/__mocks__/fare-products-itinerary.json +1299 -0
  30. package/lib/__tests__/__mocks__/routes.json +107 -0
  31. package/lib/__tests__/__mocks__/tnc-itinerary.json +1726 -0
  32. package/lib/index.d.ts +2 -0
  33. package/lib/index.d.ts.map +1 -1
  34. package/lib/index.js +10 -0
  35. package/lib/index.js.map +1 -1
  36. package/lib/itinerary.d.ts +13 -4
  37. package/lib/itinerary.d.ts.map +1 -1
  38. package/lib/itinerary.js +59 -22
  39. package/lib/itinerary.js.map +1 -1
  40. package/lib/otpSchema.json +13373 -0
  41. package/lib/planQuery.graphql +281 -0
  42. package/lib/profile.js +1 -1
  43. package/lib/profile.js.map +1 -1
  44. package/lib/query-gen.d.ts +3 -1
  45. package/lib/query-gen.d.ts.map +1 -1
  46. package/lib/query-gen.js +8 -5
  47. package/lib/query-gen.js.map +1 -1
  48. package/lib/query.js +1 -5
  49. package/lib/query.js.map +1 -1
  50. package/lib/storage.d.ts.map +1 -1
  51. package/lib/storage.js +2 -6
  52. package/lib/storage.js.map +1 -1
  53. package/lib/suspense.d.ts +8 -0
  54. package/lib/suspense.d.ts.map +1 -0
  55. package/lib/suspense.js +26 -0
  56. package/lib/suspense.js.map +1 -0
  57. package/package.json +3 -3
  58. package/src/__tests__/itinerary.ts +36 -1
  59. package/src/core-utils.story.tsx +1 -1
  60. package/src/index.ts +2 -0
  61. package/src/itinerary.ts +68 -26
  62. package/src/otpSchema.json +0 -12
  63. package/src/planQuery.graphql +27 -0
  64. package/src/profile.js +1 -1
  65. package/src/query-gen.ts +8 -4
  66. package/src/query.js +1 -4
  67. package/src/storage.ts +5 -9
  68. package/src/suspense.tsx +19 -0
  69. package/tsconfig.json +1 -2
  70. package/tsconfig.tsbuildinfo +1 -1
  71. package/lib/core-utils.story.d.ts +0 -22
  72. package/lib/core-utils.story.d.ts.map +0 -1
  73. package/lib/core-utils.story.js +0 -69
  74. package/lib/core-utils.story.js.map +0 -1
@@ -0,0 +1,1299 @@
1
+ {
2
+ "duration": 6952,
3
+ "endTime": 1685146739000,
4
+ "startTime": 1685139787000,
5
+ "waitingTime": 184,
6
+ "walkTime": 2436,
7
+ "accessibilityScore": null,
8
+ "legs": [
9
+ {
10
+ "fareProducts": [],
11
+ "pickupType": "SCHEDULED",
12
+ "dropoffType": "SCHEDULED",
13
+ "pickupBookingInfo": null,
14
+ "rentedBike": false,
15
+ "interlineWithPreviousLeg": false,
16
+ "departureDelay": 0,
17
+ "arrivalDelay": 0,
18
+ "distance": 825.81,
19
+ "duration": 641,
20
+ "endTime": 1685140428000,
21
+ "mode": "WALK",
22
+ "realTime": false,
23
+ "realtimeState": null,
24
+ "startTime": 1685139787000,
25
+ "transitLeg": false,
26
+ "accessibilityScore": null,
27
+ "trip": null,
28
+ "agency": null,
29
+ "legGeometry": {
30
+ "length": 16,
31
+ "points": "}zrbHnykiV@GHk@Dg@dC@j@BhDh@AlD?tCCzKGfV?T?NO?a@???"
32
+ },
33
+ "intermediateStops": null,
34
+ "route": null,
35
+ "from": {
36
+ "lat": 47.7791977,
37
+ "lon": -122.2903181,
38
+ "name": "47.7792, -122.29032",
39
+ "vertexType": "NORMAL",
40
+ "rentalVehicle": null,
41
+ "stop": null
42
+ },
43
+ "to": {
44
+ "lat": 47.7776833,
45
+ "lon": -122.297684,
46
+ "name": "48th Ave W & 244th St SW",
47
+ "vertexType": "TRANSIT",
48
+ "rentalVehicle": null,
49
+ "stop": {
50
+ "id": "U3RvcDprY206ODI0MDU",
51
+ "code": "82405",
52
+ "gtfsId": "kcm:82405",
53
+ "alerts": []
54
+ }
55
+ },
56
+ "steps": [
57
+ {
58
+ "distance": 36.61,
59
+ "lat": 47.7791959,
60
+ "lon": -122.290319,
61
+ "relativeDirection": "DEPART",
62
+ "absoluteDirection": "EAST",
63
+ "stayOn": false,
64
+ "streetName": "242nd Street Southwest",
65
+ "area": false,
66
+ "alerts": [],
67
+ "elevationProfile": []
68
+ },
69
+ {
70
+ "distance": 194.04,
71
+ "lat": 47.7791005,
72
+ "lon": -122.2898502,
73
+ "relativeDirection": "RIGHT",
74
+ "absoluteDirection": "SOUTH",
75
+ "stayOn": false,
76
+ "streetName": "Cedar Way",
77
+ "area": false,
78
+ "alerts": [],
79
+ "elevationProfile": []
80
+ },
81
+ {
82
+ "distance": 567.32,
83
+ "lat": 47.7773669,
84
+ "lon": -122.2900921,
85
+ "relativeDirection": "RIGHT",
86
+ "absoluteDirection": "WEST",
87
+ "stayOn": false,
88
+ "streetName": "Northeast 205th Street - 244th Street Southwest",
89
+ "area": false,
90
+ "alerts": [],
91
+ "elevationProfile": []
92
+ },
93
+ {
94
+ "distance": 27.83,
95
+ "lat": 47.7774331,
96
+ "lon": -122.2976837,
97
+ "relativeDirection": "RIGHT",
98
+ "absoluteDirection": "NORTH",
99
+ "stayOn": false,
100
+ "streetName": "path",
101
+ "area": false,
102
+ "alerts": [],
103
+ "elevationProfile": []
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ "fareProducts": [
109
+ {
110
+ "id": "3ff3d12d-6747-3b47-842a-92c7bf167015",
111
+ "product": {
112
+ "id": "orca:farePayment",
113
+ "name": "rideCost",
114
+ "price": {
115
+ "currency": {
116
+ "code": "USD",
117
+ "digits": 2
118
+ },
119
+ "amount": 2.75
120
+ },
121
+ "riderCategory": {
122
+ "id": "orca:regular",
123
+ "name": "regular"
124
+ },
125
+ "medium": {
126
+ "id": "orca:cash",
127
+ "name": "cash"
128
+ }
129
+ }
130
+ },
131
+ {
132
+ "id": "77a8ba05-8081-301f-9fe4-777dcd10ae02",
133
+ "product": {
134
+ "id": "orca:farePayment",
135
+ "name": "rideCost",
136
+ "price": {
137
+ "currency": {
138
+ "code": "USD",
139
+ "digits": 2
140
+ },
141
+ "amount": 2.75
142
+ },
143
+ "riderCategory": {
144
+ "id": "orca:regular",
145
+ "name": "regular"
146
+ },
147
+ "medium": {
148
+ "id": "orca:electronic",
149
+ "name": "electronic"
150
+ }
151
+ }
152
+ },
153
+ {
154
+ "id": "77a8ba05-8081-301f-9fe4-777dcd10ae02",
155
+ "product": {
156
+ "id": "regular",
157
+ "name": "regular",
158
+ "price": {
159
+ "currency": {
160
+ "code": "USD",
161
+ "digits": 2
162
+ },
163
+ "amount": 2.75
164
+ },
165
+ "riderCategory": null,
166
+ "medium": null
167
+ }
168
+ },
169
+ {
170
+ "id": "0740913d-0e0a-34ab-9518-014f2025b1a8",
171
+ "product": {
172
+ "id": "orca:farePayment",
173
+ "name": "rideCost",
174
+ "price": {
175
+ "currency": {
176
+ "code": "USD",
177
+ "digits": 2
178
+ },
179
+ "amount": 1
180
+ },
181
+ "riderCategory": {
182
+ "id": "orca:senior",
183
+ "name": "senior"
184
+ },
185
+ "medium": {
186
+ "id": "orca:cash",
187
+ "name": "cash"
188
+ }
189
+ }
190
+ },
191
+ {
192
+ "id": "16ac6750-91b2-347c-b991-e63f8c483de9",
193
+ "product": {
194
+ "id": "orca:farePayment",
195
+ "name": "rideCost",
196
+ "price": {
197
+ "currency": {
198
+ "code": "USD",
199
+ "digits": 2
200
+ },
201
+ "amount": 0
202
+ },
203
+ "riderCategory": {
204
+ "id": "orca:youth",
205
+ "name": "youth"
206
+ },
207
+ "medium": {
208
+ "id": "orca:electronic",
209
+ "name": "electronic"
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "id": "cf501333-167f-31b1-b99a-0e9b17d4a16c",
215
+ "product": {
216
+ "id": "orca:farePayment",
217
+ "name": "rideCost",
218
+ "price": {
219
+ "currency": {
220
+ "code": "USD",
221
+ "digits": 2
222
+ },
223
+ "amount": 1.5
224
+ },
225
+ "riderCategory": {
226
+ "id": "orca:special",
227
+ "name": "special"
228
+ },
229
+ "medium": {
230
+ "id": "orca:electronic",
231
+ "name": "electronic"
232
+ }
233
+ }
234
+ },
235
+ {
236
+ "id": "1b2d9477-8ce5-3eec-a63d-7d2534fa3bef",
237
+ "product": {
238
+ "id": "orca:farePayment",
239
+ "name": "rideCost",
240
+ "price": {
241
+ "currency": {
242
+ "code": "USD",
243
+ "digits": 2
244
+ },
245
+ "amount": 0
246
+ },
247
+ "riderCategory": {
248
+ "id": "orca:youth",
249
+ "name": "youth"
250
+ },
251
+ "medium": {
252
+ "id": "orca:cash",
253
+ "name": "cash"
254
+ }
255
+ }
256
+ },
257
+ {
258
+ "id": "105e04d3-a575-3f65-96c1-e33d5199f339",
259
+ "product": {
260
+ "id": "orca:farePayment",
261
+ "name": "rideCost",
262
+ "price": {
263
+ "currency": {
264
+ "code": "USD",
265
+ "digits": 2
266
+ },
267
+ "amount": 1
268
+ },
269
+ "riderCategory": {
270
+ "id": "orca:senior",
271
+ "name": "senior"
272
+ },
273
+ "medium": {
274
+ "id": "orca:electronic",
275
+ "name": "electronic"
276
+ }
277
+ }
278
+ }
279
+ ],
280
+ "pickupType": "SCHEDULED",
281
+ "dropoffType": "SCHEDULED",
282
+ "pickupBookingInfo": null,
283
+ "rentedBike": null,
284
+ "interlineWithPreviousLeg": false,
285
+ "departureDelay": 0,
286
+ "arrivalDelay": 0,
287
+ "distance": 12180.55,
288
+ "duration": 2112,
289
+ "endTime": 1685142540000,
290
+ "mode": "BUS",
291
+ "realTime": false,
292
+ "realtimeState": null,
293
+ "startTime": 1685140428000,
294
+ "transitLeg": true,
295
+ "accessibilityScore": null,
296
+ "trip": {
297
+ "id": "VHJpcDprY206NTQxNDgwODUz",
298
+ "gtfsId": "kcm:541480853",
299
+ "tripHeadsign": "Northgate Station Ridgecrest"
300
+ },
301
+ "agency": {
302
+ "name": "Metro Transit",
303
+ "id": "QWdlbmN5OmtjbTox",
304
+ "timezone": "America/Los_Angeles",
305
+ "url": "https://kingcounty.gov/en/dept/metro",
306
+ "alerts": []
307
+ },
308
+ "legGeometry": {
309
+ "length": 262,
310
+ "points": "oqrbH~fmiVp@??fEC|DCjE?fN?h@??AfEAvCAxA@n@AdCAhD?tAAtCA~@???hDAfF?bBAn@???ZA`A?`@Av@Ax@AhB?R@NBNFLLPVXN@T?R?l@A??fCGnCEzBE??hBErAApIM??nGKX?R?L?N@XFLBFBJ@LFLHPHPJTNXV^ZTPRRrAl@F@??d@Jb@DT?TCxCIVCl@Ab@CTEHCTGNGTKb@Sp@c@TINIPC??FCPEVAVAV?b@?V@^A\\IZEZKf@UrAq@|@a@d@W`@_@f@_@NM??x@m@b@Cz@M\\C^?z@Px@XZPZXn@r@r@f@ZLb@Rb@FZFb@?z@???tA?rF@|I?AjD??CbJA|FA|C??AtBEpOEtOxCC??Z?|BAzEGdECf@???dIEhJG`DE??jAAfFEzCE??J?zA?xACdDE??N?pDCpDE`BCp@A??pFG~CC^A^???fBAbEEvCE\\?X???bCA|@F`E?f@?@mG???C@yGFwO@qG@gF???]DyOtAC??tGAt@???vHEn@???~HE|HA??n@?|G?tC?xA?~D@Z???lI?p@???rHBB?pAC??vGIp@???xHI|@C??|CCt@?ZBRJRNRR`@h@LTpFhI??~@xAbD~E`A|A|AzB\\Z^Vf@Rx@R~CArAC?fB??CvLA|OnA???hDEbFGx@???|DErDAvDA?jB??AfCA`HA~G?pB?P|A?lA?"
311
+ },
312
+ "intermediateStops": [
313
+ {
314
+ "lat": 47.7775421,
315
+ "lon": -122.303215,
316
+ "name": "NE 205th St & 52nd Ave W",
317
+ "stopCode": "82410",
318
+ "stopId": "U3RvcDprY206ODI0MTA",
319
+ "locationType": "STOP"
320
+ },
321
+ {
322
+ "lat": 47.7775955,
323
+ "lon": -122.308685,
324
+ "name": "NE 205th St & 56th Ave W",
325
+ "stopCode": "82430",
326
+ "stopId": "U3RvcDprY206ODI0MzA",
327
+ "locationType": "STOP"
328
+ },
329
+ {
330
+ "lat": 47.7776146,
331
+ "lon": -122.311432,
332
+ "name": "NE 205th St & 58th Pl W",
333
+ "stopCode": "82440",
334
+ "stopId": "U3RvcDprY206ODI0NDA",
335
+ "locationType": "STOP"
336
+ },
337
+ {
338
+ "lat": 47.7768135,
339
+ "lon": -122.31382,
340
+ "name": "15th Ave NE & Ballinger Way NE",
341
+ "stopCode": "77400",
342
+ "stopId": "U3RvcDprY206Nzc0MDA",
343
+ "locationType": "STOP"
344
+ },
345
+ {
346
+ "lat": 47.7747955,
347
+ "lon": -122.313721,
348
+ "name": "15th Ave NE & Forest Park Dr NE",
349
+ "stopCode": "77410",
350
+ "stopId": "U3RvcDprY206Nzc0MTA",
351
+ "locationType": "STOP"
352
+ },
353
+ {
354
+ "lat": 47.7721519,
355
+ "lon": -122.313614,
356
+ "name": "15th Ave NE & NE 200th Ct",
357
+ "stopCode": "77418",
358
+ "stopId": "U3RvcDprY206Nzc0MTg",
359
+ "locationType": "STOP"
360
+ },
361
+ {
362
+ "lat": 47.768734,
363
+ "lon": -122.314636,
364
+ "name": "15th Ave NE & NE 192nd St",
365
+ "stopCode": "77940",
366
+ "stopId": "U3RvcDprY206Nzc5NDA",
367
+ "locationType": "STOP"
368
+ },
369
+ {
370
+ "lat": 47.7656479,
371
+ "lon": -122.313995,
372
+ "name": "15th Ave NE & NE Perkins Way",
373
+ "stopCode": "77440",
374
+ "stopId": "U3RvcDprY206Nzc0NDA",
375
+ "locationType": "STOP"
376
+ },
377
+ {
378
+ "lat": 47.7626801,
379
+ "lon": -122.312752,
380
+ "name": "15th Ave NE & 24th Ave NE",
381
+ "stopCode": "77450",
382
+ "stopId": "U3RvcDprY206Nzc0NTA",
383
+ "locationType": "STOP"
384
+ },
385
+ {
386
+ "lat": 47.7591515,
387
+ "lon": -122.31356,
388
+ "name": "15th Ave NE & NE 180th St",
389
+ "stopCode": "77460",
390
+ "stopId": "U3RvcDprY206Nzc0NjA",
391
+ "locationType": "STOP"
392
+ },
393
+ {
394
+ "lat": 47.7558212,
395
+ "lon": -122.314339,
396
+ "name": "NE 175th St & 15th Ave NE",
397
+ "stopCode": "77738",
398
+ "stopId": "U3RvcDprY206Nzc3Mzg",
399
+ "locationType": "STOP"
400
+ },
401
+ {
402
+ "lat": 47.7558632,
403
+ "lon": -122.318176,
404
+ "name": "NE 175th St & 10th Ave NE",
405
+ "stopCode": "77737",
406
+ "stopId": "U3RvcDprY206Nzc3Mzc",
407
+ "locationType": "STOP"
408
+ },
409
+ {
410
+ "lat": 47.7550964,
411
+ "lon": -122.324158,
412
+ "name": "5th Ave NE & NE 174th St",
413
+ "stopCode": "81246",
414
+ "stopId": "U3RvcDprY206ODEyNDY",
415
+ "locationType": "STOP"
416
+ },
417
+ {
418
+ "lat": 47.752037,
419
+ "lon": -122.324104,
420
+ "name": "5th Ave NE & NE 170th St",
421
+ "stopCode": "81248",
422
+ "stopId": "U3RvcDprY206ODEyNDg",
423
+ "locationType": "STOP"
424
+ },
425
+ {
426
+ "lat": 47.7477875,
427
+ "lon": -122.324013,
428
+ "name": "5th Ave NE & NE 163rd St",
429
+ "stopCode": "77560",
430
+ "stopId": "U3RvcDprY206Nzc1NjA",
431
+ "locationType": "STOP"
432
+ },
433
+ {
434
+ "lat": 47.7454681,
435
+ "lon": -122.323944,
436
+ "name": "5th Ave NE & NE 161st St",
437
+ "stopCode": "77570",
438
+ "stopId": "U3RvcDprY206Nzc1NzA",
439
+ "locationType": "STOP"
440
+ },
441
+ {
442
+ "lat": 47.7436676,
443
+ "lon": -122.323883,
444
+ "name": "5th Ave NE & NE 158th St",
445
+ "stopCode": "77580",
446
+ "stopId": "U3RvcDprY206Nzc1ODA",
447
+ "locationType": "STOP"
448
+ },
449
+ {
450
+ "lat": 47.741066,
451
+ "lon": -122.323792,
452
+ "name": "5th Ave NE & NE 155th St",
453
+ "stopCode": "81252",
454
+ "stopId": "U3RvcDprY206ODEyNTI",
455
+ "locationType": "STOP"
456
+ },
457
+ {
458
+ "lat": 47.7387314,
459
+ "lon": -122.323723,
460
+ "name": "5th Ave NE & NE 152nd St",
461
+ "stopCode": "81254",
462
+ "stopId": "U3RvcDprY206ODEyNTQ",
463
+ "locationType": "STOP"
464
+ },
465
+ {
466
+ "lat": 47.7361908,
467
+ "lon": -122.323654,
468
+ "name": "5th Ave NE & NE 148th St",
469
+ "stopCode": "81256",
470
+ "stopId": "U3RvcDprY206ODEyNTY",
471
+ "locationType": "STOP"
472
+ },
473
+ {
474
+ "lat": 47.7339783,
475
+ "lon": -122.322235,
476
+ "name": "NE 145th St & 6th Ave NE",
477
+ "stopCode": "82200",
478
+ "stopId": "U3RvcDprY206ODIyMDA",
479
+ "locationType": "STOP"
480
+ },
481
+ {
482
+ "lat": 47.7339096,
483
+ "lon": -122.315598,
484
+ "name": "NE 145th St & 12th Ave NE",
485
+ "stopCode": "82220",
486
+ "stopId": "U3RvcDprY206ODIyMjA",
487
+ "locationType": "STOP"
488
+ },
489
+ {
490
+ "lat": 47.7335167,
491
+ "lon": -122.312851,
492
+ "name": "15th Ave NE & NE 145th St",
493
+ "stopCode": "38830",
494
+ "stopId": "U3RvcDprY206Mzg4MzA",
495
+ "locationType": "STOP"
496
+ },
497
+ {
498
+ "lat": 47.7318573,
499
+ "lon": -122.31282,
500
+ "name": "15th Ave NE & NE 143rd St",
501
+ "stopCode": "38840",
502
+ "stopId": "U3RvcDprY206Mzg4NDA",
503
+ "locationType": "STOP"
504
+ },
505
+ {
506
+ "lat": 47.7300568,
507
+ "lon": -122.312798,
508
+ "name": "15th Ave NE & NE 140th St",
509
+ "stopCode": "38850",
510
+ "stopId": "U3RvcDprY206Mzg4NTA",
511
+ "locationType": "STOP"
512
+ },
513
+ {
514
+ "lat": 47.7268677,
515
+ "lon": -122.312752,
516
+ "name": "15th Ave NE & NE 135th St",
517
+ "stopCode": "38870",
518
+ "stopId": "U3RvcDprY206Mzg4NzA",
519
+ "locationType": "STOP"
520
+ },
521
+ {
522
+ "lat": 47.7228928,
523
+ "lon": -122.312767,
524
+ "name": "15th Ave NE & NE 130th St",
525
+ "stopCode": "38890",
526
+ "stopId": "U3RvcDprY206Mzg4OTA",
527
+ "locationType": "STOP"
528
+ },
529
+ {
530
+ "lat": 47.7209663,
531
+ "lon": -122.312782,
532
+ "name": "15th Ave NE & NE 127th St",
533
+ "stopCode": "38900",
534
+ "stopId": "U3RvcDprY206Mzg5MDA",
535
+ "locationType": "STOP"
536
+ },
537
+ {
538
+ "lat": 47.7190018,
539
+ "lon": -122.312767,
540
+ "name": "15th Ave NE & NE 125th St",
541
+ "stopCode": "38910",
542
+ "stopId": "U3RvcDprY206Mzg5MTA",
543
+ "locationType": "STOP"
544
+ },
545
+ {
546
+ "lat": 47.71735,
547
+ "lon": -122.312714,
548
+ "name": "15th Ave NE & NE 123rd St",
549
+ "stopCode": "38920",
550
+ "stopId": "U3RvcDprY206Mzg5MjA",
551
+ "locationType": "STOP"
552
+ },
553
+ {
554
+ "lat": 47.7154694,
555
+ "lon": -122.312645,
556
+ "name": "15th Ave NE & NE 120th St",
557
+ "stopCode": "38930",
558
+ "stopId": "U3RvcDprY206Mzg5MzA",
559
+ "locationType": "STOP"
560
+ },
561
+ {
562
+ "lat": 47.7125664,
563
+ "lon": -122.314827,
564
+ "name": "Pinehurst Way NE & NE 115th St",
565
+ "stopCode": "38962",
566
+ "stopId": "U3RvcDprY206Mzg5NjI",
567
+ "locationType": "STOP"
568
+ },
569
+ {
570
+ "lat": 47.7086334,
571
+ "lon": -122.318367,
572
+ "name": "NE Northgate Way & Roosevelt Way NE",
573
+ "stopCode": "82198",
574
+ "stopId": "U3RvcDprY206ODIxOTg",
575
+ "locationType": "STOP"
576
+ },
577
+ {
578
+ "lat": 47.7081947,
579
+ "lon": -122.323364,
580
+ "name": "5th Ave NE & NE Northgate Way",
581
+ "stopCode": "23230",
582
+ "stopId": "U3RvcDprY206MjMyMzA",
583
+ "locationType": "STOP"
584
+ },
585
+ {
586
+ "lat": 47.7059097,
587
+ "lon": -122.323296,
588
+ "name": "5th Ave NE & Northgate Mall",
589
+ "stopCode": "23250",
590
+ "stopId": "U3RvcDprY206MjMyNTA",
591
+ "locationType": "STOP"
592
+ },
593
+ {
594
+ "lat": 47.7032166,
595
+ "lon": -122.323692,
596
+ "name": "NE 103rd St & 5th Ave NE",
597
+ "stopCode": "35290",
598
+ "stopId": "U3RvcDprY206MzUyOTA",
599
+ "locationType": "STOP"
600
+ }
601
+ ],
602
+ "route": {
603
+ "shortName": "347",
604
+ "longName": null,
605
+ "color": null,
606
+ "textColor": null,
607
+ "id": "Um91dGU6a2NtOjEwMDIwNA",
608
+ "type": 3,
609
+ "alerts": []
610
+ },
611
+ "from": {
612
+ "lat": 47.7776833,
613
+ "lon": -122.297684,
614
+ "name": "48th Ave W & 244th St SW",
615
+ "vertexType": "TRANSIT",
616
+ "rentalVehicle": null,
617
+ "stop": {
618
+ "id": "U3RvcDprY206ODI0MDU",
619
+ "code": "82405",
620
+ "gtfsId": "kcm:82405",
621
+ "alerts": []
622
+ }
623
+ },
624
+ "to": {
625
+ "lat": 47.7023087,
626
+ "lon": -122.328026,
627
+ "name": "Northgate Station - Bay 4",
628
+ "vertexType": "TRANSIT",
629
+ "rentalVehicle": null,
630
+ "stop": {
631
+ "id": "U3RvcDprY206MzUzMTg",
632
+ "code": "35318",
633
+ "gtfsId": "kcm:35318",
634
+ "alerts": []
635
+ }
636
+ },
637
+ "steps": []
638
+ },
639
+ {
640
+ "fareProducts": [],
641
+ "pickupType": "SCHEDULED",
642
+ "dropoffType": "SCHEDULED",
643
+ "pickupBookingInfo": null,
644
+ "rentedBike": false,
645
+ "interlineWithPreviousLeg": false,
646
+ "departureDelay": 0,
647
+ "arrivalDelay": 0,
648
+ "distance": 60.87,
649
+ "duration": 56,
650
+ "endTime": 1685142596000,
651
+ "mode": "WALK",
652
+ "realTime": false,
653
+ "realtimeState": null,
654
+ "startTime": 1685142540000,
655
+ "transitLeg": false,
656
+ "accessibilityScore": null,
657
+ "trip": null,
658
+ "agency": null,
659
+ "legGeometry": {
660
+ "length": 9,
661
+ "points": "kzcbHdesiV?Ce@?Q??L?V?RO??B"
662
+ },
663
+ "intermediateStops": null,
664
+ "route": null,
665
+ "from": {
666
+ "lat": 47.7023087,
667
+ "lon": -122.328026,
668
+ "name": "Northgate Station - Bay 4",
669
+ "vertexType": "TRANSIT",
670
+ "rentalVehicle": null,
671
+ "stop": {
672
+ "id": "U3RvcDprY206MzUzMTg",
673
+ "code": "35318",
674
+ "gtfsId": "kcm:35318",
675
+ "alerts": []
676
+ }
677
+ },
678
+ "to": {
679
+ "lat": 47.702662,
680
+ "lon": -122.32832,
681
+ "name": "Northgate Station",
682
+ "vertexType": "TRANSIT",
683
+ "rentalVehicle": null,
684
+ "stop": {
685
+ "id": "U3RvcDo0MDo5OTAwMDU",
686
+ "code": "N11-T1",
687
+ "gtfsId": "40:990005",
688
+ "alerts": []
689
+ }
690
+ },
691
+ "steps": [
692
+ {
693
+ "distance": 60.87,
694
+ "lat": 47.7023088,
695
+ "lon": -122.3280018,
696
+ "relativeDirection": "DEPART",
697
+ "absoluteDirection": "NORTH",
698
+ "stayOn": false,
699
+ "streetName": "path",
700
+ "area": false,
701
+ "alerts": [],
702
+ "elevationProfile": []
703
+ }
704
+ ]
705
+ },
706
+ {
707
+ "fareProducts": [
708
+ {
709
+ "id": "0f76bb4a-7491-34b9-95ce-5d6f4e6b4d53",
710
+ "product": {
711
+ "id": "orca:farePayment",
712
+ "name": "rideCost",
713
+ "price": {
714
+ "currency": {
715
+ "code": "USD",
716
+ "digits": 2
717
+ },
718
+ "amount": 3
719
+ },
720
+ "riderCategory": {
721
+ "id": "orca:regular",
722
+ "name": "regular"
723
+ },
724
+ "medium": {
725
+ "id": "orca:cash",
726
+ "name": "cash"
727
+ }
728
+ }
729
+ },
730
+ {
731
+ "id": "ab8213b7-eddd-3d20-9b2d-a5ed8d8573a4",
732
+ "product": {
733
+ "id": "orca:farePayment",
734
+ "name": "rideCost",
735
+ "price": {
736
+ "currency": {
737
+ "code": "USD",
738
+ "digits": 2
739
+ },
740
+ "amount": 0.25
741
+ },
742
+ "riderCategory": {
743
+ "id": "orca:regular",
744
+ "name": "regular"
745
+ },
746
+ "medium": {
747
+ "id": "orca:electronic",
748
+ "name": "electronic"
749
+ }
750
+ }
751
+ },
752
+ {
753
+ "id": "75fef4dc-142b-3589-ac62-d484f5b41143",
754
+ "product": {
755
+ "id": "orca:farePayment",
756
+ "name": "transfer",
757
+ "price": {
758
+ "currency": {
759
+ "code": "USD",
760
+ "digits": 2
761
+ },
762
+ "amount": 2.75
763
+ },
764
+ "riderCategory": {
765
+ "id": "orca:regular",
766
+ "name": "regular"
767
+ },
768
+ "medium": {
769
+ "id": "orca:electronic",
770
+ "name": "electronic"
771
+ }
772
+ }
773
+ },
774
+ {
775
+ "id": "69bafcef-e2ee-3a6c-a355-0883f3d5561f",
776
+ "product": {
777
+ "id": "orca:farePayment",
778
+ "name": "rideCost",
779
+ "price": {
780
+ "currency": {
781
+ "code": "USD",
782
+ "digits": 2
783
+ },
784
+ "amount": 1
785
+ },
786
+ "riderCategory": {
787
+ "id": "orca:senior",
788
+ "name": "senior"
789
+ },
790
+ "medium": {
791
+ "id": "orca:cash",
792
+ "name": "cash"
793
+ }
794
+ }
795
+ },
796
+ {
797
+ "id": "b0026496-8eea-31c8-8468-a67b00abc2b5",
798
+ "product": {
799
+ "id": "orca:farePayment",
800
+ "name": "rideCost",
801
+ "price": {
802
+ "currency": {
803
+ "code": "USD",
804
+ "digits": 2
805
+ },
806
+ "amount": 0
807
+ },
808
+ "riderCategory": {
809
+ "id": "orca:youth",
810
+ "name": "youth"
811
+ },
812
+ "medium": {
813
+ "id": "orca:electronic",
814
+ "name": "electronic"
815
+ }
816
+ }
817
+ },
818
+ {
819
+ "id": "8e77f7c7-7eda-32a8-ad44-23372b079942",
820
+ "product": {
821
+ "id": "orca:farePayment",
822
+ "name": "rideCost",
823
+ "price": {
824
+ "currency": {
825
+ "code": "USD",
826
+ "digits": 2
827
+ },
828
+ "amount": 0
829
+ },
830
+ "riderCategory": {
831
+ "id": "orca:special",
832
+ "name": "special"
833
+ },
834
+ "medium": {
835
+ "id": "orca:electronic",
836
+ "name": "electronic"
837
+ }
838
+ }
839
+ },
840
+ {
841
+ "id": "e8e69341-c5f3-3833-9a0a-de3118460842",
842
+ "product": {
843
+ "id": "orca:farePayment",
844
+ "name": "transfer",
845
+ "price": {
846
+ "currency": {
847
+ "code": "USD",
848
+ "digits": 2
849
+ },
850
+ "amount": 1.5
851
+ },
852
+ "riderCategory": {
853
+ "id": "orca:special",
854
+ "name": "special"
855
+ },
856
+ "medium": {
857
+ "id": "orca:electronic",
858
+ "name": "electronic"
859
+ }
860
+ }
861
+ },
862
+ {
863
+ "id": "7ab667f5-3bb1-3973-b065-46ac5bffe3a4",
864
+ "product": {
865
+ "id": "orca:farePayment",
866
+ "name": "rideCost",
867
+ "price": {
868
+ "currency": {
869
+ "code": "USD",
870
+ "digits": 2
871
+ },
872
+ "amount": 0
873
+ },
874
+ "riderCategory": {
875
+ "id": "orca:youth",
876
+ "name": "youth"
877
+ },
878
+ "medium": {
879
+ "id": "orca:cash",
880
+ "name": "cash"
881
+ }
882
+ }
883
+ },
884
+ {
885
+ "id": "b3ff8f6e-f55f-3098-bb23-2bc49441d81f",
886
+ "product": {
887
+ "id": "orca:farePayment",
888
+ "name": "rideCost",
889
+ "price": {
890
+ "currency": {
891
+ "code": "USD",
892
+ "digits": 2
893
+ },
894
+ "amount": 0
895
+ },
896
+ "riderCategory": {
897
+ "id": "orca:senior",
898
+ "name": "senior"
899
+ },
900
+ "medium": {
901
+ "id": "orca:electronic",
902
+ "name": "electronic"
903
+ }
904
+ }
905
+ },
906
+ {
907
+ "id": "2fe47d57-d05f-3f51-9d4b-4d060a68abd9",
908
+ "product": {
909
+ "id": "orca:farePayment",
910
+ "name": "transfer",
911
+ "price": {
912
+ "currency": {
913
+ "code": "USD",
914
+ "digits": 2
915
+ },
916
+ "amount": 1
917
+ },
918
+ "riderCategory": {
919
+ "id": "orca:senior",
920
+ "name": "senior"
921
+ },
922
+ "medium": {
923
+ "id": "orca:electronic",
924
+ "name": "electronic"
925
+ }
926
+ }
927
+ }
928
+ ],
929
+ "pickupType": "SCHEDULED",
930
+ "dropoffType": "SCHEDULED",
931
+ "pickupBookingInfo": null,
932
+ "rentedBike": null,
933
+ "interlineWithPreviousLeg": false,
934
+ "departureDelay": 0,
935
+ "arrivalDelay": 0,
936
+ "distance": 23087.2,
937
+ "duration": 2220,
938
+ "endTime": 1685145000000,
939
+ "mode": "TRAM",
940
+ "realTime": false,
941
+ "realtimeState": null,
942
+ "startTime": 1685142780000,
943
+ "transitLeg": true,
944
+ "accessibilityScore": null,
945
+ "trip": {
946
+ "id": "VHJpcDo0MDpMTFJfMjAyMy0wMy0xOC0yMDIzLTA5LTA0X1dlZWtkYXlfMjA4Ng",
947
+ "gtfsId": "40:LLR_2023-03-18-2023-09-04_Weekday_2086",
948
+ "tripHeadsign": "Angle Lake"
949
+ },
950
+ "agency": {
951
+ "name": "Sound Transit",
952
+ "id": "QWdlbmN5OjQwOjQw",
953
+ "timezone": "America/Los_Angeles",
954
+ "url": "https://www.soundtransit.org",
955
+ "alerts": []
956
+ },
957
+ "legGeometry": {
958
+ "length": 509,
959
+ "points": "s|cbHhgsiVJ?dA?pAApA@nAHnANnALnANnALnALpAFnABpACpAGnAKr@G^CnAKpAEnA?pA@pA?nA@pA@pA@nA@pA@pA?nACpAKlASlAWjA]fAc@fAi@`Ak@`Aq@z@u@z@w@v@{@r@{@r@_Ar@}@r@}@r@_Ar@}@r@}@r@_Ar@}@r@_Ar@}@r@}@r@_Ar@}@r@}@r@_Ar@}@r@}@r@_Ar@}@r@}@r@_Ar@}@r@}@r@_Ar@}@r@}@r@}@v@{@x@w@~@s@bAk@fAe@hA_@nAWnAMnACpAApAAnA?V???x@ApACnAGnAKpAMnAMnAKnAMnAMnAMnAMpAKnAMnAMnAMnAKnAMnAMpAMnAKnAMnAMnAMnAMnAKpAMnAKnAIpAInAEpAGnACpAApAApA?nA?pA@pA@nABpA@h@???f@@nAAnAQfAc@~@q@v@{@j@cAd@gAZkARmANoAJqAJoAHoAJqAJoAJoALoALoARoATmAZkA^kA`@iAf@eAj@cAp@aAt@{@x@w@~@q@dAk@hAa@jAYnAOpAEnAApAApAAnAApAAbDAb@Cb@???H?p@Ar@?|FGx@?hA?rA@pADzAHtAHrALrARrAPzAV`BZxA^`Bd@rBn@|Aj@lBx@lBz@|Ax@fB`AhBlAbBlAfE`DrB~Avh@da@bHlFbDdCjEfDdK~HrB~A~@r@n@d@bAh@|@d@jAd@jA^tAVpAR~@HfADtA?n@A????vFC~A?x@?|@HbAPbAZbA`@x@b@dAz@v@r@~@jAr@dAp@rAd@fA`@jAd@bBZxAVbBRfBH~AFtA@|AAdBGpAIzAOdBWzASxAKx@Ix@?f@?n@@l@Dr@Jx@Hf@Jh@JZjAnDb@tAhBzFXvAhB|FnBlG??@?FTj@fABBRh@PVNRLHLDR@N?VGXMNInJoIlC_Cp@o@RQ????t@s@lCaC|GcGnCcClCaC\\[nBgBlBgB@???VUVURWVc@Xe@PYpBeDx@sAx@mAV_@TQ\\Sp@MzCA|FF@@??N@RFNFN@LB~BCF?D?fCAF?N?NCN?NALAHCJAJAHCNEPC^KxDeAxCy@NGJAJCJALAL?h@CrC???nHBrB?V?X@R@VBn@HVDP@T@z@?b@?z@?vp@B??@?zG?L?N?JCF?JAHEDABCF?@CDABCDCBCBEDCBEBCBGBEBC@EBGBEBG@E@E@GBE@G@E?CBM?IBI@K?I?SDeAFeBBqAJ_D@q@@o@?y@?s@?qAAgI@y@@o@Ds@JiBXkE@s@Bm@?{@Aw@Ey@Gy@Gg@Gi@Ie@Ke@UaAoDiNa@aBc@kBkAwF???AoAcGKg@Ii@Ge@Gg@Ee@Ek@Am@Ak@Ak@@k@Bg@Bk@@e@Dk@Fc@Hk@Js@Rw@zDsPNs@Lm@RqAPqAHgAf@kHLiBDc@BWFWDUFUHUJUJULUJONSNKPQtCmB??~BcBb@Ud@STEVGVCVA^?pHDvOFjLCx@?pDH`@Bb@Cb@?^Ib@G^I\\M\\O\\Qhg@oX~@e@????|L{GjDgB|@c@f@QtE_BpAe@lO}FbJkDdQwGrFyBt[{LnSqI?A"
960
+ },
961
+ "intermediateStops": [
962
+ {
963
+ "lat": 47.676107,
964
+ "lon": -122.316041,
965
+ "name": "Roosevelt Station",
966
+ "stopCode": "N09-T1",
967
+ "stopId": "U3RvcDo0MDo5OTAwMDM",
968
+ "locationType": "STOP"
969
+ },
970
+ {
971
+ "lat": 47.659875,
972
+ "lon": -122.314194,
973
+ "name": "U District Station",
974
+ "stopCode": "N07-T1",
975
+ "stopId": "U3RvcDo0MDo5OTAwMDE",
976
+ "locationType": "STOP"
977
+ },
978
+ {
979
+ "lat": 47.649349,
980
+ "lon": -122.303795,
981
+ "name": "Univ of Washington Station",
982
+ "stopCode": "N05-T1",
983
+ "stopId": "U3RvcDo0MDo5OTYwNA",
984
+ "locationType": "STOP"
985
+ },
986
+ {
987
+ "lat": 47.61956,
988
+ "lon": -122.320389,
989
+ "name": "Capitol Hill Station",
990
+ "stopCode": "N03-T1",
991
+ "stopId": "U3RvcDo0MDo5OTYxMA",
992
+ "locationType": "STOP"
993
+ },
994
+ {
995
+ "lat": 47.61145,
996
+ "lon": -122.337532,
997
+ "name": "Westlake Station",
998
+ "stopCode": "C03-T1",
999
+ "stopId": "U3RvcDo0MDoxMTA4",
1000
+ "locationType": "STOP"
1001
+ },
1002
+ {
1003
+ "lat": 47.607246,
1004
+ "lon": -122.335754,
1005
+ "name": "University St Station",
1006
+ "stopCode": "C05-T1",
1007
+ "stopId": "U3RvcDo0MDo0NTU",
1008
+ "locationType": "STOP"
1009
+ },
1010
+ {
1011
+ "lat": 47.602139,
1012
+ "lon": -122.331055,
1013
+ "name": "Pioneer Square Station",
1014
+ "stopCode": "C07-T1",
1015
+ "stopId": "U3RvcDo0MDo1MDE",
1016
+ "locationType": "STOP"
1017
+ },
1018
+ {
1019
+ "lat": 47.59766,
1020
+ "lon": -122.328217,
1021
+ "name": "Int'l Dist/Chinatown Station",
1022
+ "stopCode": "C09-T1",
1023
+ "stopId": "U3RvcDo0MDo2MjM",
1024
+ "locationType": "STOP"
1025
+ },
1026
+ {
1027
+ "lat": 47.591824,
1028
+ "lon": -122.327354,
1029
+ "name": "Stadium Station",
1030
+ "stopCode": "C13-T1",
1031
+ "stopId": "U3RvcDo0MDo5OTEwMQ",
1032
+ "locationType": "STOP"
1033
+ },
1034
+ {
1035
+ "lat": 47.579952,
1036
+ "lon": -122.327522,
1037
+ "name": "SODO Station",
1038
+ "stopCode": "C15-T1",
1039
+ "stopId": "U3RvcDo0MDo5OTExMQ",
1040
+ "locationType": "STOP"
1041
+ },
1042
+ {
1043
+ "lat": 47.579124,
1044
+ "lon": -122.311279,
1045
+ "name": "Beacon Hill Station",
1046
+ "stopCode": "C19-T1",
1047
+ "stopId": "U3RvcDo0MDo5OTEyMQ",
1048
+ "locationType": "STOP"
1049
+ },
1050
+ {
1051
+ "lat": 47.576439,
1052
+ "lon": -122.297737,
1053
+ "name": "Mount Baker Station",
1054
+ "stopCode": "C23-T1",
1055
+ "stopId": "U3RvcDo0MDo1NTk0OQ",
1056
+ "locationType": "STOP"
1057
+ },
1058
+ {
1059
+ "lat": 47.559025,
1060
+ "lon": -122.292389,
1061
+ "name": "Columbia City Station",
1062
+ "stopCode": "C25-T1",
1063
+ "stopId": "U3RvcDo0MDo1NjAzOQ",
1064
+ "locationType": "STOP"
1065
+ }
1066
+ ],
1067
+ "route": {
1068
+ "shortName": "1-Line",
1069
+ "longName": "Northgate - Angle Lake",
1070
+ "color": "28813F",
1071
+ "textColor": "FFFFFF",
1072
+ "id": "Um91dGU6NDA6MTAwNDc5",
1073
+ "type": 0,
1074
+ "alerts": []
1075
+ },
1076
+ "from": {
1077
+ "lat": 47.702662,
1078
+ "lon": -122.32832,
1079
+ "name": "Northgate Station",
1080
+ "vertexType": "TRANSIT",
1081
+ "rentalVehicle": null,
1082
+ "stop": {
1083
+ "id": "U3RvcDo0MDo5OTAwMDU",
1084
+ "code": "N11-T1",
1085
+ "gtfsId": "40:990005",
1086
+ "alerts": []
1087
+ }
1088
+ },
1089
+ "to": {
1090
+ "lat": 47.537529,
1091
+ "lon": -122.281471,
1092
+ "name": "Othello Station",
1093
+ "vertexType": "TRANSIT",
1094
+ "rentalVehicle": null,
1095
+ "stop": {
1096
+ "id": "U3RvcDo0MDo1NjE1OQ",
1097
+ "code": "C27-T1",
1098
+ "gtfsId": "40:56159",
1099
+ "alerts": []
1100
+ }
1101
+ },
1102
+ "steps": []
1103
+ },
1104
+ {
1105
+ "fareProducts": [],
1106
+ "pickupType": "SCHEDULED",
1107
+ "dropoffType": "SCHEDULED",
1108
+ "pickupBookingInfo": null,
1109
+ "rentedBike": false,
1110
+ "interlineWithPreviousLeg": false,
1111
+ "departureDelay": 0,
1112
+ "arrivalDelay": 0,
1113
+ "distance": 2167.47,
1114
+ "duration": 1739,
1115
+ "endTime": 1685146739000,
1116
+ "mode": "WALK",
1117
+ "realTime": false,
1118
+ "realtimeState": null,
1119
+ "startTime": 1685145000000,
1120
+ "transitLeg": false,
1121
+ "accessibilityScore": null,
1122
+ "trip": null,
1123
+ "agency": null,
1124
+ "legGeometry": {
1125
+ "length": 135,
1126
+ "points": "otcaHfbjiV?BXMF\\\\??fC?NJ?@|@BbC?R?TAB?|A?t@@f@?L@B?V?TA@@D?D?vA?h@?X?TAXCXANCPCPKd@ERCLCH@@HFLJ@@@?@@@@B@F?F?D?DAENDAHCFCFNPTDBD?RIl@Wb@Qn@c@h@[ZONGPCD?LEFAL@Ad@@vF?pAApA?nH@\\@J@DBPJLEFIFI^ENQf@EBCFHJP^BL@J@PAhFA|A?bAArB?hA@JBFDDDHl@b@RHTFXD\\@P@PCjB[hB[h@M`A]lAk@vBoAlAu@h@YLCPAJ@J@LFLHHJHJFNHTv@dGFb@@NK@KCOCM@{Ad@e@F_@LM@"
1127
+ },
1128
+ "intermediateStops": null,
1129
+ "route": null,
1130
+ "from": {
1131
+ "lat": 47.537529,
1132
+ "lon": -122.281471,
1133
+ "name": "Othello Station",
1134
+ "vertexType": "TRANSIT",
1135
+ "rentalVehicle": null,
1136
+ "stop": {
1137
+ "id": "U3RvcDo0MDo1NjE1OQ",
1138
+ "code": "C27-T1",
1139
+ "gtfsId": "40:56159",
1140
+ "alerts": []
1141
+ }
1142
+ },
1143
+ "to": {
1144
+ "lat": 47.5312889,
1145
+ "lon": -122.2958113,
1146
+ "name": "New Light Christian Church, Seattle, WA, USA",
1147
+ "vertexType": "NORMAL",
1148
+ "rentalVehicle": null,
1149
+ "stop": null
1150
+ },
1151
+ "steps": [
1152
+ {
1153
+ "distance": 14.92,
1154
+ "lat": 47.5375246,
1155
+ "lon": -122.2814907,
1156
+ "relativeDirection": "DEPART",
1157
+ "absoluteDirection": "SOUTH",
1158
+ "stayOn": false,
1159
+ "streetName": "Martin Luther King Junior Way South",
1160
+ "area": false,
1161
+ "alerts": [],
1162
+ "elevationProfile": []
1163
+ },
1164
+ {
1165
+ "distance": 12.32,
1166
+ "lat": 47.5373972,
1167
+ "lon": -122.2814286,
1168
+ "relativeDirection": "RIGHT",
1169
+ "absoluteDirection": "SOUTHWEST",
1170
+ "stayOn": false,
1171
+ "streetName": "service road",
1172
+ "area": false,
1173
+ "alerts": [],
1174
+ "elevationProfile": []
1175
+ },
1176
+ {
1177
+ "distance": 79.38,
1178
+ "lat": 47.537352,
1179
+ "lon": -122.2815784,
1180
+ "relativeDirection": "LEFT",
1181
+ "absoluteDirection": "SOUTH",
1182
+ "stayOn": true,
1183
+ "streetName": "parking aisle",
1184
+ "area": false,
1185
+ "alerts": [],
1186
+ "elevationProfile": []
1187
+ },
1188
+ {
1189
+ "distance": 186.19,
1190
+ "lat": 47.5371499,
1191
+ "lon": -122.2823392,
1192
+ "relativeDirection": "RIGHT",
1193
+ "absoluteDirection": "WEST",
1194
+ "stayOn": true,
1195
+ "streetName": "sidewalk",
1196
+ "area": false,
1197
+ "alerts": [],
1198
+ "elevationProfile": []
1199
+ },
1200
+ {
1201
+ "distance": 185.66,
1202
+ "lat": 47.5371051,
1203
+ "lon": -122.2847952,
1204
+ "relativeDirection": "RIGHT",
1205
+ "absoluteDirection": "NORTHWEST",
1206
+ "stayOn": true,
1207
+ "streetName": "sidewalk",
1208
+ "area": false,
1209
+ "alerts": [],
1210
+ "elevationProfile": []
1211
+ },
1212
+ {
1213
+ "distance": 223.22,
1214
+ "lat": 47.5369894,
1215
+ "lon": -122.2868292,
1216
+ "relativeDirection": "HARD_RIGHT",
1217
+ "absoluteDirection": "NORTHWEST",
1218
+ "stayOn": true,
1219
+ "streetName": "path",
1220
+ "area": false,
1221
+ "alerts": [null],
1222
+ "elevationProfile": []
1223
+ },
1224
+ {
1225
+ "distance": 316.7,
1226
+ "lat": 47.535227,
1227
+ "lon": -122.2863141,
1228
+ "relativeDirection": "RIGHT",
1229
+ "absoluteDirection": "WEST",
1230
+ "stayOn": false,
1231
+ "streetName": "South Webster Street",
1232
+ "area": false,
1233
+ "alerts": [],
1234
+ "elevationProfile": []
1235
+ },
1236
+ {
1237
+ "distance": 55.15,
1238
+ "lat": 47.5351293,
1239
+ "lon": -122.2904874,
1240
+ "relativeDirection": "RIGHT",
1241
+ "absoluteDirection": "NORTHWEST",
1242
+ "stayOn": false,
1243
+ "streetName": "path",
1244
+ "area": false,
1245
+ "alerts": [],
1246
+ "elevationProfile": []
1247
+ },
1248
+ {
1249
+ "distance": 259.82,
1250
+ "lat": 47.5354239,
1251
+ "lon": -122.2910651,
1252
+ "relativeDirection": "LEFT",
1253
+ "absoluteDirection": "SOUTHWEST",
1254
+ "stayOn": false,
1255
+ "streetName": "South Webster Street",
1256
+ "area": false,
1257
+ "alerts": [],
1258
+ "elevationProfile": []
1259
+ },
1260
+ {
1261
+ "distance": 57.96,
1262
+ "lat": 47.5352763,
1263
+ "lon": -122.2944348,
1264
+ "relativeDirection": "SLIGHTLY_LEFT",
1265
+ "absoluteDirection": "SOUTHWEST",
1266
+ "stayOn": false,
1267
+ "streetName": "29th Avenue South",
1268
+ "area": false,
1269
+ "alerts": [],
1270
+ "elevationProfile": []
1271
+ },
1272
+ {
1273
+ "distance": 644.09,
1274
+ "lat": 47.5348545,
1275
+ "lon": -122.2948441,
1276
+ "relativeDirection": "CONTINUE",
1277
+ "absoluteDirection": "SOUTH",
1278
+ "stayOn": false,
1279
+ "streetName": "Military Road South",
1280
+ "area": false,
1281
+ "alerts": [],
1282
+ "elevationProfile": []
1283
+ },
1284
+ {
1285
+ "distance": 132.1,
1286
+ "lat": 47.5301402,
1287
+ "lon": -122.2953592,
1288
+ "relativeDirection": "RIGHT",
1289
+ "absoluteDirection": "NORTH",
1290
+ "stayOn": false,
1291
+ "streetName": "service road",
1292
+ "area": false,
1293
+ "alerts": [],
1294
+ "elevationProfile": []
1295
+ }
1296
+ ]
1297
+ }
1298
+ ]
1299
+ }