zwift-data 1.6.0 → 1.9.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 (88) hide show
  1. package/lib/cjs/achievements.js +826 -0
  2. package/lib/cjs/bikeFrames.js +621 -0
  3. package/lib/cjs/bikeFrontWheels.js +241 -0
  4. package/lib/cjs/bikeRearWheels.js +246 -0
  5. package/lib/cjs/bikeShoes.js +81 -0
  6. package/lib/cjs/challenges.js +21 -0
  7. package/lib/cjs/glasses.js +121 -0
  8. package/lib/cjs/headgears.js +411 -0
  9. package/lib/cjs/index.js +54 -0
  10. package/lib/cjs/jerseys.js +3446 -0
  11. package/lib/cjs/notableMomentTypes.js +84 -0
  12. package/lib/cjs/paintJobs.js +598 -0
  13. package/lib/cjs/routes.js +4737 -0
  14. package/lib/cjs/runShirts.js +566 -0
  15. package/lib/cjs/runShoes.js +121 -0
  16. package/lib/cjs/runShorts.js +321 -0
  17. package/lib/cjs/segments.js +811 -0
  18. package/lib/cjs/socks.js +446 -0
  19. package/lib/cjs/trainingPlans.js +141 -0
  20. package/lib/cjs/types.js +2 -0
  21. package/lib/cjs/unlockableCategories.js +54 -0
  22. package/lib/cjs/worlds.js +115 -0
  23. package/lib/esm/achievements.js +823 -0
  24. package/lib/esm/bikeFrames.js +618 -0
  25. package/lib/esm/bikeFrontWheels.js +238 -0
  26. package/lib/esm/bikeRearWheels.js +243 -0
  27. package/lib/esm/bikeShoes.js +78 -0
  28. package/lib/esm/challenges.js +18 -0
  29. package/lib/esm/glasses.js +118 -0
  30. package/lib/esm/headgears.js +408 -0
  31. package/lib/esm/index.js +21 -0
  32. package/lib/esm/jerseys.js +3443 -0
  33. package/lib/esm/notableMomentTypes.js +81 -0
  34. package/lib/esm/paintJobs.js +595 -0
  35. package/lib/esm/routes.js +4734 -0
  36. package/lib/esm/runShirts.js +563 -0
  37. package/lib/esm/runShoes.js +118 -0
  38. package/lib/esm/runShorts.js +318 -0
  39. package/lib/esm/segments.js +808 -0
  40. package/lib/esm/socks.js +443 -0
  41. package/lib/esm/trainingPlans.js +138 -0
  42. package/lib/esm/types.js +1 -0
  43. package/lib/esm/unlockableCategories.js +51 -0
  44. package/lib/esm/worlds.js +112 -0
  45. package/lib/types/achievements.d.ts +2 -0
  46. package/lib/types/bikeFrames.d.ts +2 -0
  47. package/lib/types/bikeFrontWheels.d.ts +2 -0
  48. package/lib/types/bikeRearWheels.d.ts +2 -0
  49. package/lib/types/bikeShoes.d.ts +2 -0
  50. package/lib/types/challenges.d.ts +2 -0
  51. package/lib/types/glasses.d.ts +2 -0
  52. package/lib/types/headgears.d.ts +2 -0
  53. package/lib/{index.d.ts → types/index.d.ts} +21 -21
  54. package/lib/types/jerseys.d.ts +2 -0
  55. package/lib/types/notableMomentTypes.d.ts +2 -0
  56. package/lib/types/paintJobs.d.ts +2 -0
  57. package/lib/types/routes.d.ts +2 -0
  58. package/lib/types/runShirts.d.ts +2 -0
  59. package/lib/types/runShoes.d.ts +2 -0
  60. package/lib/types/runShorts.d.ts +2 -0
  61. package/lib/{segments.d.ts → types/segments.d.ts} +2 -2
  62. package/lib/types/socks.d.ts +2 -0
  63. package/lib/types/trainingPlans.d.ts +2 -0
  64. package/lib/{types.d.ts → types/types.d.ts} +263 -259
  65. package/lib/types/unlockableCategories.d.ts +2 -0
  66. package/lib/{worlds.d.ts → types/worlds.d.ts} +2 -2
  67. package/package.json +9 -11
  68. package/lib/achievements.d.ts +0 -2
  69. package/lib/bikeFrames.d.ts +0 -2
  70. package/lib/bikeFrontWheels.d.ts +0 -2
  71. package/lib/bikeRearWheels.d.ts +0 -2
  72. package/lib/bikeShoes.d.ts +0 -2
  73. package/lib/challenges.d.ts +0 -2
  74. package/lib/glasses.d.ts +0 -2
  75. package/lib/headgears.d.ts +0 -2
  76. package/lib/index.es.js +0 -1
  77. package/lib/index.js +0 -1
  78. package/lib/jersey.d.ts +0 -2
  79. package/lib/jerseys.d.ts +0 -2
  80. package/lib/notableMomentTypes.d.ts +0 -2
  81. package/lib/paintJobs.d.ts +0 -2
  82. package/lib/routes.d.ts +0 -2
  83. package/lib/runShirts.d.ts +0 -2
  84. package/lib/runShoes.d.ts +0 -2
  85. package/lib/runShorts.d.ts +0 -2
  86. package/lib/socks.d.ts +0 -2
  87. package/lib/trainingPlans.d.ts +0 -2
  88. package/lib/unlockableCategories.d.ts +0 -2
