Copy {
"name": "Sample | 100km Duathlon",
"location": "🇩🇪 Dresden",
"startTime": "2020-04-25T06:00:00Z",
"endTime": "2020-10-30T18:15:00Z",
"timekeepings": [
{
"name": "Start",
"offset": 0,
"position": [13.704069467101244, 51.027617808548015, 159],
"id": "64513872c3ab09659eb09674"
},
{
"name": "Ruppendorf",
"offset": 29510,
"position": [13.599722542890463, 50.90910508578093, 377],
"id": "64513873368d2f24f3a5feb9"
},
{
"name": "🕖",
"offset": 48130,
"position": [13.633563734472718, 50.77911506210913, 570],
"id": "64513873a2c6e28dbe010405"
},
{
"name": "Bergwertung",
"offset": 49950,
"position": [13.623273503927214, 50.76995405256768, 743],
"id": "64513874c3ab09659eb096b5"
},
{
"name": "🕖",
"offset": 67660,
"position": [13.69125, 50.82612, 471],
"id": "645138746451816d07b38788"
},
{
"name": "Bergwertung",
"offset": 68780,
"position": [13.697525647974045, 50.83382486871975, 603],
"id": "6451387410e583b28d7167e6"
},
{
"name": "Finish",
"offset": 100260,
"position": [13.704038205094022, 51.02687962934201, 166],
"id": "64513872c3ab09659eb09683"
}
],
"starters": [
{
"id": "60a3b6791474227ee54a5bdf",
"importId": "UniqueImportId_1",
"startNumber": "01",
"name": "Konrad",
"times": null
},
{
"id": "60a3b679147422b72a4a5be0",
"importId": "UniqueImportId_2",
"startNumber": "02",
"name": "Jörg",
"times": {
"64513872c3ab09659eb09674": [
{
"time": "2020-04-26T08:23:55Z",
"distanceToSplit": 16.81
},
{
"time": "2020-04-26T08:24:00Z",
"distanceToSplit": 8.92
}
],
"64513873368d2f24f3a5feb9": [
{
"time": "2020-04-26T10:19:45Z",
"distanceToSplit": 20.36
},
{
"time": "2020-04-26T10:19:50Z",
"distanceToSplit": 26.4
}
],
"64513873a2c6e28dbe010405": [
{
"time": "2020-04-26T11:30:40Z",
"distanceToSplit": 14.17
},
{
"time": "2020-04-26T11:30:45Z",
"distanceToSplit": 15.18
}
],
"64513874c3ab09659eb096b5": [
{
"time": "2020-04-26T11:41:05Z",
"distanceToSplit": 19.22
},
{
"time": "2020-04-26T11:41:10Z",
"distanceToSplit": 4.46
}
],
"645138746451816d07b38788": [
{
"time": "2020-04-26T13:00:30Z",
"distanceToSplit": 16.19
},
{
"time": "2020-04-26T13:00:35Z",
"distanceToSplit": 8.29
},
{
"time": "2020-04-26T13:00:40Z",
"distanceToSplit": 17.85
},
{
"time": "2020-04-26T13:00:45Z",
"distanceToSplit": 27.8
}
],
"6451387410e583b28d7167e6": [
{
"time": "2020-04-26T13:08:40Z",
"distanceToSplit": 26.12
},
{
"time": "2020-04-26T13:08:45Z",
"distanceToSplit": 12.82
},
{
"time": "2020-04-26T13:08:50Z",
"distanceToSplit": 4.25
},
{
"time": "2020-04-26T13:08:55Z",
"distanceToSplit": 15.45
}
],
"64513872c3ab09659eb09683": [
{
"time": "2020-04-26T14:50:30Z",
"distanceToSplit": 28.16
},
{
"time": "2020-04-26T14:50:35Z",
"distanceToSplit": 2.91
}
]
}
},
{
"id": "60a3b67914742230ef4a5be2",
"importId": "UniqueImportId_3",
"startNumber": "03",
"name": "Leupold",
"times": {
"64513872c3ab09659eb09674": [
{
"time": "2020-05-01T07:49:45Z",
"distanceToSplit": 13.06
},
{
"time": "2020-05-01T07:49:50Z",
"distanceToSplit": 10.56
},
{
"time": "2020-05-01T13:06:25Z",
"distanceToSplit": 19.77
},
{
"time": "2020-05-01T13:06:30Z",
"distanceToSplit": 17.84
}
],
"64513873368d2f24f3a5feb9": [
{
"time": "2020-05-01T09:26:45Z",
"distanceToSplit": 1.69
}
],
"64513873a2c6e28dbe010405": [
{
"time": "2020-05-01T10:24:35Z",
"distanceToSplit": 12.15
},
{
"time": "2020-05-01T10:24:40Z",
"distanceToSplit": 22.72
}
],
"64513874c3ab09659eb096b5": [
{
"time": "2020-05-01T10:34:50Z",
"distanceToSplit": 27.7
},
{
"time": "2020-05-01T10:34:55Z",
"distanceToSplit": 1.95
}
],
"645138746451816d07b38788": [
{
"time": "2020-05-01T11:24:30Z",
"distanceToSplit": 18.56
},
{
"time": "2020-05-01T11:24:35Z",
"distanceToSplit": 10.39
},
{
"time": "2020-05-01T11:24:40Z",
"distanceToSplit": 22.24
}
],
"6451387410e583b28d7167e6": [
{
"time": "2020-05-01T11:31:30Z",
"distanceToSplit": 29.7
},
{
"time": "2020-05-01T11:31:35Z",
"distanceToSplit": 10.6
},
{
"time": "2020-05-01T11:31:40Z",
"distanceToSplit": 5.61
},
{
"time": "2020-05-01T11:31:45Z",
"distanceToSplit": 22.52
}
],
"64513872c3ab09659eb09683": [
{
"time": "2020-05-01T13:06:15Z",
"distanceToSplit": 11.25
},
{
"time": "2020-05-01T13:06:20Z",
"distanceToSplit": 25.62
}
]
}
}
]
}
Copy {
"name": "Sample | 100km Duathlon",
"location": "🇩🇪 Dresden",
"startTime": "2020-04-25T06:00:00Z",
"endTime": "2020-10-30T18:15:00Z",
"timekeepingId": "6451387410e583b28d7167e6",
"timekeepingName": "Bergwertung",
"times": [
{},
{
"id": "60a3b679147422b72a4a5be0",
"importId": "UniqueImportId_2",
"startNumber": "02",
"name": "Jörg",
"time": "2020-04-26T13:08:45Z",
"distanceToSplit": 12.82
},
{
"id": "60a3b679147422b72a4a5be0",
"importId": "UniqueImportId_2",
"startNumber": "02",
"name": "Jörg",
"time": "2020-04-26T13:08:50Z",
"distanceToSplit": 4.25
},
{
"id": "60a3b679147422b72a4a5be0",
"importId": "UniqueImportId_2",
"startNumber": "02",
"name": "Jörg",
"time": "2020-04-26T13:08:55Z",
"distanceToSplit": 15.45
},
{
"id": "60a3b67914742230ef4a5be2",
"importId": "UniqueImportId_3",
"startNumber": "03",
"name": "Leupold",
"time": "2020-05-01T11:31:30Z",
"distanceToSplit": 29.7
},
{
"id": "60a3b67914742230ef4a5be2",
"importId": "UniqueImportId_3",
"startNumber": "03",
"name": "Leupold",
"time": "2020-05-01T11:31:35Z",
"distanceToSplit": 10.6
},
{
"id": "60a3b67914742230ef4a5be2",
"importId": "UniqueImportId_3",
"startNumber": "03",
"name": "Leupold",
"time": "2020-05-01T11:31:40Z",
"distanceToSplit": 5.61
},
{
"id": "60a3b67914742230ef4a5be2",
"importId": "UniqueImportId_3",
"startNumber": "03",
"name": "Leupold",
"time": "2020-05-01T11:31:45Z",
"distanceToSplit": 22.52
},
{
"id": "60a3b679147422101b4a5be3",
"importId": "UniqueImportId_4",
"startNumber": "04",
"name": " KRad",
"time": "2020-05-02T10:41:35Z",
"distanceToSplit": 17.72
},
{
"id": "60a3b679147422101b4a5be3",
"importId": "UniqueImportId_4",
"startNumber": "04",
"name": " KRad",
"time": "2020-05-02T10:41:40Z",
"distanceToSplit": 7.18
},
{
"id": "60a3b679147422101b4a5be3",
"importId": "UniqueImportId_4",
"startNumber": "04",
"name": " KRad",
"time": "2020-05-02T10:41:45Z",
"distanceToSplit": 11.5
},
{
"id": "60a3b679147422101b4a5be3",
"importId": "UniqueImportId_4",
"startNumber": "04",
"name": " KRad",
"time": "2020-05-02T10:41:50Z",
"distanceToSplit": 29.53
}
]
}
Data from Racemap */times API need be transferred to RACE|RESULT API format, e.g. with a python script:
Using this format virtual detections are imported in RACE|RESULT one by one.