If a run is found for an unrecognised GPS ID then use the following logic to automatically determine a match:
If GPS ID is of the format [A-Z]+[0-9][0-9]?[A-Z]+ then try matching to all entrants on first name + family name
If a single match is found then assign the GPS ID + GPS SN to that entrant. Issue an INFO message to the console.
Note: 2021 has good test data - BURNA31EMILE and BURNA32EMILE were father and son.
If there was no match to entrant names then attempt a match based on the GPS serial number:
Try matching GPS SN to all entrants
If a single match is found then assign the GPS ID to that entrant. Issue an INFO message to the console.
n.b. This should be a very rare event but still worth coding.
If no match was found using the two approaches above then create a new entrant:
If a run is found for an unrecognised GPS ID then use the following logic to automatically determine a match:
If there was no match to entrant names then attempt a match based on the GPS serial number:
If no match was found using the two approaches above then create a new entrant: