Module: Results
The Results module gives participants live and final race results directly through chat — no need to check a separate results website or wait for printed rankings.
How Data Reaches Sabin
An interface must be provided by the timer, using one of two methods:
| 1. File Transmission | The timer sends result files (e.g. CSV or similar) covering split times, finish times, and placements, with no limit on the number of transmissions. |
| 2. Online API | If the timer offers a live API, Sabin polls it at a configurable interval — e.g. every 2, 3, 5, or 10 minutes (minimum: every minute, maximum: every 30 minutes). |
What Sabin Shows
| During the race | Intermediate times and splits, as soon as the timer releases them. |
| After the race | Each participant’s own finish time and placement — overall, by gender, and by age category. |
Requirements from the Timer
| Interface | Either a defined file format for transmitting results, or API access with a documented endpoint and data structure. |
| File transmission | Reliable, repeated uploads as data becomes available. |
| API polling | A stable, responsive endpoint that supports the agreed polling interval without rate-limiting issues. |
| Release timing | Controlled by the timer either way — Sabin only shows what has been explicitly released, respecting the timer’s own embargo or release schedule for live results. |
