Website Integration
Sie können die Seiten von my.raceresult.com mit einfachem Javascript in Ihre eigene Website einbinden. Um den Quellcode dafür zu finden, öffnen Sie eine Ihrer Veranstaltungsdateien und navigieren Sie zu my.raceresult.com > Abschnitt Website-Integration.
Sie können entweder den HTML-Code verwenden, der Javascript nutzt, oder das Wordpress-Plugin, das allerdings sehr viel eingeschränkter ist.
Dynamische Listen
Da jede eingebettete Seite zwei Schlüsselvariablen (Ereignis-ID und Seite) verwendet, ist es möglich, eine einzige Seite zu erstellen, um mehrere Ereignisse oder verschiedene Seiten zu behandeln. Sie können dies tun, indem Sie eine Variable über die URL der Webseite an das eingebettete Javascript übergeben.
Hier sehen Sie, dass die Variable eventid von der URL an die Funktion übergeben wird, um die in der URL angegebene Ereignis-ID zu laden.
<div id="divRRPublish" class="RRPublish"></div>
<script type="text/javascript" src="https://my.raceresult.com/RRPublish/load.js.php?lang=en"></script>
<script type="text/javascript">
<!--
var rrp=new RRPublish(document.getElementById("divRRPublish"), eventid, "results");
rrp.ShowTimerLogo=true;
rrp.ShowInfoText=false;
-->
</script>
<style>
/* Add custom CSS here or elsewhere to change the design */
</style>
Verschiedene Sprachen einbetten
Standardmäßig enthält der Quellcode den Sprachparameter der aktuell verwendeten Sprache. Sie können die Sprache für Listen und Anmeldeformulare nach Ihren Bedürfnissen anpassen.
Standard-Browsersprache
Wenn Sie den lang Parameter aus der URL entfernen, wird standardmäßig die Browsersprache verwendet. Dieses Verhalten entspricht dem Verhalten auf my.raceresult.com.
Fest hinterlegte Sprache
Sie können für jede Sprache eine eigene Webseite erstellen. Hier sehen Sie, dass die Sprache als Englisch definiert ist, indem Sie die Variable lang auf en setzen.
<div id="divRRPublish" class="RRPublish"></div>
<script type="text/javascript" src="https://my.raceresult.com/RRPublish/load.js.php?lang=en"></script>
<script type="text/javascript">
<!--
var rrp=new RRPublish(document.getElementById("divRRPublish"), 123456, "results");
rrp.ShowTimerLogo=true;
rrp.ShowInfoText=false;
-->
</script>
<style>
/* Add custom CSS here or elsewhere to change the design */
</style>
Alternativ kann die Sprachvariable dynamisch über einen Parameter abgefragt werden, das erfordert allerdings zusätzliche Javascript- oder PHP-Programmierung.
Weitere Informationen darüber, wie mehrere Sprachen in RACE RESULT 12 funktionieren, und eine Liste aller unterstützten Sprachcodes finden Sie im Artikel Mehrsprachige Online-Registrierung.
Mehrere Listen auf der gleichen Seite eingliedern
Wenn Sie mehrere Listen auf einer einzigen Seite einbetten, müssen Sie für jede einzelne Liste eine eindeutige div-id definieren. Standardmäßig verwendet der Quellcode für die Einbettung von Teilnehmer-, Ergebnis- und Live-Seiten die gleiche div id.
Dieser Teil des Codes zeigt das div an, das die geladene Seite enthält. Die id divRRPublish wird für alle drei Listen gleich sein.
<div id="divRRPublish" class="RRPublish"></div>
In der HTML-Sprache müssen die IDs eindeutig sein. Wenn Sie mehrere Listen auf einer einzigen Seite einbetten wollen, muss diese ID geändert werden. Sie könnten zum Beispiel eine Erweiterung an den Namen anhängen, etwa so
<div id="divRRPublish_results" class="RRPublish"></div> <script type="text/javascript" src="https://my.raceresult.com/RRPublish/load.js.php?lang=en"></script> <script type="text/javascript"> <!-- var rrp=new RRPublish(document.getElementById("divRRPublish_results"), 123456, "results"); rrp.ShowTimerLogo=true; rrp.ShowInfoText=false; --> </script> <style> /* Add custom CSS here or elsewhere to change the design */ </style>
In diesem Beispiel wird divRRPublish in divRRPublish_results geändert. Dadurch wird eine eindeutige ID erstellt, die von den anderen Listen nicht verwendet wird. Beachten Sie, dass die Variable an zwei Stellen geändert wird, wie im Beispiel fett dargestellt.
Liste der Events eingliedern
Wenn Sie eine Liste aller Veranstaltungen in Ihrem RACE RESULT-Konto einbetten möchten, können Sie dies tun, indem Sie den Quellcode der Veranstaltungsliste in Ihre Website einbetten.
<link rel="stylesheet" type="text/css" href="https://my.raceresult.com/RREvents/style.css">
<div class="EventTable" id="tEventTable">
<div><div> </div><div> </div><div>City</div><div>Event</div><div>Date</div></div>
</div>
<script type="text/javascript" src="https://my.raceresult.com/RREvents/RREvents.js"></script>
<script type="text/javascript">
<!--
var options= { dateFormat : 'mm/dd/yyyy' };
var rre=new RREvents(document.getElementById("tEventTable"), null, 'en', options);
rre.server="https://my.raceresult.com";
rre.user=11111;
//rre.year=2017;
//rre.group=1234;
//rre.eventlink="http://your.webseite.com/events/show?eventid=[eventid]";
//rre.openInNewWindow=false;
rre.loadEvents(function(resultSize) { return true; });
-->
</script>
Dieser Quellcode enthält mehrere Variablen, mit denen Sie die angezeigten Ereignisse anpassen können.
- rre.user - Hier wird das RACE RESULT-Benutzerkonto angegeben, von dem die Ereignisse bezogen werden sollen
- rre.year - Damit werden die Ereignisse gefiltert, so dass nur Ereignisse aus dem angegebenen Jahr angezeigt werden
- rre.group - Damit wird die Liste so gefiltert, dass nur Ereignisse der angegebenen Gruppe angezeigt werden.
- rre.eventlink - Wenn Sie Ergebnisse auf Ihrer eigenen Website eingebettet haben, können Sie diese Variable verwenden, um direkt auf diese Seite zu verlinken. Beachten Sie den URL-Parameter eventid am Ende der URL. Sie können dies mit einer dynamischen Ergebniss-Liste verwenden, um Ergebnisse von jeder beliebigen Ereignis-ID abzurufen.
- rre.openInNewWindow - Wenn diese Option auf true gesetzt ist, wird ein Ereignis in einem neuen Fenster geöffnet, wenn es ausgewählt wird.
Alle Variablen, die das Zeichen // vor sich haben, werden auskommentiert. Das bedeutet, dass sie nicht geladen werden.
Anpassen mit CSS
Sie können Ihre eingebetteten Ergebnisse mit CSS anpassen. So können Sie von der Schriftgröße bis zur Farbe der Schaltflächen alles ändern. Hier gibt es eine Vielzahl von Optionen. In diesem Abschnitt wird ein Beispiel für eine grundlegende Änderung gegeben und erklärt, wie Sie ein Element finden, um eine kleine Änderung vorzunehmen. Beachten Sie, dass jeder CSS-Code, der im Abschnitt Online-Registrierung > Grundeinstellungen hinzugefügt wird, auch hier angewendet wird.
Grundlegende CSS-Bearbeitung
Ein einfaches Beispiel für eine CSS-Änderung wäre die Änderung der Schriftfarbe für die gesamte Seite. Dazu fügen wir dem <html>-Tag einen Stil hinzu.
<div id="divRRPublish_results2" class="RRPublish"></div>
<script type="text/javascript" src="https://my.raceresult.com/RRPublish/load.js.php?lang=en"></script>
<script type="text/javascript">
<!--
var rrp=new RRPublish(document.getElementById("divRRPublish_results2"), 123456, "results");
rrp.ShowTimerLogo=true;
rrp.ShowInfoText=false;
-->
</script>
<style>
html {
color: red;
}
</style>
Hier verwenden wir das CSS-Feld color, um eine rote Farbe zuzuweisen. Dadurch wird die Farbe des gesamten Textes auf der Seite in Rot geändert. Wenn es jedoch Text auf der Seite gibt, der einen eigenen Stil hat, wird dieser Text nicht überschrieben. Sie sehen dies bei dem Textlink zum Anzeigen aller Teilnehmer.
CheckIn Kiosk
Die folgenden Artikel befassen sich mit verschiedenen Einsatzmöglichkeiten des CheckIn Kiosk.
Startnummervergabe- Scannen eines QR Codes um den Teilnehmer eindeutig zu identifizieren
Die Grundidee hier besteht darin, dass der Teilnehmer nach der Anmeldung einen QR Code mit der Anmeldebestätigungsmail zugeschickt bekommt. Dieser QR Code soll sowohl persönliche als auch zufällig generierte Werte beinhalten, um den Teilnehmer später eindeutig identifizieren zu können.
Bei der Starnummervergabe kann der Teilnehmer den QR Code vorzeigen, welcher von einem Mitarbeiter der Veranstaltung mit Hilfe der Event Tools App gescannt wird.
Zusatzfelder und Aktionen nach Speichern
Der erste Schritt ist, ein Zusatzfeld als TypText-Feld hinzuzufügen, welches später zur eindeutigen Identifikation des Teilnehmers verwendet wird.

Im Anmeldeformular fügen wir unter Aktionen nach Speichern das Zusatzfeld [IdentificationNo] hinzu, um einen zusätzlichen Wert mit einem spezifischen Ausdruck zu speichern:
Mit dem folgenden Ausdruck ("md5([Firstname]&[Lastname]&[YearOfBirth]&[Random]") wird eine Kombination der Teilnehmerangaben [Vorname], [Nachname], [Jahrgang] und eines zufälligen Werts im Zusatzfeld gespeichert. Das Feld [Random] ist ein abgeleitetes Feld, das eine Zufallszahl zwischen 0 und 1 zurückgibt. Zusätzlich verwenden wir die md5()-Funktion, um eine sicherere Zeichenkette zu erstellen.
Erstellung des QR Codes
Der QR-Code wird in einer Urkunde generiert, die anschließend per Bestätigungs-E-Mail an die Teilnehmer gesendet werden kann. Der QR-Code wird unter Ausgabe >> Urkunden über das kleine Barcode-Symbol aus der rechten Werkzeugleiste erstellt:

Dies erstellt zunächst einen Barcode, der jedoch über das Dropdown-Menü in der oberen Werkzeugleiste in einen QR-Code geändert werden kann.
Nach der Änderung auf QR-Code muss das korrekte Feld hinterlegt werden, dessen Daten in den "QR-Code-Daten" gespeichert werden sollen. Wählen Sie den QR-Code aus und geben Sie den Namen des Feldes ein, in dem die eindeutigen Teilnehmerdaten während der Online-Anmeldung gespeichert wurden. Das geünschte Feld kann aus dem Dropdown-Menü der vorgeschlagenen Datenfelder ausgewählt werden.
Email Einrichtung
Die Bestätigungs-E-Mail wird in den E-Mail/SMS-Vorlagen eingerichtet. Damit der Teilnehmer den QR-Code nach der Online-Anmeldung in der Bestätigungs-E-Mail erhält, muss die vorbereitete Urkunde als Anhang zur E-Mail hinzugefügt werden:

Verwendung der Event Tools App
Nach dem Login in die Event Tools App wählen Sie Ihre Veranstaltung aus und öffnen Sie den Check-In-Kiosk für die Startnummernausgabe.
Durch Auswahl des kleinen, blauen QR-Code-Symbols unten auf dem Smartphone aktiviert die App den Kameramodus, der das Scannen von QR-Codes für das Suchfeld ermöglicht. In diesem Modus kann der QR-Code für die Startnummernausgabe gescannt werden, und die Teilnehmerinformationen sowie bearbeitbare Felder werden im nächsten Schritt angezeigt:
Nach der Suche des Teilnehmers können die bearbeitbaren Daten im nächsten Schritt angepasst werden. Dieser Vorgang könnte auch für eine dynamische Startnummernzuweisung genutzt werden.
Dynamische Transponder-Zuweisung
Anstatt vor der Veranstaltung ein Chip-File vorzubereiten und die Transponder den Startnummern oder Racepacks korrekt zuzuordnen, können Transponder vor Ort ganz einfach dynamisch über den Checkin Kiosk zugewiesen werden.
Die Transponder können entweder manuell durch Eingabe des Transpondercodes oder automatisch mithilfe eines Decoders, einer Management-Box oder einer USB-Timing-Box zugewiesen werden. Außerdem kann die QR-Code-Scan-Option der Event Tools App verwendet werden.
Es wird empfohlen, zunächst alle Transpondercodes mit der Startnummer „0“ in das Chip-File zu importieren. Dadurch kann bei manueller Eingabe auch überprüft werden, ob die richtigen Transponder zugewiesen werden.
Das automatische Einlesen des Transpondercodes kann auch durch Scannen des Transponders mit einer Management-Box oder einer USB-Timing-Box direkt oder über das TagTool durchgeführt werden.

Einrichten des Checkin Kiosk
Die grundlegende Einrichtung des Checkin Kiosks ist für alle drei Optionen gleich. Die kleinen Unterschiede werden in den untenstehenden Beschreibungen der jeweiligen Optionen erklärt.
In den allgemeinen Einstellungen wird empfohlen, den Modus der Transponder-Zuweisung auf Mehrfach-Zuweisung nicht möglich zu setzen. In diesem Fall erhalten wir eine Benachrichtigung, falls ein Transponder aus irgendeinem Grund ein zweites Mal zugewiesen wird. Außerdem sollten die akzeptierten Transpondercodes entsprechend eingestellt werden, falls diese in der Chip-Datei verwendet werden.

Im Suchschritt des Checkin Kiosks legen wir fest, welche Felder zur Identifizierung eines Teilnehmers verwendet werden können. Dies könnten zum Beispiel der Vor- und Nachname oder eine spezifische Identifikationsnummer sein, die in einem QR-Code enthalten ist. Dieser QR-Code kann mit der Event Tools App gescannt werden, um den Teilnehmer in der Datenbank zu suchen. Wie diese Funktion eingerichtet wird, ist im folgenden Artikel beschrieben: Scannen eines QR Codes um einen Teilnehmer eindeutig zu identifizieren.

Im Schritt zur Zuweisung des Transpondercodes an den Teilnehmer sollte das einzige bearbeitbare Feld das Transponder1-Feld sein (und gegebenenfalls das Transponder2-Feld, falls pro Teilnehmer zwei Transponder ausgegeben werden). Falls weitere Daten bearbeitet werden sollen, müssen die entsprechenden Felder entweder in diesem Schritt oder in einem zusätzlichen Schritt hinzugefügt werden. Es ist zum Beispiel auch möglich, die Transponderzuweisung mit einer dynamischen Startnummernzuweisung zu kombinieren.

Manuelle Transponder-Zuweisung
Die einfachste Möglichkeit ohne zusätzliche Geräte besteht darin, den Transpondercode manuell auf dem Laptop oder über die Event Tools App einzugeben.

Falls ein falscher Transpondercode eingegeben wird, erscheint eine Benachrichtigung, dass dieser Transponder nicht in der zuvor bearbeiteten Chip-File enthalten ist:

Falls aufgrund eines Tippfehlers ein bereits zugewiesener Transpondercode eingegeben wird, erhalten wir ebenfalls eine Benachrichtigung:
Nach dem Klick auf den Button „Speichern“ wird der korrekte Transpondercode in den Teilnehmerdaten gespeichert und der Transponder korrekt zugewiesen.
Transponder-Zuweisung mit Management-Box, USB-Timing-Box oder Haupt-Zeitmesssystem
Anstatt den kleinen, gedruckten Transpondercode abzulesen, können Transponder auch direkt mit einem der folgenden Geräte gescannt werden. Dazu muss der RACE RESULT Webserver auf dem Computer, auf dem der Kiosk läuft, aktiv sein:
- Management-Box im Check-Modus
- USB-Timing-Box im Check-Modus
- Ubidium
- Decoder mit angeschlossenem Active-Extension
Nach dem Anschließen klicken Sie auf das rote Verbindungssymbol, um nach verfügbaren Geräten zu suchen, und wählen Sie das entsprechende Gerät aus. Sobald die Verbindung hergestellt ist, wird das Symbol grün.
Nun ist es möglich, den Transponder einfach mit dem Gerät zu scannen, und der Transpondercode wird automatisch in das Eingabefeld kopiert.

Transponder-Zuweisung mit der Event Tools App
Die Verwendung eines Checkin Kiosks in der Event Tools App bietet die Möglichkeit, die integrierte QR-Code-Scan-Option zu nutzen.
Alle Transponder müssen mit einem Aufkleber versehen werden, der einen QR-Code enthält, in dem der Transpondercode gespeichert ist.
In den erweiterten Einstellungen des Checkin Kiosks für das bearbeitbare Transponder1-Feld muss „QR-Scanner“ ausgewählt werden, wenn die Event Tools App verwendet wird:

Durch diese Einstellung wird das kleine blaue QR-Code-Symbol unten auf dem Bildschirm in der App angezeigt. Damit kann der QR-Code des Transponders gescannt und der Transpondercode automatisch eingelesen werden.

Dynamische Startnummern-Zuweisung
Die dynamische Startnummernzuweisung ermöglicht eine schnellere Abholung der Startnummern für Teilnehmer. Dabei wird den Teilnehmern die nächste verfügbare Startnummer zugewiesen, anstatt nach der zuvor zugewiesenen Startnummer zu suchen und auszuhändigen.
Startnummern
Der erste Schritt besteht darin, Startnummern-Blöcke festzulegen, die außerhalb der tatsächlichen Startnummernbereiche liegen, die für die Veranstaltung verwendet werden. Die Startnummern-Blöcke werden im Menü Teilnehmerdaten >> Startnummern eingerichtet:

Nach der Online-Anmeldung werden die Teilnehmer mit einer Startnummer in diesen Bereichen in der Veranstaltungsdatei gespeichert. Während der Startnummernausgabe wird die Startnummer in den Teilnehmerdaten auf die Startnummer geändert, die der Teilnehmer am Ausgabe-Schalter erhält.
Falls sich die zugewiesenen Nummernbereiche mit den tatsächlichen Startnummernbereichen überschneiden, kann es notwendig sein, die Startnummern neu zuzuweisen. Dies erfolgt im Menü Datenanpassungen.
Checkin Kiosk
Bib numbers can be dynamically assigned using a Checkin Kiosk. volunteers need to simply search for participants and then assign the bib number.
Startnummern können dynamisch über einen Checkin Kiosk zugewiesen werden. Die Helfer müssen lediglich nach den Teilnehmern suchen und die Startnummer zuweisen.
Im Such-Schritt bestimmen wir die Felder, die zur Suche verwendet werden können, z. B. Vorname, Nachname oder eine persönliche Identifikationsnummer, die während des Registrierungsprozesses erfasst wurde. Mit der Event Tools App ist es sogar möglich, einen QR-Code zu scannen, der nach der Registrierung für jeden Teilnehmer generiert wurde, um den Teilnehmer eindeutig zu identifizieren. Wie die App und der QR-Code-Scan eingerichtet werden, wird im folgenden Artikel beschrieben: Scannen eines QR Codes um einen Teilnehmer eindeutig zu identifizieren..

Im zweiten Schritt ist das einzige bearbeitbare Feld das Startnummernfeld. Durch die Nutzung der speziellen Funktion „Aktuellen Wert nicht anzeigen“ wird die derzeitige (ungültige) Startnummer nicht angezeigt:
Nach dem Suchschritt und der Auswahl des richtigen Teilnehmers kann die neue Startnummer manuell eingegeben werden:

Nach dem Klick auf „Speichern“ wird die neue Startnummer dem Teilnehmer zugewiesen.
Bei Verwendung der Event Tools App zur dynamischen Zuweisung der Startnummern ist es auch möglich, die App in Kombination mit einem BLE Reader zu nutzen.
In den Details für das Startnummern-Eingabefeld kann der BLE Reader als Eingabegerät ausgewählt werden:

Dadurch kann der Helfer die Startnummer einfach aus der Box nehmen, den Transponder einmal scannen und der Reader liest sofort die Startnummer aus und füllt das entsprechende Feld automatisch aus.
Diese Methode ist weniger fehleranfällig, da der Helfer keine Zahlen manuell eingeben muss. Allerdings erfordert sie die Verwendung von Startnummern, die mit entsprechenden Transpondercodes versehen sind.
Alternativ könnte die Startnummernzuweisung auch mit einer dynamischen Transponderzuweisung kombiniert werden.
Registration
The following articles show different ways to manage and customize the registration process.
Online-Payment
Festlegung der Startgeldes basierend auf der Gruppengröße
Veranstaltungen können ermäßigte Teilnahmegebühren für Gruppenanmeldungen anbieten. Dies wird normalerweise auf eine der folgenden zwei Arten berechnet:
- Ab dem n-ten Teilnehmer: Der Rabatt wird nur auf den n-ten Teilnehmer und darüber angewendet.
- Für die gesamte Gruppe: Die ermäßigte Teilnahmegebühr wird auf alle Teilnehmer in der Gruppe angewendet, wenn eine Mindestgruppengröße erreicht ist.
Setting up a Registration form of type Self Service
It is often useful that participants are able to change their own data online. For this you can provide participants a unique individual link to a Self Service form (What is a Self Service form?) where they can adapt their data.
Registration Form Setup
The form is setup as a Registration Form, create a new form and select the type Single Self Service.

The form type Self Service allows a special element type in the formfields:

This field type is used to show pre-existing data which should not be editable. For example in this case the participant would only be allowed to change his contest or the club name, as these fields are still set as Input Fields.

The URL to the participant's personal Self Service form is generated using the Changelink() function, this can be sent in an e-mail template, to see how check our Knowledge Base guide on Adding a URL-Link for a Self Service form in an Email template.
When the participant opens the Self Service form via the link he received through the Email, he will see his pre-entered data and be able to adapt the data that is editable for him.

Sending a Payment Link with a Self Service Form
In some cases participants may have to pay additional fees after their initial registration either for additional services or because the fees were not captured originally. These fees can be captured using the same Online Payment methods as used in the Registration Forms, and can be sent to participants by creating a Self-Service form with the online payment enabled.
Registration Form Setup
The payment form is setup as a Registration Form, create a new form and select the type Single Self Service.

In this case it is not necessary to have a step in the registration form where the participant is able to adapt any data, therefore, we add only a very basic "Finalize Payment" step in the self service form, where only the Entry Fees are shown:

To then enable the payment in the form, activate the Online Payment in the form settings. See here for detailed information: Online Payment.
When the participant opens their Self Service form, they will see the summary of entry fees that are due, and the second step will then allow them to complete the online payment.

The URL to the participant's personal Self Service form is generated using the Changelink() function, this can be sent in an e-mail template, to see how check our Knowledge Base guide on Adding a URL-Link for a Self Service form in an Email template.
Adding a URL-Link for a Self Service form in an Email template
When using self-service form it is most common to send these in an e-mail either through to the E-mail / SMS Module or as an e-mail confirmation during registration.
To do so the e-mail format must be set to HTML, then It is possible to insert a URL link by clicking the link icon (
) and using the Changelink() function.

When clicking the link icon, a small window pops up where the Display Text can be adapted, this is the text that will be shown in the email instead of the whole URL link. In the URL section we call the Changelink() function in square brackets. Inside the ChangeLink() function you need to then type the name of the registration form in quotation marks.
It is very important to select the Protocol type <other> as the ChangeLink() function will already create the https:// prefix.

In order to send out the confirmation Email automatically, the template needs to be added in the After Save Actions of the regular registration form.
Send an Email Notification After X New Registrations
To enable automatic notifications after every X new registrations through the Registration Forms, it is necessary to include an additional field (e.g., [RegCount]) where the total number of registered participants is stored.
Additionally, an email template must be created with the appropriate recipient's email address.
Creating an Additional Field to store Registered Participants
Under Main Window > Participants Data > Additional Fields, create a Field type Number (Integer) called, for example, RegCount.

Configuring RegCount in the Registration Form
To track the number of registered participants, select the "Max. Value +1" option in the Store Additional Values section, available under the Advanced Settings of the registration form.

This configuration will automatically populate the [RegCount] field with the current total of registered participants for each new registration.
Creating an Email Template for Notification
The email template is designed to notify the recipient when X new participants have registered, including the total number of registrants. The function DMax() can be used to calculate the total number of participants.
Since the email will always be sent to the same address, the recipient’s email can be entered directly as an expression in the Receiver Field.

Triggering the Notification After Every X Registrations
To trigger the email notification after every X new registrants, apply the following filter in the Send Email module under the After Save Actions of the Registration Form:
DMax("[RegCount]")%X=0
This formula checks if [RegCount] is a multiple of X. When the remainder of the division is zero, the system sends the email notification.

Assign Entry Fees Based on the Number of Registered Participants
Some events offer tiered pricing for registrations: the earlier you register, the cheaper the entry fee. Although RACE RESULT 12 does not provide this as a built-in feature, such a pricing structure can be implemented by combining Additional Fields, conditional Entry Fee filters, and expressions in the Online Registration Form.
Example Scenario
Consider a tiered pricing model where the first 100 participants pay 10 EUR, participants 101 to 200 pay 15 EUR, and all subsequent participants pay 20 EUR. Implementing this model requires assigning a dynamic registration number at the time of form submission and using this value to determine the appropriate entry fee.
Create an Additional Field to Store Registration Order
To track the order of registration, an additional field must be added to the participant dataset.
In Basic Settings ⇒ Participants Data ⇒ Additional Fields, create a new field of type Number (integer), for example named RegCount. This field will store each participant's position in the registration order.

Define Entry Fees Using Conditional Filters
Once the RegCount field is in place, define the entry fees based on this value.
Under Finance ⇒ Entry Fees, create three separate fee entries and assign filters as follows:
- A 10 EUR fee applies when [RegCount] IN "1-100"
- A 15 EUR fee applies when [RegCount] IN "101-200"
- A 20 EUR fee applies when [RegCount] > 200
These filters ensure that the correct fee is applied automatically based on the stored registration count. The participant will see and pay the appropriate price during registration, based on the data at the time of submission.

Calculate and Store the Registration Count
The next step is to calculate and store the correct value in the RegCount field during the registration process.
Open the Registration Form, go to Advanced Settings > Store Additional Values, and add the RegCount field. Set the Source to Expression, and use the following formula:
DCount("[Contest]=" & [Contest]) + 1
This expression counts the number of participants already registered for the same contest and adds one, assigning the next available number to the incoming registration.

Handling Group Registrations
When using Group Registration instead of single registration, the calculation must account for the position of each participant within the group. In this case, the following expression should be used instead:
DCount("[Contest]=" & [Contest]) + [GroupRegPos]
This ensures that each member of the group receives a unique and incremented value for RegCount. The field [GroupRegPos] indicates the sequence of the participant within the group registration. It starts at 1 for the first person and increases for each additional group member. In single registrations, this value is 0, which is why the +1 expression is required instead.
Limitations and Considerations
The [RegCount] value is only saved after a registration is submitted. This means that if multiple users register simultaneously - especially near a pricing tier threshold - they may receive the same RegCount and be charged the same fee, even if one should fall into the next tier.
This can happen during periods of high demand or when tier ranges are very narrow compared to the registration volume. While such overlaps are rare and self-correcting, they should be considered when configuring the pricing model.
Transferring Registrations Using Vouchers
At times, participants may need to transfer their registration to another person while maintaining data privacy and avoiding the exchange of personal information.
A convenient and secure solution is to let a registered participant generate a Voucher (via SimpleAPI). This Voucher can then be used by a new participant as a discount code when registering for the event.
Prerequisites
Before setting up the process, make sure you are familiar with how to use:
- Web Service Calls in RACE RESULT 14
- Self-Service Registration Forms
- User Defined Fields (UDFs)
Voucher Structure
When parsing Voucher data via the API, the JSON structure is as follows. Not all fields are required:
{
"Code": "EnterVoucherCode",
"Type": EnterType,
"Amount": EnterAmount,
"Tax": EnterTaxValue,
"Contest": EnterContestID,
"Category": "",
"ValidUntil": "",
"ValidFrom": "",
"Reusable": 1,
"UseCounter": 0,
"Remark": ""
}
* Type Values:
- 0 - Fixed Amount
- 1 - Percentage (1-100)
API Endpoint
To save a Voucher in RACE RESULT 14, use the following API endpoint:
vouchers/save
Set up a Web Service Call with the parameters below.

Post Content
Make sure there is a space after the first quotation mark:
Post Content: " [{" & [VoucherAPI] & "}]"
Create the UDF [VoucherAPI]
First, create a set of Additional Fields:

Then proceed with the creation of the User Defined Field VoucherAPI
VoucherAPI: #"Code": "[VoucherCode]", "Remark": "", "Type": 0, "Amount": [VoucherValue], "UseCounter": 0, "Reusable": 1, "Category": "", "ValidUntil": "", "Contest": 0, "OrderPos": 0, "ValidFrom": "", "Tax": 0
Generate the Voucher Code via the Self-Service

To generate the VoucherCode, use Store Additional Values under the Advanced Settings of your Self-Service Registration Form.

Expression - This expression ensures each Voucher can be traced back to the participant ID who created it:
[ID] & "V" & UCase(left(md5([Random]);6))
Automate the API Call
In your After Save Action, select the Voucher Web Call to make the POST request. To prevent multiple API calls for the same participant, add the filter [WebcallSent]=0
Send the Voucher via Email
You can allow participants to enter a receiver email address during the process. This way, the Voucher Code and its value are automatically sent to the recipient via email.
Restrict Additional Voucher Creation
To prevent misuse, use Show if (Old Values) conditions in your Self-Service Form to ensure that once a Voucher is created, the original participant:
- Cannot create additional Voucher Codes.
- Can still view the created Voucher Code and its value

This setup allows a participant to safely transfer their registration by generating a Voucher that another participant can redeem.
It ensures:
- Data privacy (no sharing of personal details)
- Controlled and traceable transfers
- Automation through the RACE RESULT API and Self-Service features
Automatically Creating & Sending Invoices
Insbesondere für Veranstaltungen mit Firmenanmeldungen, müssen oftmals Rechnungen erstellt werden, unabhängig von der verwendeten Zahlungsmethode.
Beispielszenario
Im Anmeldeformular wird gefragt, ob eine Rechnung benötigt wird. Wenn ja, wird im darauffolgenden Schritt nach den Rechnungsdaten gefragt. Nach erfolgter Anmeldung wird die Rechnung automatisch mit den Zahlungsbedingungen aus dem Online-Payment gefüllt und wird automatisch an eine definierte Empfängeradresse verschickt.
Erstellung von Zusatzfeldern für Rechnungsdaten
Um die Rechnung mit den korrekten Empfängerdaten zu befüllen, werden hierfür zunächst Zusatzfelder erstellt.
Unter Grundeinstellungen > Teilnehmerdaten > Zusatzfelder ist es für die Übersicht am einfachsten, eine neue Gruppe für die Rechnungsfelder zu erstellen. Zusätzlich zur Rechnungsadresse, wird ein Checkbox-Feld [Rechnung] erstellt, über das abgefragt wird, ob eine Rechnung erstellt und versandt werden soll.

Rechnungseinstellungen und -layout
Öffnen Sie die Einstellungen unter Finanzen > Rechnungsstellung und definieren Sie die Daten für die Rechnungserstellung wie die Rechnungsnummer sowie die Daten des Rechnungsstellers. Abschließend fügen Sie unter Rechnungsempfänger die oben erstellten Zusatzfelder für die Rechnungserstellung an.

Erstellen Sie das Rechnungslayout wie in diesem Artikel erklärt.
Erstellung eigener Rechnungsmail
Unter E-Mail/SMS erstellen Sie eine neue E-Mil-Vorlage. Beim Empfängerfeld wählen Sie das Feld [RechnungMail], damit diese E-Mail mit der Rechnung korrekt zugestellt wird.

Sofern benötigt können Sie die Mail per BCC an die Buchhaltung des Rechnungsstellers senden, damit die Rechnung direkt in das Buchhaltungstool eingespielt werden kann.
Fügen Sie ganz unten einen Anhang des Typs Ungesendete Rechnung hinzu. Lassen Sie den Anhang-Namen leer, wird die Rechnung automatisch als [Rechnung.Nummer].pdf verschickt.
Hinzufügen der Rechnungsabfrage zu Anmelde-Formular und Einrichten des Automatischen Rechnungsversands
Im letzten regulären Schritt des Anmeldeformulars wird ein Eingabe-Feld für die [Rechnung] eingefügt. In den erweiterten Einstellungen dieses Eingabe-Felder ist als abweichende Beschriftung "Ja, bitte erstellen Sie eine Rechnung" hinterlegt.
Nun wird ein weiterer Schritt eingefügt. Für eine bessere Darstellung werden alle Rechnungsfelder in einer Box zusammengefasst. Zudem wird für die Box in den erweiterten Einstellungen ein Anzeigefilter von [Rechnung]=1 gesetzt. Dadurch wird der gesamte Schritt übersprungen, wenn keine Rechnungsdaten abgefragt werden.
Die Tabelle für die PLZ und Stadt kann einfach vom Schritt Grunddaten kopiert und angepasst werden. Das stellt ein vernünftiges Verhältnis der Feldbreiten sicher.

Stellen Sie für Sammelanmeldungen sicher, dass ALLE Rechnungfelder als gemeinsame Felder definiert sind.
Automatischer Rechnungsversand
In den Aktionen nach Speichern des Anmeldeformulars setzen Sie den Haken für die automatische Erstellung von Rechnungen nach Anmeldung. Geben Sie zudem folgenden Filter an, so dass die Rechnungen nur für diejenigen Teilnehmer erstellt werden, die diese benötigen.
Unter EMAIL SENDEN fügen Sie die vorher erstellte E-Mail-Vorlage für die Rechnung hinzu und setzen den gleichen Filter [Rechnung]=1. Somit wird die Rechnungsmail nur dann verschickt, wenn auch eine Rechnung gewünscht und erstellt wird.
Timing
The following articles show different ways to setup the timing of your event.
Setup mehrerer Startwellen
Standardmäßig werden die Startzeiten (T0) pro Wettbewerb festgelegt. Viele Rennen erfordern jedoch Wellenstarts nach anderen Kriterien, wie z. B. Altersklasse, eine vordefinierte Wellennummer oder in geplanten Intervallen bei Rennen wie Zeitfahren, es kann sich sogar um zufällige Wellen handeln, für die die Athleten jeweils eingecheckt werden.
Zugewiesene Wellen
Wenn Wellenstarts nach bestimmten Kriterien vordefiniert sind, können Sie die Startzeiten auf Wellenstart nach: setzen und dann das gewünschte Feld oder den gewünschten Ausdruck in das Eingabefeld eingeben, wobei es sich um einen beliebigen Text oder Zahlenwert handeln kann.
Die Liste der Startzeiten zeigt nun einen Datensatz für jeden Wert, der in das Feld eingegeben oder durch den Ausdruck zurückgegeben wird, sowie einen Eintrag mit einem leeren Titel, wenn kein Wert zurückgegeben wird.
Sie können nun wie gewohnt eine Startzeit für jede Welle eingeben.
Berechnete Wellenstarts
Die Alternative besteht darin, eine Startzeit für eine Welle oder eine zugewiesene Startzeit direkt in einem Ergebnis zu berechnen. Dies ist nützlich für Zeitfahren oder Rennen, bei denen die Teilnehmerwellen in festen Abständen starten, z. B. bei Triathlons im Schwimmbad.
Erstellen Sie in einem Ergebnis die Berechnung, z. B. wenn die Teilnehmer in vorher zugewiesenen Wellen sind und jede Welle im Abstand von 30 Sekunden startet, können Sie die Wellennummer in ein ATF importieren und dann die Startzeit berechnen:
Wir verwenden immer noch T0 für den Start der ersten Welle und dann werden für jede Welle 30 Sekunden addiert. Dies setzt voraus, dass jede Welle pünktlich startet.
Wenn Sie einen berechneten Wellenstart verwenden, sollten Sie die Option Startzeit subtrahieren (T0) in Ihrer Zeitpunkteinstellung deaktivieren und die berechnete Startzeit für die relevanten Ergebnisse subtrahieren.
Zufällige Wellen
Die letzte Option tritt ein, wenn keine festen Wellen zugewiesen sind. Die Teilnehmer können über einen bestimmten Zeitpunkt eingecheckt werden und dann in Gruppen einer bestimmten Größe starten.
In diesem Fall ist T0 irrelevant, also stellen Sie auch hier sicher, dass dies nicht von Ihren Ergebnissen abgezogen wird. Richten Sie ein Ergebnis ein, indem Sie eine erweiterte Regel verwenden, um die entsprechende Check-in-Zeit zu nehmen, höchstwahrscheinlich die maximale Erkennung an Ihrem Check-in-Zeitpunkt.
Sie können dann den Marker auf dem Decoder verwenden und einen Marker für jeden Wellenstart erfassen und ein zweites Ergebnis mit einer erweiterten Regel verwenden, um nach dem entsprechenden Marker zu suchen. Dies ist höchstwahrscheinlich der erste Marker nach dem Check-in-Ergebnis.
Dieses Ergebnis können Sie nun als Referenz für die Subtraktion der Startzeit verwenden.
Teilnehmer in der falschen Welle
Wenn ein Teilnehmer nicht in der richtigen Welle startet, können Sie entweder den Wert der zugewiesenen Welle ändern oder die Zeit in den Ergebnissen der einzelnen Teilnehmer überschreiben. Ein zweiter Wellenüberschreibungs-ATF wird auch häufig als Teil eines Ausdrucks verwendet, damit Wellen neu zugewiesen werden können, wenn die Wellen auf einem festen Wert wie Geschlecht oder Altersgruppe basieren.
Mehrtägige Veranstaltungen
Für Veranstaltungen, die über Mitternacht und kontinuierlich über mehrere Tage stattfinden, sollten Sie sich mit folgenden Einstellungen in RACE RESULT vertraut machen.
Zunächst sollten Sie verstehen, wie die Software diese Situation verarbeitet. Anstelle einer Datum/Zeit-Kombination zu verwenden oder die Zeit auf 00:00:00 zurückzusetzen, zählt die Zeit einfach über 24:00:00 weiter hinaus, so dass z.B. 3:30:00 Uhr an Tag 2 als 27:30:00 oder 1:03:30:00 in RACE RESULT angezeigt wird.
Bei mehrtätigen Veranstaltungen müssen Sie daher unter Hauptfenser - Veranstaltung das korrekte Start- und Enddatum der Veranstaltung setzen.
Nur wenn die Veranstaltung dort als Mehrtagesveranstaltung definiert ist, werden Ihnen 3 Optionen in den Timing Einstellungen angezeigt. Die Einstellungen legen fest, wie die Software mit mehrtägigen Veranstaltungen umgeht.