@@ -0,0 +1,811 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.segments = void 0;
4
+ exports.segments = [
5
+ {
6
+ name: "Ballon Sprint",
7
+ slug: "ballon-sprint",
8
+ type: "sprint",
9
+ world: "france",
10
+ distance: 0.212,
11
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/ballon-sprint/forward",
12
+ },
13
+ {
14
+ name: "Ballon Sprint Rev.",
15
+ slug: "ballon-sprint-rev",
16
+ type: "sprint",
17
+ world: "france",
18
+ stravaSegmentId: 24700963,
19
+ stravaSegmentUrl: "https://www.strava.com/segments/24700963",
20
+ distance: 0.325,
21
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/ballon-sprint-reverse/reverse",
22
+ },
23
+ {
24
+ name: "Broad St.",
25
+ slug: "broad-st",
26
+ type: "sprint",
27
+ world: "richmond",
28
+ distance: 0.283,
29
+ stravaSegmentId: 12128880,
30
+ stravaSegmentUrl: "https://www.strava.com/segments/12128880",
31
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/broad-st/forward",
32
+ },
33
+ {
34
+ name: "Broad St. Rev.",
35
+ slug: "broad-st-rev",
36
+ type: "sprint",
37
+ world: "richmond",
38
+ distance: 0.064,
39
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/broad-st/reverse",
40
+ },
41
+ {
42
+ name: "Fuego Flats",
43
+ slug: "fuego-flats",
44
+ type: "sprint",
45
+ world: "watopia",
46
+ stravaSegmentId: 20350107,
47
+ stravaSegmentUrl: "https://www.strava.com/segments/20350107",
48
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/fuego-flats/forward",
49
+ distance: 0.496,
50
+ },
51
+ {
52
+ name: "Fuego Flats Rev.",
53
+ slug: "fuego-flats-rev",
54
+ type: "segment",
55
+ world: "watopia",
56
+ stravaSegmentId: 12109228,
57
+ stravaSegmentUrl: "https://www.strava.com/segments/12109228",
58
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/fuego-flats-reverse/reverse",
59
+ distance: 7.1,
60
+ },
61
+ {
62
+ name: "Innsbruck Sprint",
63
+ slug: "innsbruck-sprint",
64
+ type: "sprint",
65
+ world: "innsbruck",
66
+ distance: 0.3,
67
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/innsbruck/segment/sprint/forward",
68
+ },
69
+ {
70
+ name: "Innsbruck Sprint Rev.",
71
+ slug: "innsbruck-sprint-rev",
72
+ type: "sprint",
73
+ world: "innsbruck",
74
+ distance: 0.2,
75
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/innsbruck/segment/sprint/reverse",
76
+ },
77
+ {
78
+ name: "Lutece Sprint",
79
+ slug: "lutece-sprint",
80
+ type: "sprint",
81
+ world: "paris",
82
+ distance: 0.148,
83
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/paris/segment/lutece-sprint/forward",
84
+ },
85
+ {
86
+ name: "Lutece Sprint Rev.",
87
+ slug: "lutece-sprint-rev",
88
+ type: "sprint",
89
+ world: "paris",
90
+ distance: 0.225,
91
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/paris/segment/lutece-reverse-sprint/reverse",
92
+ },
93
+ {
94
+ name: "Marina Sprint",
95
+ slug: "marina-sprint",
96
+ type: "sprint",
97
+ world: "france",
98
+ stravaSegmentId: 24710590,
99
+ stravaSegmentUrl: "https://www.strava.com/segments/24710590",
100
+ distance: 0.338,
101
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/marina-sprint/forward",
102
+ },
103
+ {
104
+ name: "Marina Sprint Rev.",
105
+ slug: "marina-sprint-rev",
106
+ type: "sprint",
107
+ world: "france",
108
+ distance: 0.193,
109
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/marina-sprint-reverse/reverse",
110
+ },
111
+ {
112
+ name: "Richmond Sprint",
113
+ slug: "richmond-sprint",
114
+ type: "sprint",
115
+ world: "richmond",
116
+ distance: 0.221,
117
+ stravaSegmentId: 12128762,
118
+ stravaSegmentUrl: "https://www.strava.com/segments/12128762",
119
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/sprint/forward",
120
+ },
121
+ {
122
+ name: "Richmond Sprint Rev.",
123
+ slug: "richmond-sprint-rev",
124
+ type: "sprint",
125
+ world: "richmond",
126
+ distance: 0.203,
127
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/sprint/reverse",
128
+ },
129
+ {
130
+ name: "New York Sprint",
131
+ slug: "new-york-sprint",
132
+ type: "sprint",
133
+ world: "new-york",
134
+ distance: 0.15,
135
+ avgIncline: -4.3,
136
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/new-york/segment/ny-sprint/forward",
137
+ },
138
+ {
139
+ name: "New York Sprint Rev.",
140
+ slug: "new-york-sprint-rev",
141
+ type: "climb",
142
+ world: "new-york",
143
+ distance: 0.23,
144
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/new-york/segment/ny-sprint/reverse",
145
+ },
146
+ {
147
+ name: "Pav\\xe9 Sprint",
148
+ slug: "pave-sprint",
149
+ type: "sprint",
150
+ world: "france",
151
+ distance: 0.333,
152
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/pave-sprint/forward",
153
+ },
154
+ {
155
+ name: "Pav\\xe9 Sprint Rev.",
156
+ slug: "pave-sprint-rev",
157
+ type: "sprint",
158
+ world: "france",
159
+ distance: 0.334,
160
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/pave-sprint-reverse/reverse",
161
+ },
162
+ {
163
+ name: "London Sprint",
164
+ slug: "london-sprint",
165
+ type: "sprint",
166
+ world: "london",
167
+ distance: 0.2,
168
+ stravaSegmentId: 12749377,
169
+ stravaSegmentUrl: "https://www.strava.com/segments/12749377",
170
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/sprint/forward",
171
+ },
172
+ {
173
+ name: "London Sprint Rev.",
174
+ slug: "london-sprint-rev",
175
+ type: "sprint",
176
+ world: "london",
177
+ distance: 0.2,
178
+ stravaSegmentId: 12749402,
179
+ stravaSegmentUrl: "https://www.strava.com/segments/12749402",
180
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/sprint/reverse",
181
+ },
182
+ {
183
+ name: "Watopia Sprint",
184
+ slug: "watopia-sprint",
185
+ type: "sprint",
186
+ world: "watopia",
187
+ stravaSegmentId: 12109305,
188
+ stravaSegmentUrl: "https://www.strava.com/segments/12109305",
189
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/sprint/forward",
190
+ distance: 0.36,
191
+ },
192
+ {
193
+ name: "Watopia Sprint Rev.",
194
+ slug: "watopia-sprint-rev",
195
+ type: "sprint",
196
+ world: "watopia",
197
+ stravaSegmentId: 12109228,
198
+ stravaSegmentUrl: "https://www.strava.com/segments/12109228",
199
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/sprint/reverse",
200
+ distance: 0.2,
201
+ },
202
+ {
203
+ name: "Yorkshire Sprint",
204
+ slug: "yorkshire-sprint",
205
+ type: "sprint",
206
+ world: "yorkshire",
207
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/yorkshire/segment/yorkshire-sprint/forward",
208
+ distance: 0.25,
209
+ },
210
+ {
211
+ name: "Yorkshire Sprint Rev.",
212
+ slug: "yorkshire-sprint-rev",
213
+ type: "sprint",
214
+ world: "yorkshire",
215
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/yorkshire/segment/yorkshire-sprint-reverse/reverse",
216
+ distance: 0.4,
217
+ stravaSegmentId: 21748007,
218
+ stravaSegmentUrl: "https://www.strava.com/segments/21748007",
219
+ },
220
+ {
221
+ name: "Alpe du Zwift",
222
+ slug: "alpe-du-zwift",
223
+ type: "climb",
224
+ world: "watopia",
225
+ climbType: "HC",
226
+ distance: 12.44,
227
+ avgIncline: 8.5,
228
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/alpe-du-zwift/forward",
229
+ stravaSegmentUrl: "https://www.strava.com/segments/17267489",
230
+ stravaSegmentId: 17267489,
231
+ },
232
+ {
233
+ name: "Epic KOM",
234
+ slug: "epic-kom",
235
+ type: "climb",
236
+ world: "watopia",
237
+ climbType: "2",
238
+ distance: 9.49,
239
+ avgIncline: 4,
240
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/epic-kom/forward",
241
+ stravaSegmentUrl: "https://www.strava.com/segments/16784833",
242
+ stravaSegmentId: 16784833,
243
+ },
244
+ {
245
+ name: "Epic KOM Rev.",
246
+ slug: "epic-kom-rev",
247
+ type: "climb",
248
+ world: "watopia",
249
+ climbType: "2",
250
+ distance: 6.27,
251
+ avgIncline: 6.3,
252
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/epic-kom/reverse",
253
+ stravaSegmentId: 16784850,
254
+ stravaSegmentUrl: "https://www.strava.com/segments/16784850",
255
+ },
256
+ {
257
+ name: "Hilly Loop",
258
+ slug: "hilly-loop",
259
+ type: "segment",
260
+ world: "watopia",
261
+ distance: 9.01,
262
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/hilly-loop/forward",
263
+ stravaSegmentUrl: "https://www.strava.com/segments/12118362",
264
+ stravaSegmentId: 12118362,
265
+ },
266
+ {
267
+ name: "Hilly Loop Rev.",
268
+ slug: "hilly-loop-rev",
269
+ type: "segment",
270
+ world: "watopia",
271
+ distance: 9.01,
272
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/hilly-loop/reverse",
273
+ stravaSegmentId: 12128037,
274
+ stravaSegmentUrl: "https://www.strava.com/segments/12128037",
275
+ },
276
+ {
277
+ name: "Jungle Loop",
278
+ slug: "jungle-loop",
279
+ type: "segment",
280
+ world: "watopia",
281
+ distance: 7.8,
282
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/jungle-loop/forward",
283
+ stravaSegmentUrl: "https://www.strava.com/segments/16359363",
284
+ stravaSegmentId: 16359363,
285
+ },
286
+ {
287
+ name: "Jungle Loop Rev.",
288
+ slug: "jungle-loop-rev",
289
+ type: "segment",
290
+ world: "watopia",
291
+ distance: 7.8,
292
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/jungle-loop/reverse",
293
+ stravaSegmentId: 16359371,
294
+ stravaSegmentUrl: "https://www.strava.com/segments/16359371",
295
+ },
296
+ {
297
+ name: "Titans Grove KOM",
298
+ slug: "titans-grove-kom",
299
+ type: "climb",
300
+ world: "watopia",
301
+ distance: 2.6,
302
+ avgIncline: 2.2,
303
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/titans-grove-kom/forward",
304
+ stravaSegmentId: 21343975,
305
+ stravaSegmentUrl: "https://www.strava.com/segments/21343975",
306
+ },
307
+ {
308
+ name: "Titans Grove KOM Rev.",
309
+ slug: "titans-grove-kom-rev",
310
+ type: "climb",
311
+ world: "watopia",
312
+ distance: 0.89,
313
+ avgIncline: 6.6,
314
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/titans-grove-kom/reverse",
315
+ stravaSegmentId: 21343961,
316
+ stravaSegmentUrl: "https://www.strava.com/segments/21343961",
317
+ },
318
+ {
319
+ name: "Volcano Circuit",
320
+ slug: "volcano-circuit",
321
+ type: "segment",
322
+ world: "watopia",
323
+ distance: 4.2,
324
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/volcano/forward",
325
+ stravaSegmentUrl: "https://www.strava.com/segments/14032406",
326
+ stravaSegmentId: 14032406,
327
+ },
328
+ {
329
+ name: "Volcano Circuit Rev.",
330
+ slug: "volcano-circuit-rev",
331
+ type: "segment",
332
+ world: "watopia",
333
+ distance: 4.2,
334
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/volcano/reverse",
335
+ stravaSegmentId: 14032426,
336
+ stravaSegmentUrl: "https://www.strava.com/segments/14032426",
337
+ },
338
+ {
339
+ name: "Volcano KOM",
340
+ slug: "volcano-kom",
341
+ type: "climb",
342
+ world: "watopia",
343
+ distance: 3.75,
344
+ avgIncline: 3.2,
345
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/volcano-kom/forward",
346
+ stravaSegmentId: 14270131,
347
+ stravaSegmentUrl: "https://www.strava.com/segments/14270131",
348
+ },
349
+ {
350
+ name: "Zwift KOM",
351
+ slug: "zwift-kom",
352
+ type: "climb",
353
+ world: "watopia",
354
+ distance: 0.9,
355
+ avgIncline: 5,
356
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/zwift-kom/forward",
357
+ stravaSegmentUrl: "https://www.strava.com/segments/12109030",
358
+ stravaSegmentId: 12109030,
359
+ },
360
+ {
361
+ name: "Zwift KOM Rev.",
362
+ slug: "zwift-kom-rev",
363
+ type: "climb",
364
+ world: "watopia",
365
+ distance: 2.4,
366
+ avgIncline: 2,
367
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/watopia/segment/zwift-kom/reverse",
368
+ stravaSegmentId: 12128029,
369
+ stravaSegmentUrl: "https://www.strava.com/segments/12128029",
370
+ },
371
+ {
372
+ name: "Bologna TT",
373
+ slug: "bologna-tt",
374
+ type: "climb",
375
+ world: "bologna",
376
+ distance: 8,
377
+ avgIncline: 2.8,
378
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/bologna-tt/segment/bologna-tt/forward",
379
+ stravaSegmentId: 20560239,
380
+ stravaSegmentUrl: "https://www.strava.com/segments/20560239",
381
+ },
382
+ {
383
+ name: "Central Park Loop Rev.",
384
+ slug: "central-park-loop-rev",
385
+ type: "segment",
386
+ world: "new-york",
387
+ distance: 9.7,
388
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/new-york/segment/central-park-loop/reverse",
389
+ stravaSegmentUrl: "https://www.strava.com/segments/19170661",
390
+ stravaSegmentId: 19170661,
391
+ },
392
+ {
393
+ name: "New York KOM",
394
+ slug: "new-york-kom",
395
+ type: "climb",
396
+ world: "new-york",
397
+ distance: 1.4,
398
+ avgIncline: 6.1,
399
+ climbType: "4",
400
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/new-york/segment/new-york-kom/forward",
401
+ stravaSegmentUrl: "https://www.strava.com/segments/19141090",
402
+ stravaSegmentId: 19141090,
403
+ },
404
+ {
405
+ name: "New York KOM Rev.",
406
+ slug: "new-york-kom-rev",
407
+ type: "climb",
408
+ world: "new-york",
409
+ distance: 1.1,
410
+ avgIncline: 5.7,
411
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/new-york/segment/new-york-kom/reverse",
412
+ stravaSegmentId: 19141092,
413
+ stravaSegmentUrl: "https://www.strava.com/segments/19141092",
414
+ },
415
+ {
416
+ name: "23rd St.",
417
+ slug: "23rd-st",
418
+ type: "climb",
419
+ world: "richmond",
420
+ distance: 0.275,
421
+ avgIncline: 10,
422
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/23rd-st/forward",
423
+ stravaSegmentUrl: "https://www.strava.com/segments/12128917",
424
+ stravaSegmentId: 12128917,
425
+ },
426
+ {
427
+ name: "23rd St. Rev",
428
+ slug: "23rd-st-rev",
429
+ type: "climb",
430
+ world: "richmond",
431
+ distance: 1.1,
432
+ avgIncline: 3.5,
433
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/23rd-st/reverse",
434
+ stravaSegmentId: 22813206,
435
+ stravaSegmentUrl: "https://www.strava.com/segments/22813206",
436
+ },
437
+ {
438
+ name: "Richmond KOM",
439
+ slug: "richmond-kom",
440
+ type: "climb",
441
+ distance: 0.644,
442
+ avgIncline: 6.4,
443
+ world: "richmond",
444
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/kom/forward",
445
+ stravaSegmentId: 12128826,
446
+ stravaSegmentUrl: "https://www.strava.com/segments/12128826",
447
+ },
448
+ {
449
+ name: "Richmond KOM Rev.",
450
+ slug: "richmond-kom-rev",
451
+ type: "climb",
452
+ distance: 0.7,
453
+ avgIncline: 3.4,
454
+ world: "richmond",
455
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/kom/reverse",
456
+ stravaSegmentUrl: "https://www.strava.com/segments/26935782",
457
+ stravaSegmentId: 26935782,
458
+ },
459
+ {
460
+ name: "Richmond UCI Cource",
461
+ slug: "richmond-uci-course",
462
+ type: "segment",
463
+ world: "richmond",
464
+ distance: 16.2,
465
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/richmond/segment/uci-course/forward",
466
+ stravaSegmentId: 12128718,
467
+ stravaSegmentUrl: "https://www.strava.com/segments/12128718",
468
+ },
469
+ {
470
+ name: "Fox Hill",
471
+ slug: "fox-hill",
472
+ type: "climb",
473
+ distance: 2.4,
474
+ avgIncline: 4.9,
475
+ world: "london",
476
+ climbType: "4",
477
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/fox-hill/forward",
478
+ stravaSegmentUrl: "https://www.strava.com/segments/16802545",
479
+ stravaSegmentId: 16802545,
480
+ },
481
+ {
482
+ name: "Box Hill",
483
+ slug: "box-hill",
484
+ type: "climb",
485
+ distance: 3,
486
+ avgIncline: 4.3,
487
+ world: "london",
488
+ climbType: "4",
489
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/box-hill/reverse",
490
+ stravaSegmentId: 12744502,
491
+ stravaSegmentUrl: "https://www.strava.com/segments/12744502",
492
+ },
493
+ {
494
+ name: "Leith Hill",
495
+ slug: "leith-hill",
496
+ type: "climb",
497
+ distance: 1.9,
498
+ avgIncline: 6.8,
499
+ world: "london",
500
+ climbType: "4",
501
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/leith-hill/forward",
502
+ stravaSegmentId: 16781411,
503
+ stravaSegmentUrl: "https://www.strava.com/segments/16781411",
504
+ },
505
+ {
506
+ name: "Keith Hill",
507
+ slug: "keith-hill",
508
+ type: "climb",
509
+ distance: 4.34,
510
+ avgIncline: 5,
511
+ world: "london",
512
+ climbType: "3",
513
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/keith-hill/reverse",
514
+ stravaSegmentUrl: "https://www.strava.com/segments/16781407",
515
+ stravaSegmentId: 16781407,
516
+ },
517
+ {
518
+ name: "London Loop",
519
+ slug: "london-loop",
520
+ type: "segment",
521
+ distance: 14.96,
522
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/london/segment/london-loop/reverse",
523
+ world: "london",
524
+ stravaSegmentUrl: "https://www.strava.com/segments/12749649",
525
+ stravaSegmentId: 12749649,
526
+ },
527
+ {
528
+ name: "Aqueduc KOM",
529
+ slug: "aqueduc-kom",
530
+ type: "climb",
531
+ distance: 0.42,
532
+ avgIncline: 3,
533
+ world: "france",
534
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/aqueduc-kom/forward",
535
+ stravaSegmentUrl: "https://www.strava.com/segments/24700976",
536
+ stravaSegmentId: 24700976,
537
+ },
538
+ {
539
+ name: "Aqueduc KOM Rev.",
540
+ slug: "aqueduc-kom-rev",
541
+ type: "climb",
542
+ distance: 0.403,
543
+ avgIncline: 5,
544
+ world: "france",
545
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/aqueduc-kom/reverse",
546
+ stravaSegmentUrl: "https://www.strava.com/segments/24701010",
547
+ stravaSegmentId: 24701010,
548
+ },
549
+ {
550
+ name: "Petit KOM",
551
+ slug: "petit-kom",
552
+ type: "climb",
553
+ climbType: "4",
554
+ distance: 2.7,
555
+ avgIncline: 4,
556
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/petit-kom/forward",
557
+ world: "france",
558
+ stravaSegmentUrl: "https://www.strava.com/segments/24690967",
559
+ stravaSegmentId: 24690967,
560
+ },
561
+ {
562
+ name: "Ventoux KOM",
563
+ slug: "ventoux-kom",
564
+ type: "climb",
565
+ distance: 19,
566
+ avgIncline: 8,
567
+ world: "france",
568
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/france/segment/ventoux-kom/forward",
569
+ stravaSegmentUrl: "https://www.strava.com/segments/24682578",
570
+ stravaSegmentId: 24682578,
571
+ },
572
+ {
573
+ name: "Innsbruck KOM",
574
+ slug: "innsbruck-kom",
575
+ type: "climb",
576
+ distance: 7.4,
577
+ avgIncline: 6,
578
+ world: "france",
579
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/innsbruck/segment/kom/forward",
580
+ climbType: "2",
581
+ stravaSegmentUrl: "https://www.strava.com/segments/18397965",
582
+ stravaSegmentId: 18397965,
583
+ },
584
+ {
585
+ name: "Innsbruck KOM Rev.",
586
+ slug: "innsbruck-kom-rev",
587
+ type: "climb",
588
+ distance: 5.79,
589
+ avgIncline: 8,
590
+ world: "france",
591
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/innsbruck/segment/kom/reverse",
592
+ climbType: "2",
593
+ stravaSegmentUrl: "https://www.strava.com/segments/18397927",
594
+ stravaSegmentId: 18397927,
595
+ },
596
+ {
597
+ name: "Innsbruck UCI Lap",
598
+ slug: "innsbruck-uci-lap",
599
+ type: "segment",
600
+ world: "innsbruck",
601
+ distance: 23.65,
602
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/innsbruck/segment/uci-lap/forward",
603
+ stravaSegmentId: 18398895,
604
+ stravaSegmentUrl: "https://www.strava.com/segments/18398895",
605
+ },
606
+ {
607
+ name: "Yorkshire KOM",
608
+ slug: "yorkshire-kom",
609
+ type: "climb",
610
+ distance: 1.2,
611
+ avgIncline: 5.5,
612
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/yorkshire/segment/yorkshire-kom/forward",
613
+ world: "yorkshire",
614
+ stravaSegmentId: 21747822,
615
+ stravaSegmentUrl: "https://www.strava.com/segments/21747822",
616
+ },
617
+ {
618
+ name: "Yorkshire KOM Rev.",
619
+ slug: "yorkshire-kom-rev",
620
+ type: "climb",
621
+ distance: 1.2,
622
+ avgIncline: 3.8,
623
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/yorkshire/segment/yorkshire-kom/reverse",
624
+ world: "yorkshire",
625
+ stravaSegmentId: 21747891,
626
+ stravaSegmentUrl: "https://www.strava.com/segments/21747891",
627
+ },
628
+ {
629
+ name: "Crit City",
630
+ slug: "crit-city",
631
+ type: "segment",
632
+ distance: 1.95,
633
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/crit-city/segment/crit-city/forward",
634
+ world: "crit-city",
635
+ stravaSegmentId: 22445564,
636
+ stravaSegmentUrl: "https://www.strava.com/segments/22445564",
637
+ },
638
+ {
639
+ name: "Crit City Rev.",
640
+ slug: "crit-city-rev",
641
+ type: "segment",
642
+ distance: 1.95,
643
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/crit-city/segment/crit-city/reverse",
644
+ world: "crit-city",
645
+ stravaSegmentId: 22419554,
646
+ stravaSegmentUrl: "https://www.strava.com/segments/22419554",
647
+ },
648
+ {
649
+ name: "Prime",
650
+ slug: "prime",
651
+ type: "climb",
652
+ distance: 0.197,
653
+ avgIncline: 4,
654
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/crit-city/segment/prime/forward",
655
+ world: "crit-city",
656
+ },
657
+ {
658
+ name: "Prime Rev.",
659
+ slug: "prime-rev",
660
+ type: "sprint",
661
+ distance: 0.288,
662
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/crit-city/segment/prime/reverse",
663
+ world: "crit-city",
664
+ },
665
+ {
666
+ name: "Champs Elysées",
667
+ slug: "champs-elysees",
668
+ type: "segment",
669
+ distance: 6.62,
670
+ world: "paris",
671
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/paris/segment/champs-elysees/forward",
672
+ stravaSegmentId: 24674235,
673
+ stravaSegmentUrl: "https://www.strava.com/segments/24674235",
674
+ },
675
+ {
676
+ name: "Champs Elysées Rev.",
677
+ slug: "champs-elysees-rev",
678
+ type: "segment",
679
+ distance: 6.62,
680
+ world: "paris",
681
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/paris/segment/champs-elysees/reverse",
682
+ stravaSegmentId: 24674248,
683
+ stravaSegmentUrl: "https://www.strava.com/segments/24674248",
684
+ },
685
+ {
686
+ name: "Country Sprint",
687
+ slug: "country-sprint",
688
+ type: "sprint",
689
+ distance: 0.146,
690
+ world: "makuri-islands",
691
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/country-sprint/forward",
692
+ },
693
+ {
694
+ name: "Castle KOM",
695
+ slug: "castle-kom",
696
+ type: "climb",
697
+ distance: 2.69,
698
+ avgIncline: 2.45,
699
+ world: "makuri-islands",
700
+ stravaSegmentId: 28433453,
701
+ stravaSegmentUrl: "https://www.strava.com/segments/28433453",
702
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/castle-kom/forward",
703
+ },
704
+ {
705
+ name: "Village Sprint",
706
+ slug: "village-sprint",
707
+ type: "sprint",
708
+ distance: 0.15,
709
+ avgIncline: 0.99,
710
+ world: "makuri-islands",
711
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/village-sprint/forward",
712
+ },
713
+ {
714
+ name: "Temple KOM from Fishing Village Side",
715
+ slug: "temple-kom-from-fishing-village-side",
716
+ type: "climb",
717
+ distance: 2.51,
718
+ avgIncline: 3.95,
719
+ climbType: "4",
720
+ world: "makuri-islands",
721
+ stravaSegmentId: 28432259,
722
+ stravaSegmentUrl: "https://www.strava.com/segments/28432259",
723
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/temple-kom/forward",
724
+ },
725
+ {
726
+ name: "Temple KOM from Castle Side",
727
+ slug: "temple-kom-from-castle-side",
728
+ type: "climb",
729
+ distance: 1.88,
730
+ avgIncline: 3.59,
731
+ world: "makuri-islands",
732
+ stravaSegmentId: 28432293,
733
+ stravaSegmentUrl: "https://www.strava.com/segments/28432293",
734
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/temple-kom/reverse",
735
+ },
736
+ {
737
+ name: "Rooftop KOM",
738
+ slug: "rooftop-kom",
739
+ type: "climb",
740
+ distance: 1.87,
741
+ avgIncline: 2.7,
742
+ world: "makuri-islands",
743
+ stravaSegmentId: 30407861,
744
+ stravaSegmentUrl: "https://www.strava.com/segments/30407861",
745
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/rooftop-kom/forward",
746
+ },
747
+ {
748
+ name: "Tower Sprint",
749
+ slug: "tower-sprint",
750
+ type: "sprint",
751
+ distance: 0.31,
752
+ world: "makuri-islands",
753
+ stravaSegmentId: 30412571,
754
+ stravaSegmentUrl: "https://www.strava.com/segments/30412571",
755
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/tower-sprint/forward",
756
+ },
757
+ {
758
+ name: "Tower Sprint Rev.",
759
+ slug: "tower-sprint-rev",
760
+ type: "sprint",
761
+ distance: 0.31,
762
+ world: "makuri-islands",
763
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/tower-sprint/reverse",
764
+ },
765
+ {
766
+ name: "Castle Park Sprint",
767
+ slug: "castle-park-sprint",
768
+ distance: 0.32,
769
+ type: "sprint",
770
+ world: "makuri-islands",
771
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/castle-park-sprint/forward",
772
+ },
773
+ {
774
+ name: "Castle Park Sprint Rev.",
775
+ slug: "castle-park-sprint-rev",
776
+ distance: 0.32,
777
+ type: "sprint",
778
+ world: "makuri-islands",
779
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/castle-park-sprint/reverse",
780
+ },
781
+ {
782
+ name: "Alley Sprint",
783
+ slug: "alley-sprint",
784
+ distance: 0.41,
785
+ type: "sprint",
786
+ world: "makuri-islands",
787
+ stravaSegmentId: 30412903,
788
+ stravaSegmentUrl: "https://www.strava.com/segments/30412903",
789
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/alley-sprint/forward",
790
+ },
791
+ {
792
+ name: "Alley Sprint Rev.",
793
+ slug: "alley-sprint-rev",
794
+ distance: 0.38,
795
+ type: "sprint",
796
+ world: "makuri-islands",
797
+ stravaSegmentId: 30412916,
798
+ stravaSegmentUrl: "https://www.strava.com/segments/30412916",
799
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/alley-sprint/reverse",
800
+ },
801
+ {
802
+ name: "Railway Sprint",
803
+ slug: "railway-sprint",
804
+ distance: 0.49,
805
+ type: "sprint",
806
+ world: "makuri-islands",
807
+ stravaSegmentId: 30412927,
808
+ stravaSegmentUrl: "https://www.strava.com/segments/30412927",
809
+ whatsOnZwiftUrl: "https://whatsonzwift.com/world/makuri-islands/segment/railway-sprint/forward",
810
+ },
811
+ ];