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