Datum ignorieren, Zeit startet wieder bei 0 nach Mitternacht - mit dieser Option wird die Zeit um Mitternacht auf 00:00:00 gesetzt und RACE RESULT berechnet KEINE Zeiten, die über Mitternacht hinausgehen. Diese Einstellung ist nützlich für mehrtägige Veranstaltungen mit einzelnen Rennen an den jeweiligen Tagen. In diesem Fall macht es Sinn, dass immer mit der aktuellen Tageszeit gearbeitet wird und jeder Tag bei 00:00:00 startet.
Veranstaltungsdatum abziehen - bei dieser Option wird automatisch das Startdatum der Veranstaltung gesetzt und als Startdatum angesehen. Die Zeiten werden nun für jeden weiteren Tag nach diesem Datum über 24:00:00 hinaus weitergezählt. Mit dieser Einstellung ist das Datum immer an das Veranstaltungs-Startdatum gebunden
Dieses Startdatum abziehen - wenn diese Option ausgewählt ist, wird standardmäßig das Startdatum auf dieses Datum gesetzt. Das gewählte Datum wird als Startpunkt betrachtet und die Zeiten werden nun für jeden folgenden Tag nach diesem Datum über 24:00:00 hinaus hochgezählt. Mit dieser Einstellung sind die Zeiten korrekt, auch wenn das Datum geändert wird.
Transponder Code Validation
The following functions allow you to validate that an input matches the pattern of a valid RACE RESULT Active Transponder code, for example if participants are required to enter an individual transponder code during registration. Note it does not truly validate if it is a valid Transponder code.
If you are using Check-In kiosks to assign transponders then it may be easier to use the option to only allow transponders which are in the chip file to validate against your own stock of transponders. You can import a chip file with all bibs set to 0 for this.
This can be entered as a User-Defined Function which takes an input to validate the value entered.
Create a user-defined for isTransponder(x), or an applicable function name with the following expression, this checks that the length is 7 characters, the first 5 digits should be letters and the last 2 digits should be numbers.
Len([x])=7 AND isAlpha(left([x];5))=1 AND isNumeric(right([x];2))=1
e.g. isTransponder([Transponder1]) would return 1 if the value in Transponder1 matches this pattern.
Scoring / Awards
The following articles show how to handle different scoring and awards setups.
Calculate the Average Time of a Contest, Based on the Finishers' Time
To calculate the average time for a specific contest based on finishers' times, a Team Score needs to be created. This will group all participants who have completed the same race.
To filter the participants, you can use the condition: [Finished] AND [Status]=0.
When configuring the Team Score, set the following parameters:
- Participants: Minimum 1, Maximum 9999
- Women: Minimum 0, Maximum 9999
- Max. No. of Teams: "1 and show all participants"

If you want to calculate the average time based on both Contest and Gender, ensure that these fields are included in the Team Aggregation and Grouping Settings.

To calculate the average time, go to the Result section of the Team Score and select the <Finish Result> with the "Average" mode.

Finally, you can access the average time for each contest and gender by referencing the fields [TSX.Time1] or [TSX.DecimalTime1]. This allows you to perform additional calculations requested by the race organizer.
Add Penalties to the Finish Time
In some events, it may be necessary to apply penalties to participants, which are added to their finish times and can impact the final rankings.
Penalties can only be applied using Special Results. This article will guide you through implementing penalties when scoring a race using Splits and Special Results.
In both cases, don't forget to reference the FinishResult in your ranking calculations and output lists to consider the penalties!
Scoring via Splits
If you are scoring the race using Splits, follow these steps:
- ManualPenalty: Create a Special Result to store the penalties for each participant.
- FinishResult: Create a second Special Result where you reference the specific split time you wish to consider (e.g., [Finish.Decimal]) and add the penalties using the nz() function.

Scoring via Special Results
If your race is already scored using Special Results, simply create an additional Special Result to store the manual penalties. Then, add these penalties to the finish time using the nz() function.

Assigning penalties to Participants
To manually assign penalties to individual participants, navigate to Participants > Results and enter the ManualPenalty in the appropriate field.

Pro tip: Use an Additional Field to Store Penalties
To allow referees to add penalties directly to specific participants, create an Additional Field to store the penalty time and include it in a Check-In Kiosk: reference now the additional field in the ManualPenalty result with the function TimeFromString().
Master, GrandMaster, and Double dipping
Our Knowledge Base article Stop "Double Dipping" for Age Group Award will explain the basics of double-dipping. This article will discuss an advanced double-dipping setup where you have a MasterRank and a GrandMasterRank.
User-Defined Fields/Fcts.
First, create UDFs to help us organize the various filters needed for our rankings. Listed below are the UDFs you will need.
These two UDFs check for rank eligibility. For example, IsMaster checks to see if the participant is aged 40 to 49.
| Name | Expression |
| IsMaster |
[Age] IN "40-49" |
| IsGrandMaster |
[Age]>=50 |
The award depths UDFs are where you store the award depth value for each ranking.
| Name | Expression |
| GenderAwardsDepth | 3 |
| MasterAwardsDepth | 1 |
| GrandMasterAwardsDepth | 1 |
These three check to see if someone is an award winner for that ranking. For example, IsGenderWinner checks to see if someone has a GenderRank greater than 0 and a GenderRank less than or equal to the GenderAwardsDepth. If they do, they are considered a winner for that ranking which will be represented by the number 1. Those who do not fit this filter will be represented with the number 0.
| Name | Expression |
| IsGenderWinner |
[GenderRank]>0 AND [GenderRank]<=[GenderAwardsDepth] |
| IsMasterAwardWinner |
[MasterRank]>0 AND [MasterRank]<=[MasterAwardsDepth] |
| IsGrandMasterAwardWinner |
[GrandMasterRank]>0 AND [GrandMasterRank]<=[GrandMasterAwardsDepth] |
Rankings
The above UDFs can now be used to filter your rankings.
| Name | Filter |
| GenderRank |
[Finished] AND [Status]=0 |
|
MasterRank |
[Finished] AND [Status]=0 AND [IsMaster] AND [IsGenderWinner]=0 |
| GrandMasterRank |
[Finished] AND [Status]=0 AND [IsGrandMaster] AND [IsGenderWinner]=0 |
| AgeGroupRank |
[Finished] AND [Status]=0 AND [IsGenderWinner]=0 AND [IsMasterAwardWinner]=0 AND [IsGrandMasterAwardWinner]=0 |
GenderRank has the default filter checking for if the racer finished the race and if their status is normal (represented by a 0).
MasterRank, we add the filter
AND [IsMaster] AND [IsGenderWinner]=0
IsMaster checks to make sure the participant is eligible for the MasterRank. [IsGenderWinner]=0 checks to make sure the participant is not a GenderRank winner meaning they are not within the specified awards depth for GenderRank.
GrandMasterRank has a similar filter to MasterRank. The only difference is that IsMaster is changed to IsGrandMaster.
AgeGroupRank filters by all the IsWinner UDFs since it is last in the ranking order, we want to make sure that none of the previous winners are eligible for the AgeGroupRank.
Output Report
For an advanced awards report, please see Advanced Awards Report (Different Award Categories in one List).
To add a basic output report for MasterRank and GrandMasterRank you can simply copy the Gender Results report from our standard template. Make sure to update GenderRank to MastersRank in all three sections, Grouping/Sorting, Fields/Columns, and Filter.
Attached to this article is a copy of a basic event file with all of these functions, rankings, and output reports.
Advanced Awards Report (Different Award Categories in one List)
The following example shows how to create a single output list that lists all award winners in a single list. Note that this method is only possible when preventing "double dipping" - since each participant can only appear in the list once.
User Defined Functions
This setup uses some User Defined Functions, isGenderWinner, isAgeGroupWinner, and AwardsDepth to automate some of the calculations.
This assumes you are using one of the standard templates where your ranking that groups by gender is called GenderRank and your ranking that groups by age group is called AgeGroupRank. If your rankings are different, adjust accordingly.

Rankings
Add rules for double dipping to the Rankings settings, add the below to the filter of AgeGroupRank.
AND [GenderRank]>[AwardsDepth]
This will ensure the participants with GenderRank less than or equal to our AwardsDepth will not get a ranking for AgeGroupRank.

Output List
What makes this list work is the Grouping/Sorting and Filter settings. The first grouping should be [Contest.Name] so that all contests are separated in the report.
Use a switch() statement to determine who on the report is considered an OverallWinner and who is an AgeGroupWinner. The UDFs, isGenderWinner, and isAgeGroupWinner, will help with this.
switch([isGenderWinner]=1;"Gender Winner";[isAgeGroupWinner]=1;"Age Group Winner")
Since GenderRank and AgeGroupRank are grouped by Gender, use the UDF MaleFemale as the next grouping criteria. Next, group by AgeGroup.Name but only for the AgeGroup winners.
An if() statement can be used to check the isAgeGroupWinner UDF and return the data filed AgeGroup.Name for participants who are age group winners. Lastly, sort by Status, GenderRank, and then AgeGroupRank.

Output List Filter
For the Filter, the isGenderWinner and isAgeGroupWinner functions can be used. Looking back at the UDF setup, these UDFs are set to filter by Rank greater than 0 and Rank less than AwardsDepth. This ensures that only participants who are in the allotted awards depth will appear on the report.

Outputs / Displays
The following articles detail ways to customize lists and displays that can be used to streamline operations and improve visual elements of the event.
How to Create an Announcer Report
Below are two examples of how to create an announcer report in RACE RESULT Software. One is explained using Splits. The other is explained using Special Results.
Vereinsmeldeliste / Vereinsmeldeliste Quittung
Unter Listen finden Sie eine vorgefertigte Vereinsmeldeliste, die sämtliche Teilnehmer eines Vereins zusammen gruppiert darstellt, und automatisch eine Summe über das im System hinterlegte Startgeld einfügt.
In früheren Versionen der Software gab es zudem eine Vereinsmeldeliste Quittung, die für die weitere Entwicklung der Software weichen musste. In dieser Vereinsmeldeliste Quittung wurde zusätzlich zur Auflistung aller Teilnehmer jedes Vereins automatisch eine Quittung mit aufgedruckt.
Um eine solche Vereinsquittung auch zukünftig generieren zu können, gehen Sie wie folgt vor:
- "Auswertung > Mannschaftswertungen": Fügen Sie eine neue Mannschaftswertung hinzu, mit dem Filter [Verein]<>"", einer minimalen Anzahl Teilnehmer von 1 (von Frauen 0), einer maximalen Anzahl Teilnehmer (und Frauen) von 9999 und dem Feld [Verein] als einziges Kriterium der Mannschaftszusammenfassung. Alle anderen Felder lassen Sie leer bzw. löschen die Werte, insbesondere auch im Feld Ergebnis 1.
- Unter "Urkuden" importieren Sie die angehängte Datei Vereinsquittung.lvs. Dies ist eine Quittungsvorlage, die das Startgeld aller Vereinsmitglieder summiert.
- Unter "Urkunden-Sets" importieren Sie die angehängte Datei UK-Set_Vereinsquittung.lvs. Stellen Sie nach dem Import sicher, dass beim Urkunden-Typ die Mannschaftsurkunde (1 pro Team) ausgewählt ist und die oben erstellte Mannschaftswertung hinterlegt ist.
Sie können nun über das Urkunden-Set sämtliche Vereinsquittungen auf einmal anzeigen lassen und drucken. Benötigen Sie nur eine einzelne Vereinsquittung, rufen Sie einen beliebigen Teilnehmer des Vereins auf, gehen im Datensatz auf den Reiter Urkunden und öffnen die Urkunde Vereinsquittung.
QR code for Bib (& Transponder) Pick Up
This article describes the potential path a participant takes from event registration to collecting their race bibs (and transponders) on event day with the usage of a unique generated QR-Code and a Checkin Kiosk which is opened in the EventTools App.
The main idea here is, that the participant will receive a QR code which is sent with an e-mail template after completing the registration form.This QR code contains a personal and random value which identifies the participant uniquely.
During race pack collection the participant can show this QR code, which is then scanned in the search step of a Check-In Kiosk when working with the EventTools App.
With a dynamic bib assignment the volunteer picks up the first bib he picks from a box and assigns this bib number to the participant. If the event is timed with active technology, the volunteer can also dynamically assign active transponders to the participants.
Bib Numbers
The first step is to set up bib number ranges that are out of the real bib ranges that are going to be used on the event. The bib ranges are set up in the Participants Data in the Bib Numbers menu:

After the online-registration the participants are going to be saved in the event file with a bib number in these ranges. During the bib pick up, the bib number will be changed in the participant's data to the bib the participant receives at the bib pick up booth.
User Defined Fields and Advanced Settings in Registration
In the Event settings we add two User Defined Attributes. With the values we determine if this event is going to be an event timed with active or passive equipment. Depending on the entries here, we will later have different input possibilities in the Checkin Kiosk.

The next step is to add an additional field where we can save the string to uniquely identify the participant later.

We also add a field where the participant is able to upload a picture of himself. In order to enable a picture upload in the registration form, it is possible to select the Special Function "Upload Picture" in the Details of the corresponding Input Field.

In the registration form's Advanced Settings we add the additional field [IdentificationNo] to store an additional value with a specific expression:

With this expression a combination of the participant's entries ([Firstname], [Lastname], [YearOfBirth]) and a random value are saved in the additional field. The field [Random] is a Derived Field which returns a random number between 0 and 1.
QR Code Generation
The QR code is generated under Output >> Certificates via the small barcode icon on the right side in the tools section:

This will first create a barcode, but it can be changed to a QR code with the dropdown you find in the upper section.
After changing to the QR code we need to select the correct field which we want to save in the "QR code data". To do so, select the QR code and start typing the name of the field where you save the unique participant data during the online registration. Select the desired field from the dropdown of suggested datafields.
With a switch formula we show two different texts, depending if we set the event as an active or passive event by using the user defined attributes in the event settings.
Email Setup
The confirmation email is set up in the Email/SMS Templates. As the participant should receive his QR code with the confirmation email after the online registration, the pre-setup certificate needs to be added as an Attachment to the email:

Depending on the language the participant used on the my.raceresult.com website during the registration he will receive either a german or english certificate.
Checkin Kiosk Setup
The Checkin Kiosk is set up with three different steps. The first step is usually the Search step where we determine the search fields. The only Search field that should be used here is the field where the personal, unique identification code is saved after the finished registration.
The second step is only called Bib Pick up, as this step will only be visible if the event is going to be timed with passive transponders. The only Edit Field in this step is the [Bib] field. In the entry field's details it is possible to select a Scanner Input when using the Event Tools App. If a BLE Reader is available, the BLE Reader can be selected. With the Reader it is possible to scan the bib's transponder and use the read automatically as an entry for the input field.
If the bib number is also printed and encoded as a QR code on the bib itself, the QR Scanner option can be selected. With this option, the QR code can be scanned with the cell phone and the bib number will be entered automatically by encoding the QR code. Of course, manual entry is also possible, but this is prone to errors when typing the bib number in the entry field. The current bib value should be hidden, this is done with the corresponding Special function.

The third step on the other hand, will be only visible if the event is timed with active equipment. This step is not only used to assign a bib number, but also to assign an active transponder code to the participant.
Therefore two Edit Fields are added in this step. The first field is again the [Bib] field. As no passive transponders are going to be attached to the bibs in this case, either the QR scan option or the manual entry option (empty dropdown) can be selected. The second field is the [Transponder1] field where the active transponder code is going to be saved. It might be a smart move to attach a sticker on each active transponder with a QR code which contains the active transponder's chip-code. By doing so, it is possible to again use the QR scanner option for this input field. The volunteer later can then pick any transponder and just scan again the QR code on the active transponder to fill the [Transponder1] field.

Event Tools App usage
After logging in into the Event Tools App select your Event and open the Checkin Kiosk for the Bib-Pickup. If you plan to use a BLE Reader you can connect your smartphone with the reader now. If no Reader is going to be used, just push down the small pop up window:

