Ultra Orienteering software is used with checkpoints which can be done very easily using the documentation from the site. Ultra Orienteering is an open source project.
Currently, you can use software with a maximum of 125 checkpoints, enough for organize a complex sports competition where the participants can compete individually or as a team
Each checkpoint is programmable and can be changed as desired (the source code for each job can be downloaded from the Downloads section). You can add a mini-printer to the software, each participant will receive a log with the route and the timing.