By selecting the small, blue QR code symbol on the bottom of the smartphone the app enables a camera mode which allows it to scan QR codes for the search entry field. In this mode the QR code for the bib pickup can be scanned and the participant's information and edit fields are going to be displayed in the next step:
Selecting one of the entry fields on the smartphone, shows again the small blue QR code symbol in order to scan the QR codes from the active transponder and / or the bib to automatically enter their encoded information (transponder coder / bib number) to the corresponding entry-field.

After saving, the active transponder code and the re-assigned bib number are saved in the participants data.
Add a QR Code on Bib to download personal certificate with results
To make it easy for participants to download their finisher certificates, it is possible to add a QR Code on the Bib number with an encoded link to the personal certificate of that specific participant. The basic steps that need to be done are creating a certificate with the results of the race that should be able to download later, adding a certificate-set and then publishing this certificate-set online on the my.raceresult.com page of your event. These basic steps are explained in the following article.
In the following steps it is explained how to add a QR code on your certificate that is used for the bib layout and encode a personal link which leads the participant to the downloadable certificate.
Certificate (Bib) with attached QR code to link to personal result
A QR Code can be added to a certificate by clicking on the small bar code icon on the right tool side in the certificates designer. By doing so, a barcode will be added to the certificate in the first step. The type of the code can be changed via a dropdown in the upper tool bar.

After changing the code type, the link to the certificate with the personal result needs to be added in the entry line on the top left:

The link must be set into quotation marks and the field [ID], which links to the individual ID-Number of a participant, needs to be excluded from those:
"https://my4.raceresult.com/EventID/certificates/"&[ID]&"/Internet"
It is also possible to copy the general code from an opened certificate on the my.raceresult.com page to make sure that the correct format of the link is encoded in the QR code. Note, you need to adapt the part with the [ID] field, otherwise the link would be hard coded and would direct to a specific certificate.

If now this participant's QR code is scanned with a smartphone, the published certificate will be automatically be downloaded:

Utilizing the BLE Reader to Display Results on a Presenter
RACE RESULT 14, in combination with the RACE RESULT Event Tools application, enables the creation of a presenter that can serve as a Selfie Screen before and after a race event.
In essence, the Event Tools application transmits transponder detections to RACE RESULT 14, which subsequently displays the data on a screen or LED wall via a presenter.
Create the Timing Structure
Create a Timing Point for the BLE Reader
Within the Main Window under the Timing Point section, create a timing point to store all detections received from the BLE Reader.

Create a Special Result for BLE Reader Detections
In the Main Window under Special Results, create a result that retains only the latest detection for each transponder. This ensures that if a transponder is scanned multiple times, only the most recent detection is updated and used for display in the Output List.

Create the Output Lists
Once the timing structure is configured, proceed with creating the desired output lists. To ensure that the most recent participant scanned by the BLE Reader is always displayed, adjust the following settings:
- Grouping/Sorting: Configure the sorting order (Z-A) based on the Special Result. This arrangement ensures that the most recent detection appears at the top of the list.

- Filter: Set the Maximum Number of Records to 1 to display only one participant at a time and apply a filter to include only those participants scanned by the BLE Reader.

- Fields/Columns: define the information to be displayed on the presenter. For example, you may include the participant’s name, club details, company website, and nationality. The if() function is used to display a placeholder (e.g., “-”) when specific information is missing, and the use of the Line feature allows data to be displayed in a multi-line template.

Connecting the BLE Reader in Event Tools
Within the RACE RESULT Event Tools application, connect the BLE Reader to the Timing Point created in RACE RESULT 14 by accessing the Event File, selecting the BLE Reader option, and then choosing Checkpoint. It is recommended to reduce the Reader Power to the “Kiosk” level to prevent the detection of transponders outside the intended range.

After swiping to the right, the BLE Reader begins transmitting transponder detections to the Event Tools application, which then uploads the data directly to the event file in RACE RESULT 14.

Alternative: Connecting to Manual Timing
In case a BLE reader is not available, it's possible to use the Manual Timing tool in EventTools, in order to push manually to the Event File the detection of each participant who wants to see its information on Presenter.

Once the Timing Point in Manual Timing is selected, it's possible to type the BIB of the participant and press GO to send the detection to the event file.

Creating the Presenter
After the output lists are configured, set up the presenter under Tools – Presenter to display the output on an LED wall or other screen.
For enhanced visual appeal, a background image may be added, with the output list positioned in the available space.

In the advanced settings of the presenter list (accessible via the grey arrows), configure the Font Size and set the page time to 1 second. This ensures that the presenter updates every second to capture new detections from the BLE Reader.

The final output should resemble the configuration illustrated above.

Equipment needed
BLE Reader:
For each presenter a customer wants to set up using the BLE Reader integration, the following components are required:
- one timing point
- one special result
- one BLE Reader
- one Smartphone/Tablet with EventTool session
Each presenter operates independently, meaning multiple presenters can run in parallel without interfering with each other.
Manual Input:
For each presenter a customer wants to set up using Manual input, the following components are required:
- one timing point
- one special result
- one Smartphone/Tablet with EventTool session
Each presenter operates independently, meaning multiple presenters can run in parallel without interfering with each other.
Publish a certificate
Certificates are a great way to reward participants with a personal memory and a shareable record of their performance. RACE RESULT Software allows you to generate and publish customized certificates for your participants directly online through my.raceresult.com.
Designing the Certificate Template
The process begins in the Certificates section of your event file. Here, you can design the layout and content of your certificate. The certificate editor allows you to place dynamic fields such as the participant’s name, finish time, position, or any other relevant data. You can fully customize the design to reflect your event’s branding.
Defining Eligibility via Certificate Sets
Once your template is ready, go to Certificate Sets. This section allows you to define which participants should receive which certificate. You can create multiple sets, each linked to a different certificate template, if needed.
For example, you might want to create separate certificates for different race distances, or only assign certificates to finishers. Certificate Sets use filters to target specific groups of participants based on result lists, timing points, or custom conditions.
Publishing Certificates Online
In the my.raceresult.com > Certificates/Details section, you can choose which Certificate Sets to publish and for which contests. You can enable or disable each set as needed, or set a time range during which the certificates will be available. By default, the system shows a preview of the certificate based on your design, but you can upload a custom image if you prefer. You can also change the name shown for the certificate by setting a custom label instead of using the default name of the Certificate Set.
Linking Certificates to the Personal Results Page
To show certificates directly on the personal results page, make sure the option “Link personal results page with certificates & details list” is enabled in each of the online pages you decided to publish.

When this is active, a pop-up window appears when a participant clicks on their result. This window shows extra details about their timing and also includes links to any certificates available for that participant.
Technical
The following articles detail some administrative and technical steps for Race Result Software.
Backup
Regelmäßig besteht der Bedarf Backups von Veranstaltungsdateien zu erstellen, z.B.
- wenn einer von mehreren Wettbewerben abgeschlossen ist und der Zwischenstand festgehalten werden soll
- vor Operationen, die viele oder alle Teilnehmer betreffen, z.B. beim Löschen von Zeiten oder bei Datenmanipulationen
Backup erstellen
Es gibt verschiedene Möglichkeiten, Backups zu erstellen:
- Wenn Sie online arbeiten, finden Sie unter Dashboard ->Übersicht einen Link, zum Backup dieser Veranstaltung herunterladen (diese Option ist nur verfügbar, wenn Sie der Ersteller der Datei sind).
- Wenn Sie offline arbeiten, können Sie eine Kopie ganz einfach erstellen, indem Sie die Datei im Windows Explorer auswählen, und per STRG+C und STRG+V kopieren.
Backup wiederherstellen
Wenn bei einer Operation etwas schief läuft und Sie auf das Backup zugreifen wollen, gehen Sie folgendermaßen vor:
Wenn Sie offline arbeiten...
- Schließen Sie den race result Webserver und alle anderen Programme, die auf die Datei zugreifen.
- Benennen Sie die Backup-Datei um, um deutlich zu machen, dass Sie nun mit dieser Datei arbeiten, und arbeiten Sie dann wie zuvor mit dieser Datei weiter.
- Denken Sie daran, ein neues Backup zu erstellen, wenn Sie erneut versuchen wollen, die zuvor fehlgeschlagene Operation durchzuführen.
Wenn Sie hingegen online arbeiten und auf ein Backup offline auf Ihrem Rechner zurückgreifen wollen, gehen Sie in zwei Schritten vor:
- Checken Sie die fehlerhafte Veranstaltungsdatei online aus. Nach dem Download schließen Sie die Datei und löschen sie.
- Öffnen Sie sodann die Backup-Datei und checken Sie sie anstelle der fehlerhaften Datei ein.
Automatische Backups
Neben diesen manuellen Backups wird automatisch jede Nacht ein Backup aller Ihrer online gespeicherten Veranstaltungen erstellt. Benötigen Sie Zugriff auf eines dieser Backups, können Sie es per Email bei race result anfordern.
Backup ohne Backup
Falls Sie z.B. eine Datenmanipulation falsch ausgeführt haben, aber zuvor kein Backup erstellt haben, besteht noch die Möglichkeit, auf die History zurückzugreifen. Im Teilnehmer-Fenster unter History können Sie einen Gesamtexport der History erstellen und daraus eine Excel-Datei erstellen, die über den Teilnehmer-Import (mit Option vorhandene Teilnehmer aktualisieren) die alten Werte zurückschreibt.
Live-Backup
Das Live-Backup ist eine Funktion, um weiterhin Zugriff auf den letzten Stand einer Veranstaltung zu haben, wenn Ihr Rechner abstürzt. Es bietet hingegen kein Rückgriff auf eine alte Version, wenn eine falsche Operation ausgeführt wird.
Starten Sie das Live-Backup im race|result Web Server über Datei->Live-Backup lokal starten (Backup auf lokalem Speichermedium) oder Live-Backup extern starten (Backup auf einem anderen Computer, auf dem die race|result Software läuft).
Eine Veranstaltungsdatei in ein anderes Benutzerkonto verschieben
Veranstaltungen können mit mehreren Benutzerkonten mit Hilfe der Zugriffsrechte geteilt werden.
Es ist nicht möglich eine Veranstaltungsdatei direkt von einem Benutzerkonto ein ein anderes Konto zu verschieben. Hierfür muss ein Backup der zu verschiebenden Datei heruntergeladen und im zweiten Benutzerkonto hochgeladen werden. So lange die Original Veranstaltung nicht gelöscht wird, bleibt diese aktiv.
Backup der Veranstaltungsdatei herunterladen
Im Menü Dashboard > Übersicht kann ein Backup der Veranstaltungsdatei heruntergaeladen werden.

Online Verknüpfung aufheben
Nach dem Herunterladen des Backups, muss die Veranstaltungsdatei offline im RACE RESULT Web Server geöffnet werden. Zu diesem Zeitpunkt ist die Veranstaltung noch mit der originalen Event ID verlinkt (hier im Beispiel: 175168).

Unter Online > Erweitert, muss Online-Verknüpfung aufheben ausgewählt werden.

Veranstaltung in anderes Benutzerkonto hochladen
Da nun die Veranstaltungsdatei nicht mehr mit der originalen Veranstaltungs-ID verknüpft ist, kann die Datei über den Chekin in ein anderes Benutzerkonot hochgeladen werden. Dazu muss das Event eingecheckt werden unter Online > Diese Veranstaltung auf den Server schieben (Check-In).

Nach dem Login wird der Webserver melden, dass dieses Event bisher nicht online existiert und fragt, ob eine neue Veranstaltung erstellt werden soll. Wird die Meldung bestätigt, wird die Veranstaltung im Benutzerkonto online angelegt.

Use Custom Fonts
Fonts can be added to the RACE RESULT Software offline by installing them to your computer as you would install any new font. Fonts are reloaded into the software every 5 minutes or when restarting the RACE RESULT Web Server. These fonts can then be used for certificates, PDFs or even Presenter screens.
Browsers will cache the list of fonts for 24 hours so new fonts will not be visible until you clear your cache or wait 24 hours.
Offline fonts will NOT transfer online. The list of fonts online are fonts available from our servers. This list can not be added to at this time.
Import von Fotos / Dateien
Bilder und andere Dateien können in Ihre RACE RESULT-Veranstaltungsdatei importiert werden, um sie in anderen Teilen der Software zu verwenden, am häufigsten für den my.raceresult.com-Header.
Dateien können unter Grundeinstelungen - Bilder / Dateien importiert werden

Dateien, die nicht in einem Ordner gespeichert sind, werden direkt in der Veranstaltungsdatei gespeichert und heruntergeladen, wenn die Veranstaltungsdatei ausgecheckt wird.
Dateien, die im Ordner "my" gespeichert sind, sind für alle Veranstaltungsdateien unter Ihrem Konto verfügbar, wenn Sie online arbeiten.
Dateien, die im allgemeinen Ordner "common" gespeichert sind, werden online gespeichert und können von jedem RACE RESULT-Benutzer aufgerufen werden. Hier gibt es einige alternative Flaggen, die das Land Alpha-2-Abkürzung für den Dateinamen verwenden.
Um auf Dateien zuzugreifen, die in Ordnern gespeichert sind, funktioniert der Bildname wie ein Standard-Dateispeichersystem, zum Beispiel würde ein Bild mit dem Namen "header.png", das im gemeinsamen Ordner gespeichert ist, den Bildnamen "common\header.png" verwenden.
Einfügen von Bildern
Ausgabe Liste
Bilder, die hier gespeichert sind, können direkt in die Ausgabelisten eingefügt werden indem "[img:.....]" benutzt wird.
Designer
Bilder können entweder über ein Standardbild eingefügt werden, das beim Anklicken ein Bildauswahlfenster öffnet, oder als datenabhängiges Bild. Bei datenabhängigen Bildern müssen Sie den Bildnamen, genau wie gespeichert, als Text in Ihrem Ausdruck verwenden.
my.raceresult.com Textfelder
Wenn Sie Bilder in Textfelder einfügen, z. B. auf der Infoseite, müssen Sie die Bild-URL verwenden, um das Bild einzufügen. Wenn eine Ereignisdatei über my.raceresult.com zugänglich ist, hat jedes Bild eine öffentlich zugängliche URL, die für den Zugriff auf Bilder in allen Teilen der Software verwendet werden kann. Das Format ist wie folgt:
https://my.raceresult.com/EventID/elements/picture.php?eventid=EventID&name=imagename.png
wobei die Event-ID und der Bildname durch die entsprechende Event-ID und den richtigen Dateinamen ersetzt werden müssen.
Klicken Sie im Textfeld Ihrer Wahl auf das Bildsymbol, um ein Bild hinzuzufügen. Das Link-Symbol kann auch verwendet werden, um auf andere in Ihrer Veranstaltungsdatei gespeicherte Dateien zu verweisen, z. B. auf PDF-Dateien, die für einen Veranstaltungsleitfaden verwendet werden können.

Fügen Sie im Feld Bildeigenschaften die entsprechende URL für Ihr Bild hinzu. Sie können die Bildgröße mit den Einstellungen für Breite und Höhe anpassen.
E-mails
Bilder können in E-Mail-Vorlagen auf die gleiche Weise wie my.raceresult.com-Textfelder eingefügt werden, indem Sie die Bild-Url verwenden.
Wenn Sie Bilder oder Dateien als Anhang an Ihre Vorlage anhängen, müssen Sie sicherstellen, dass der Dateityp im Anhangsnamen enthalten ist. Andernfalls wird die Datei ohne Typ gesendet und der Empfänger kann die Datei möglicherweise nicht richtig öffnen.
Wenn Sie Bilder in E-Mail-Vorlagen einfügen, können Sie die URL optimieren, indem Sie das Datenfeld Ereignis.ID in der URL verwenden, so dass es automatisch aktualisiert wird, wenn Sie eine Ereignisdatei kopieren. Dies kann für E-Mail-Vorlagen nützlich sein, wenn Sie für bestimmte Bilder wie Kopfzeilen oder Logos immer denselben Namen verwenden.
https://my.raceresult.com/[Event.ID]/elements/picture.php?eventid=[Event.ID]&name=imagename.png
Zugriff auf Bilder in Ordnern
Wenn sich Ihr Bild im Ordner "common" oder "my" befindet, müssen Sie die URL-Kodierung für den Zugriff auf diesen Ordner verwenden. Beim Zugriff auf einen Ordner wird normalerweise ein Schrägstrich zwischen dem Ordner und dem Dateinamen verwendet. Hier wollen wir den Schrägstrich durch die URL-kodierte Version eines Schrägstrichs ersetzen, nämlich %5C. In diesem Beispiel greifen wir auf den Ordner my zu.
https://my.raceresult.com/EventID/elements/picture.php?eventid=EventID&name=my%5Cimagename.png
How to use Swap Data
Bib Transponders
When participants have swapped their BIB Transponders, follow these steps depending on when the issue is identified:
-
Before the Race:
Simply swap the BIB numbers between the participants via the Swap Bib Numbers. This ensures that all associated data, including transponder readings, will be processed correctly. -
During the Race:
Use the "Swap Participants Data" function. This will update the participant data, swapping BIB numbers and raw timing data between the affected participants. -
After the Race:
As with during the race, use the "Swap Participants Data" function to swap BIB numbers and raw data.
Reusable Transponders
(A-Z Transponders, HuTags, Active Transponders, Bib transponders not linked to the bib number)
If participants swap Reusable Transponders, the approach depends on whether you’re using the Transponder Field or a Chip File for mapping:
Using the Transponder Field
-
Before the Race:
Manually update the transponder fields in the participants tab, to reflect the correct assignment. -
During the Race:
-
Pause timing to avoid further incorrect reads.
-
Use the "Swap Raw Data" function to correct timing data between participants.
-
Update the transponder fields in the participant records to reflect the correct assignment.
-
Resume timing.
-
-
After the Race:
Use the "Swap Raw Data" function to adjust results. Additionally, update the transponder fields if you need to replay timing reads later for verification.
Using the Chip File
-
Before the Race:
-
Edit the chip file, ensuring proper transponder-to-participant mapping.
-
-
During the Race:
-
Pause timing to prevent further incorrect reads.
-
Use the "Swap Raw Data" function to correct timing data between participants.
-
Update the chip file with the correct transponder assignments.
-
Resume timing.
-
-
After the Race:
-
Use the "Swap Raw Data" function to adjust results. Additionally, update the chip file if you plan to replay timing reads later for verification.
-