📖Spieleausleihe Doku
Linz Spielt · Spieleversum

Dokumentation: Spieleausleihe-System

Diese Seite beschreibt alle vier Bausteine des Systems: das Verwaltungstool (Datenbank, Sammlungen, Events, Statistik), den Ausleihe-Tresen (Betrieb wĂ€hrend der Veranstaltung), die öffentliche Übersicht (fĂŒr Besucher) und die dahinterliegende GTNM-Referenzdatei. Am schnellsten findest du etwas ĂŒber die Suche links oder ĂŒber die Schnellstartanleitung.

🔍

Keine Treffer fĂŒr "".

Versuch's mit einem kĂŒrzeren oder anderen Begriff.

⚡ Schnellstartanleitung

Der schnellste Weg zum ersten funktionierenden Event. FĂŒr die Details jedes Schritts einfach dem jeweiligen Link folgen.

  1. Anmelden im Verwaltungstool. Kein Konto? → Registrieren mit Zugangscode (bei der Vereinsleitung erfragen).
  2. Spiele erfassen: Im Tab ⚡ Schnellerfassung Zielsammlung(en) anhaken und einfach drauflos scannen — landet automatisch in Datenbank und Sammlung, Titel wird wo möglich automatisch erkannt. → Details
  3. Event anlegen: Tab Events → Name eingeben, Sammlung(en) anhaken, optional gleich "Alle Spiele sofort bereitstellen" ankreuzen → "Event anlegen". → Details
  4. Regal(e) anlegen im geöffneten Event-Fenster, falls nicht schon automatisch geschehen. → Details
  5. Ausleihe- & RĂŒckgabemeldung einstellen (manuell bestĂ€tigen oder Timer, je Aktion) — einmal pro Event. → Details
  6. Am Tresen: "đŸ–„ïž Zum Tresen"-Link von der Event-Karte öffnen (oder direkt an einem zweiten GerĂ€t) und dort scannen — lĂ€uft ohne RĂŒckfragen, bei Mehrdeutigkeit poppt automatisch eine kurze Auswahl auf. → Details
  7. FĂŒr Besucher: "đŸ‘ïž Ansicht fĂŒr Besucher:innen"-Link teilen oder als Einbett-Code auf der Vereins-Website einfĂŒgen. → Details
  8. Nach dem Event: Tab Statistik → Auswertung ansehen, als CSV exportieren. → Details

Persönliche Vorlieben wie Ton bei Scan oder Anzeigedauer der RĂŒckmeldung lassen sich jederzeit ĂŒber ⚙ Einstellungen im Header anpassen — siehe Einstellungen.

Systemkonzept

Das System besteht aus vier aufeinander aufbauenden Ebenen. Wer das Prinzip einmal verstanden hat, findet sich in allen Tabs zurecht:

EbeneWas ist das?Bedeutet Besitz?
SpieledatenbankReferenz aller EANs, die wir jemals gescannt haben — Titel, Bild, Beschreibung, Spieleranzahl, Alter, Dauer, Bewertung, KomplexitĂ€t.Nein — reine Nachschlage-Referenz.
SammlungEine benannte Gruppe von Spielen, die jemand tatsĂ€chlich besitzt (z.B. "Spieleversum", "Andreas privat", "Genduron"), inkl. StĂŒckzahl je Spiel.Ja — eine Sammlung sagt aus, wer wie viele Exemplare besitzt.
EventEine konkrete Veranstaltung, die aus einer oder mehreren Sammlungen Spiele auswĂ€hlt und in eigene Regale einrĂ€umt, jeweils mit eigener StĂŒckzahl vor Ort.Legt fest, was bei dieser Veranstaltung verfĂŒgbar ist.
AusleiheDer operative Betrieb: Scannen, Ausleihen, ZurĂŒckgeben — immer bezogen auf ein konkretes Event.Zeigt den Live-Status wĂ€hrend der Veranstaltung.

Merksatz: Ein Spiel muss zuerst in der Datenbank stehen, dann einer Sammlung gehören, dann einem Event zugeordnet sein, bevor es ĂŒberhaupt ausgeliehen werden kann. FĂŒr den tĂ€glichen Betrieb ĂŒbernimmt das die Schnellerfassung alle drei Schritte auf einmal.

Zugriff & Anmeldung

  • Verwaltungstool (spieleausleihe-verwaltung.html) und Ausleihe-Tresen (spieleausleihe-tresen.html) erfordern fĂŒr alle Funktionen eine Anmeldung mit E-Mail und Passwort.
  • Neue Konten können sich im Verwaltungstool ĂŒber "Noch kein Konto? Registrieren" selbst anlegen — dafĂŒr ist ein Zugangscode nötig, den die Vereinsleitung ausgibt. Ein SuperAdmin-Konto kann den Code jederzeit ĂŒber "🔑 Zugangscode" im Verwaltungstool-Header Ă€ndern (dahinter steckt die Tabelle app_config, SchlĂŒssel registration_code — bei Bedarf auch direkt per phpMyAdmin einsehbar/Ă€nderbar).
  • Das allererste Konto muss einmalig ĂŒber das eigenstĂ€ndige Werkzeug first_account.html angelegt werden (kurz nach dem Einrichten der Datenbank einmal hochladen, aufrufen, Konto anlegen, danach wieder löschen) — es braucht ja selbst schon einen gĂŒltigen Zugangscode, den man beim allerersten Mal noch nirgends eingeben könnte.
  • Die öffentliche Übersichtsseite (index.html) benötigt keine Anmeldung — sie zeigt nur, keine Bearbeitung möglich.

Typischer Ablauf vor und wÀhrend eines Events

  1. Vorbereitung zuhause: Neue Sammlung(en) anlegen, dann per Schnellerfassung durchscannen — landet automatisch in Datenbank und Sammlung, inkl. Titel-Erkennung ĂŒber die GTNM-Referenz und automatischer BGG-Anreicherung im Hintergrund.
  2. Event anlegen, Quell-Sammlungen wÀhlen.
  3. Regale fĂŒr das Event anlegen (Regal A, B, C, 
).
  4. Direkt im Event-Fenster mit dem Schnellscan die Spiele ins jeweilige Regal einrÀumen (schnellster Weg beim Aufbau vor Ort).
  5. Pro Event die RĂŒckgabemeldung einstellen (manuell bestĂ€tigen oder Timer).
  6. Event als aktiv setzen (optional, nur fĂŒr die Ausleihe-Funktion im Verwaltungstool nötig).
  7. WĂ€hrend der Veranstaltung: am Ausleihtresen die eigene Tresen-Seite fĂŒr dieses Event öffnen und darĂŒber scannen.
  8. Einbett-Code auf der Vereins-Website einfĂŒgen, damit Besucher sehen, was verfĂŒgbar ist (aktualisiert sich automatisch alle 60 Sek.).
  9. Nach dem Event: Statistik auswerten, als CSV exportieren und im Zeitverlaufs-Diagramm ansehen, fĂŒr die nĂ€chste Planung.

Einstellungen (Ton, Anzeigedauer, Scan-Fokus)

Button "⚙ Einstellungen" im Header — sowohl im Verwaltungstool als auch am Ausleihe-Tresen, fĂŒr jeden angemeldeten Nutzer verfĂŒgbar. Die Einstellungen gelten pro Browser/GerĂ€t (nicht pro Konto) — wer an einem anderen Rechner arbeitet, stellt sie dort separat ein. Sind Verwaltungstool und Tresen im selben Browser geöffnet, teilen sie sich automatisch dieselben Einstellungen.

  • Anzeigedauer der Scan-RĂŒckmeldung (Sekunden): Wie lange die große RĂŒckmeldung in der Bildschirmmitte sichtbar bleibt, bevor sie von selbst verschwindet (z.B. "Catan erfasst"). KĂŒrzer fĂŒr zĂŒgiges Scannen im Stapel, lĂ€nger falls mehr Zeit zum Lesen gewĂŒnscht ist.
  • Ton bei erfolgreichem Scan: Ein kurzer Piepton bestĂ€tigt akustisch jeden erfolgreichen Scan — praktisch, wenn man nicht stĂ€ndig auf den Bildschirm schauen kann. Ein-/ausschaltbar, standardmĂ€ĂŸig an.
  • Tonart: Drei auswĂ€hlbare Varianten — "Hell & durchdringend" (Standard, setzt sich am besten gegen Gemurmel in einem vollen Raum durch), "Klassischer Zweiklang" (sanfter) und "Kurzer Klick" (sehr knapp). Mit "🔊 Testen" vorher reinhören. Die Auswahl steht zusĂ€tzlich als kompaktes Dropdown direkt neben jedem "Ton bei erfolgreichem Scan"-HĂ€kchen (Schnellerfassung, Ausleihe-Tab, Event-Schnellscan) — alle Stellen sind synchron miteinander und mit diesem Einstellungen-Fenster.

Scan-Feld immer aktiv halten

Unter jedem Scan-Feld (Schnellerfassung, Ausleihe-Tab, Event-Schnellscan, Ausleihe-Tresen) gibt es einen eigenen Schieberegler "Scan-Feld immer aktiv halten" — standardmĂ€ĂŸig aus, pro Feld einzeln einstellbar.

  • USB-Barcodescanner tippen den Code dorthin, wo gerade der Bildschirm-Cursor steht — klickt man aus Versehen woanders hin, landet der nĂ€chste Scan im Leeren.
  • Ist der Regler aktiviert, holt sich das Scan-Feld den Fokus automatisch zurĂŒck, sobald er verloren geht (z.B. nach einem Klick auf einen Button) — der nĂ€chste Scan trifft wieder zuverlĂ€ssig ins richtige Feld.
  • Ausnahme: Tippt man bewusst in ein anderes Textfeld (z.B. die Suche), wird der Fokus dort belassen — es wird also nicht mitten im Tippen weggeschnappt.

Browser können Tastatur-Eingaben aus SicherheitsgrĂŒnden nicht komplett unabhĂ€ngig vom Bildschirm-Cursor abfangen — die Funktion deckt den Alltagsfall gut ab, garantiert aber keine 100%ige Erfassung in jeder denkbaren Situation.

Spieledatenbank — Stufe 1: EAN erfassen

Tab Spieledatenbank. Hier werden neue Barcodes roh erfasst, bevor sie einen Titel haben.

  • EANs nacheinander scannen (Scanner tippt automatisch in das Textfeld, eine Zeile pro Code) oder als Liste einfĂŒgen.
  • Auf "Erfassen" klicken — die EANs werden sofort angelegt (zunĂ€chst ohne Titel).
  • Das Tool gleicht jede neue EAN automatisch gegen die hinterlegte GTNM-Referenzliste ab (eine statische Titel-Datenbank mit ca. 18.500 EintrĂ€gen, Datei ean-referenz.json neben den Hauptseiten).
  • Bei Treffern erscheint darunter ein Review-Panel: eine Zeile pro gefundenem Titel, jeweils in einem editierbaren Textfeld. Titel bei Bedarf korrigieren.
  • Erst mit Klick auf "Übernehmen & bei BGG anreichern" werden die (ggf. korrigierten) Titel tatsĂ€chlich gespeichert (mit Quelle: GTNM-Referenz markiert) und automatisch bei BoardGameGeek (BGG) angereichert (Bild, Beschreibung, Spieleranzahl, Alter, Dauer, Bewertung, KomplexitĂ€t). Das lĂ€uft mit Fortschrittsbalken, ca. 5 Sekunden pro Spiel (BGG-Rate-Limit).
  • Alternativ "Schließen ohne Übernahme" — dann bleiben die betroffenen EANs einfach ohne Titel als "Offen" stehen, zur spĂ€teren Bearbeitung.

Ein Treffer in der GTNM-Referenz ist kein Besitznachweis — er liefert nur einen wahrscheinlichen Titel-Vorschlag. Genau deshalb lĂ€sst er sich im Review-Panel vor dem Speichern noch korrigieren.

Spieledatenbank — Stufe 2: Titel-Liste importieren

FĂŒr EANs, die weder Scanner-Team noch GTNM-Referenz kennen (z.B. seltene/regionale Ausgaben), kann eine per Websuche recherchierte Titel-Liste importiert werden — egal ob die Recherche von Claude im Chat oder einer anderen KI stammt.

Erwartetes JSON-Format

Eine JSON-Liste (Array) mit einem Objekt pro Spiel, jedes Objekt mit genau den Feldern ean und title, beide als Text in doppelten AnfĂŒhrungszeichen:

[
  {"ean":"4001504494445","title":"e-Mission"},
  {"ean":"4002051684358","title":"Die Legenden von Andor - Die Bonus-Box"}
]
  • Die EAN muss als Text in AnfĂŒhrungszeichen stehen (nicht als Zahl) — sonst gehen fĂŒhrende Nullen verloren.
  • Nur die zwei Felder ean und title werden ausgewertet, weitere Felder stören nicht, sind aber unnötig.
  • Liste einfĂŒgen, auf "Import starten" klicken. FĂŒr jeden Eintrag wird automatisch bei BGG gesucht (5 Sek. Abstand), das Ergebnis wird ĂŒbernommen und mit Quelle: Recherche-Import markiert.
  • Der Fortschrittsbalken und das Protokoll darunter zeigen, welche EintrĂ€ge erfolgreich waren (✅) und welche nicht (⚠).
  • Button "Liste löschen" leert das Textfeld wieder, z.B. um eine neue Liste einzufĂŒgen.

Ergebnisse aus Stufe 2 danach immer in der Tabelle stichprobenartig kontrollieren — automatischer BGG-Abgleich wĂ€hlt bei Mehrdeutigkeit den ersten Suchtreffer, das kann gelegentlich die falsche Edition sein.

Titel per KI recherchieren lassen

FĂŒr die Recherche selbst reicht jede KI mit Websuche-FĂ€higkeit (Claude, ChatGPT, Gemini, 
). Einfach folgenden Text kopieren, die eigenen EAN-Codes darunter einfĂŒgen, und das gesamte Ergebnis danach eins zu eins in das Textfeld oben einfĂŒgen:

Ich brauche zu folgenden EAN-Codes von Gesellschaftsspielen die jeweiligen Spieltitel
(möglichst die deutsche Ausgabe, falls vorhanden). Bitte recherchiere jede EAN einzeln
per Websuche und gib mir ausschließlich ein valides JSON-Array in genau diesem Format
zurĂŒck, ohne jeglichen zusĂ€tzlichen Text davor oder danach:

[{"ean":"EAN1","title":"Titel1"},{"ean":"EAN2","title":"Titel2"}]

Wichtig:
- Die EAN immer als Text in AnfĂŒhrungszeichen, fĂŒhrende Nullen nicht weglassen.
- Findest du zu einer EAN keinen Titel, lass den Eintrag einfach weg, statt zu raten.
- Keine ErklÀrungen, keine Markdown-Codeblöcke, nur das reine JSON-Array.

Hier sind meine EAN-Codes:
[eigene EAN-Codes hier einfĂŒgen, eine pro Zeile]

Egal welche KI verwendet wird: Ergebnisse danach genauso stichprobenartig prĂŒfen wie bei Claude — Verwechslungen mit Erweiterungen, anderssprachigen Ausgaben oder Ă€hnlich benannten Spielen kommen gelegentlich vor.

Titel korrigieren & erneut bei BGG suchen

Manchmal findet BGG zu einem Titel keinen Treffer, obwohl das Spiel dort eigentlich gelistet ist — z.B. weil der erfasste Titel ZusĂ€tze, Sonderzeichen oder Schreibweisen enthĂ€lt, die BGGs Suche nicht erkennt. Statt jedes betroffene Spiel einzeln von Hand zu öffnen und neu zu suchen, gibt es dafĂŒr den Button "✏ Titel korrigieren & erneut bei BGG suchen" (oberhalb der Datenbank-Tabelle):

  • Öffnet ein Fenster mit allen Spielen, die aktuell den Status Kein BGG-Treffer oder Fehler haben — EAN, bisheriger Titel, und ein Eingabefeld daneben zum Korrigieren.
  • Titel wie gewĂŒnscht anpassen (z.B. KlammerzusĂ€tze entfernen, Tippfehler korrigieren), Spiele ohne sinnvollen Titel können auch unverĂ€ndert bleiben.
  • Button "Speichern & erneut suchen": schreibt die korrigierten Titel und lĂ€uft danach automatisch durch — mit derselben 5-Sek.-Pause je Spiel, Fortschrittsbalken und Protokoll wie bei Stufe 2, direkt im selben Fenster.
  • Spiele ohne eingetragenen Titel werden beim Speichern ĂŒbersprungen (BGG könnte ohnehin nichts finden).

Deutsche Titel

BGG selbst markiert seine NamenseintrĂ€ge nicht zuverlĂ€ssig nach Sprache — es gibt keinen sauberen "gib mir den deutschen Titel"-Aufruf, und teils liegt bei BGG ohnehin nur eine Sprachversion der Beschreibung vor (z.B. rein zufĂ€llig auf Deutsch, wenn ein Spiel ursprĂŒnglich in Deutschland populĂ€r wurde). Das System löst das fĂŒr den Titel so: Der Titel, mit dem gesucht wird (aus GTNM-Referenz, Recherche-Liste oder eurer eigenen Eingabe — also praktisch immer schon Deutsch), bleibt immer als gespeicherter Titel bestehen. BGG liefert ausschließlich die Zusatzdaten (Bild, Beschreibung, Spieleranzahl, Alter, Dauer, Bewertung, KomplexitĂ€t), nie den Titel selbst. Bei welcher Sprache die Beschreibung landet, entscheidet allein BGG — nicht steuerbar, aber im Formular jederzeit von Hand nachbearbeitbar (siehe unten).

Datenbank durchsuchen & bearbeiten

  • Suchfeld filtert nach Name oder EAN, Status-Filter zeigt nur Offene / Fertige / Fehlerhafte EintrĂ€ge.
  • Die ganze Tabellenzeile ist anklickbar und öffnet die Spiel-Infos — nicht nur der "Bearbeiten"-Button.
  • "(+) Spiel manuell anlegen" öffnet die Eingabemaske fĂŒr EinzelfĂ€lle, inkl. eigener BGG-Suche mit Trefferauswahl.
  • Im Formular gibt es ein eigenes, editierbares Feld "Beschreibung" — zeigt den von BGG ĂŒbernommenen Text und lĂ€sst sich jederzeit von Hand anpassen oder ergĂ€nzen.
  • Status-Badges: Offen (Stufe 1, noch kein Titel/BGG-Daten), Fertig (BGG-Daten vorhanden), Kein Treffer (Titel bekannt, aber BGG fand nichts), Fehler (technisches Problem beim Abgleich).
  • Unter dem Namen steht klein die Titelquelle (GTNM-Referenz / manuell / Recherche-Import), damit immer nachvollziehbar bleibt, woher ein Titel kam.
  • Button "🔄 Fehlende Beschreibungen nachholen": findet alle bereits "Fertig" angereicherten Spiele ohne Beschreibung (weil sie vor EinfĂŒhrung dieses Felds enzeichert wurden) und holt sie in einem Rutsch nach — gleicher 5-Sek.-Takt, Fortschrittsbalken.

EAN nachtrÀglich korrigieren

Neuauflagen, ĂŒberarbeitete Editionen oder ein anderer Vertrieb desselben Spiels bekommen hĂ€ufig eine neue EAN, obwohl es inhaltlich dasselbe Spiel ist. Statt solche FĂ€lle dauerhaft als MehrfacheintrĂ€ge stehen zu lassen, lĂ€sst sich die EAN eines bestehenden Spiels korrigieren.

  • Im Bearbeiten-Formular eines Spiels ist die EAN standardmĂ€ĂŸig gesperrt (Schreibschutz, da die EAN gleichzeitig die interne Datenbank-ID ist) — darunter die Checkbox "EAN korrigieren" aktivieren, um sie freizugeben.
  • Neue EAN eintragen und speichern. Was dann passiert, hĂ€ngt davon ab, ob diese EAN schon existiert:
FallVerhalten
Neue EAN ist noch nicht in der DatenbankReine Umbenennung — alle Sammlungs-StĂŒckzahlen, Event-Zuordnungen und das gesamte Ausleihe-Log wandern automatisch mit auf die neue EAN, der alte Eintrag verschwindet. Sonstige im Formular geĂ€nderte Felder (Name, Bild, Beschreibung, 
) werden dabei mit gespeichert.
Neue EAN gehört bereits zu einem anderen EintragRĂŒckfrage, ob beide EintrĂ€ge zusammengefĂŒhrt werden sollen. Nach BestĂ€tigung: Sammlungs-StĂŒckzahlen werden addiert, Event-Zuordnungen und das Ausleihe-Log werden ĂŒbernommen, der alte Eintrag wird gelöscht. Name, Bild und Beschreibung des bestehenden Eintrags bleiben dabei erhalten — andere Änderungen, die gerade im Formular standen, werden verworfen.

Vor dem ZusammenfĂŒhren kurz prĂŒfen, ob es wirklich dieselbe Edition ist: Manchmal steckt hinter einer neuen EAN tatsĂ€chlich eine andere Auflage mit eigenem BGG-Eintrag (anderes Cover, teils andere Komponenten) — beim ZusammenfĂŒhren geht dieser Unterschied verloren. Deshalb lĂ€uft das nie automatisch, sondern immer nur bewusst ausgelöst ĂŒber die Checkbox.

Globale Schnellerfassung

Tab ⚡ Schnellerfassung — der schnellste Weg, viele Spiele auf einmal ins System zu bringen, ganz ohne RĂŒckfragen pro Spiel.

  • Einmal einstellen: HĂ€kchen bei den Ziel-Sammlungen setzen, optional ein Regal des aktiven Events wĂ€hlen.
  • Danach nur noch scannen — jeder Scan trĂ€gt sofort ohne RĂŒckfrage ein: neu in die Datenbank (mit automatischem GTNM-Titel-Vorschlag), in die angehakten Sammlungen, und falls ein Regal gewĂ€hlt ist, direkt ins aktive Event.
  • Nach jedem Scan erscheint kurz eine BestĂ€tigung in der Bildschirmmitte ("✅ [Spielname] erfasst", optional mit Ton) und verschwindet von selbst wieder — Dauer und Ton einstellbar unter Einstellungen. Ideal beim zĂŒgigen Durchscannen einer ganzen Sammlung.
  • Unter dem Scan-Feld der Schieberegler "Scan-Feld immer aktiv halten" (siehe Einstellungen) — hilfreich, falls der Fokus beim Scannen öfter mal verloren geht.
  • BGG-Anreicherung lĂ€uft dabei im Hintergrund (5-Sek.-Takt, eigene Warteschlangen-Anzeige), damit das Scan-Tempo nicht ausgebremst wird.
  • Scannst du eine EAN, die in der Sammlung/im Event schon existiert, wird der bestehende Datenbank-Eintrag nicht verĂ€ndert — es wird lediglich die StĂŒckzahl um 1 erhöht, genau der Mehrfach-Exemplare-Fall.
  • Ein Protokoll unten zeigt zusĂ€tzlich jeden Scan mit Ergebnis im Verlauf.

Diese globale Schnellerfassung bezieht sich immer auf das oben gewĂ€hlte aktive Event. Willst du gezielt fĂŒr ein bestimmtes, gerade nicht aktives Event scannen, nutze stattdessen den Schnellscan direkt im Event-Fenster (verhĂ€lt sich beim erneuten Scannen identisch, inkl. grĂŒner BestĂ€tigung).

Sammlungen verwalten

Tab Sammlungen. Eine Sammlung bĂŒndelt die Spiele, die eine bestimmte Person oder Gruppe besitzt.

  • Neue Sammlung anlegen: Name (Pflicht) und Beschreibung (optional).
  • Sammlung öffnen → Name und Beschreibung sind dort jederzeit editierbar (Felder + "Speichern").
  • Spiele aus der Datenbank per Name/EAN-Suche hinzufĂŒgen. Nur Spiele, die bereits in der Datenbank stehen, können hinzugefĂŒgt werden.
  • Dasselbe Spiel (gleiche EAN) kann in mehreren Sammlungen stehen, wenn mehrere Exemplare existieren.
  • Pro Spiel in der Sammlung gibt es +/− Buttons fĂŒr die StĂŒckzahl — wie viele Exemplare besitzt diese Sammlung.
  • Spiele lassen sich aus der Sammlung entfernen, ohne dass sie aus der Datenbank verschwinden.
  • Sammlung löschen entfernt nur die Zuordnung, nicht die Spiele selbst.

Mengen & Mehrfach-Exemplare

Statt nur "verfĂŒgbar/ausgeliehen" gibt es echte StĂŒckzahlen — sowohl in Sammlungen als auch in Events.

  • In einer Sammlung: StĂŒckzahl = wie viele Exemplare diese Sammlung besitzt.
  • In einem Event: jeder Spiel-Eintrag hat eine StĂŒckzahl (z.B. "2/3 verfĂŒgbar") statt nur Ja/Nein. +/− Buttons im Event-Fenster passen das an.
  • Ein Spiel-Eintrag trĂ€gt technisch ein Regal-Feld — im Normalfall liegen alle Exemplare eines Spiels also im selben Regal. Bewusst möglich ist trotzdem, zwei Exemplare desselben Spiels auf zwei verschiedene Regale aufzuteilen (siehe Regal-Konflikt-Hinweis) — das System merkt sich dann nur noch eines der beiden Regale, bei der RĂŒckgabe ist nicht mehr unterscheidbar, aus welchem Regal welches Exemplar kam.
  • Untergrenze ist immer 0, nie negativ (auch technisch abgesichert, nicht nur ĂŒber die deaktivierten Minus-Buttons).

Verlagstisch (permanent ausgestellte Exemplare)

FĂŒr Spiele, die wĂ€hrend eines Events dauerhaft auf einem Verlagstisch aufgebaut sind und nicht regulĂ€r ausgeliehen werden — z.B. Demo-Exemplare eines Verlags.

  • Markieren: In der Tabelle "Spiele bei diesem Event" (Event-Fenster) gibt es je Spiel-Eintrag ein Zahlenfeld "Verlagstisch": wie viele der insgesamt vorhandenen Exemplare permanent auf einem Verlagstisch stehen.
  • Das ist bewusst eine StĂŒckzahl, keine Ja/Nein-Checkbox: Hat ein Spiel z.B. 2 Exemplare und trĂ€gst du dort eine 1 ein, bleibt automatisch 1 Exemplar ganz normal ausleihbar (mit eigenem VerfĂŒgbar/Ausgeliehen-Status), wĂ€hrend das andere fest dem Verlagstisch zugeteilt ist.
  • Anzeige — zwei getrennte Zeilen: Ist ein Spiel sowohl auf dem Verlagstisch als auch normal ausleihbar, erscheint es in der Ansicht fĂŒr Besucher:innen und am Ausleihe-Tresen als zwei eigene Tabellenzeilen — eine fĂŒr die ausleihbaren Exemplare (mit normalem VerfĂŒgbar/Ausgeliehen-Status, ggf. Ausleihen/RĂŒckgabe-Button) und eine fĂŒr die Verlagstisch-Exemplare (Regal-Spalte zeigt "Verlagstisch", Status "🏱 X auf Verlagstisch", kein Button). Ist ein Spiel ausschließlich auf dem Verlagstisch, gibt es entsprechend nur die eine Zeile.
  • Kann nicht regulĂ€r zurĂŒckgenommen werden: Ein Scan dieses Spiels am Ausleihe-Tresen betrifft ausschließlich die normal ausleihbaren Exemplare (falls vorhanden) — die Verlagstisch-Zeile hat gar keinen Ausleihen/RĂŒckgabe-Button und reagiert nicht auf Scans. Sind alle Exemplare eines Spiels dem Verlagstisch zugeteilt, zeigt ein Scan stattdessen nur einen Hinweis.
  • Entfernen: Nur im Verwaltungstool möglich — Zahlenfeld "Verlagstisch" bei diesem Spiel-Eintrag wieder auf 0 setzen (die StĂŒckzahl reduziert sich nicht von selbst, auch nicht am Ende des Events).

BGStats-Import

FĂŒr Spieler:innen, die ihre eigene Sammlung bereits in der App BGStats pflegen. Im Sammlungen-Tab ĂŒber "BGStats-JSON importieren".

  • Export in BGStats: Einstellungen → Backup & Export → Export als JSON.
  • Name fĂŒr die neue Sammlung eingeben, JSON-Datei auswĂ€hlen, "Datei analysieren" klicken. Die Datei wird ausschließlich lokal im Browser gelesen, nie irgendwohin hochgeladen — und Spielpartien (Plays) werden komplett ignoriert, es zĂ€hlt nur, welche Spiele als "besessen" markiert sind.
  • Wichtige EinschrĂ€nkung: BGStats speichert grundsĂ€tzlich keine EAN-Codes. Der Abgleich lĂ€uft daher ĂŒber die BoardGameGeek-ID (BGG-ID): Spiele, die in eurer Datenbank bereits mit derselben BGG-ID bekannt sind, werden automatisch der neuen Sammlung zugeordnet (mit BGStats-StĂŒckzahl).
  • Alle ĂŒbrigen Spiele (in eurer Datenbank bisher unbekannt) erscheinen in einer Review-Tabelle mit einem leeren EAN-Feld pro Zeile — hier muss einmal das physische Exemplar gescannt werden. Enter im Feld ĂŒbernimmt den Wert und springt automatisch zum nĂ€chsten noch leeren Feld, sodass sich der ganze Stapel am StĂŒck durchscannen lĂ€sst.
  • Zeilen ohne eingetragene EAN werden beim Import einfach ĂŒbersprungen (kein Abbruch der ĂŒbrigen Zeilen).
  • Neu angelegte Spiele bekommen dabei bereits Titel, Bild und Spieleranzahl aus BGStats mit, sind aber als Offen markiert (kein vollstĂ€ndiger BGG-Abgleich mit Beschreibung/Bewertung/KomplexitĂ€t) — anschließend ganz normal ĂŒber die Spieledatenbank nachbearbeiten oder per BGG-Suche anreichern.

Event anlegen

Tab Events. Name, Datum, und HĂ€kchen bei den Sammlungen setzen, aus denen bei diesem Event Spiele ausgewĂ€hlt werden dĂŒrfen. Ein Event ganz ohne Sammlung ist ebenfalls möglich — dann werden Spiele stattdessen direkt aus der gesamten Spieledatenbank hinzugefĂŒgt (siehe Spiele zum Event hinzufĂŒgen).

ZusĂ€tzliche Checkbox "Alle Spiele der ausgewĂ€hlten Sammlung(en) sofort bereitstellen": direkt beim Anlegen wird automatisch ein Regal namens "Hauptregal" erstellt und mit sĂ€mtlichen Spielen der angehakten Sammlung(en) inkl. korrekter StĂŒckzahl befĂŒllt — praktisch, wenn beim Event ohnehin die komplette Sammlung zur VerfĂŒgung steht und keine feinere Regal-Aufteilung nötig ist.

Ohne mindestens eine ausgewĂ€hlte Sammlung lassen sich spĂ€ter keine Spiele zum Event hinzufĂŒgen — die Auswahl-Liste bliebe leer.

Regale je Event

Jedes Event hat seine eigenen Regale (Regal A, B, C, 
) — Regale werden nicht zwischen Events geteilt, da sich der Aufbau von Veranstaltung zu Veranstaltung unterscheiden kann. Ein "Regal" ist dabei ganz bewusst allgemein gemeint — genauso gut ein Karton, wenn ein Teil der Sammlung in Kartons statt in Regalen gelagert wird. Einfach entsprechend benennen (z.B. "Karton 3").

  • Event öffnen → Regal-Name eingeben → "Regal anlegen".
  • Ein Regal mit zugeordneten Spielen kann nicht gelöscht werden — zuerst die Spiele umlagern oder entfernen.
  • Button "Umbenennen" auf jeder Regal-Karte: Spiele im Event verweisen nur auf die Regal-ID, nie auf den Namen selbst — eine Umbenennung wirkt daher sofort ĂŒberall (Dropdowns, Ausleihe-Tresen, RĂŒckgabe-Hinweise, PreistrĂ€ger-Abgleich), ohne dass einzelne Spiel-EintrĂ€ge angefasst werden mĂŒssen.
  • Wird beim Umbenennen ein Name gewĂ€hlt, den in diesem Event bereits ein anderes Regal trĂ€gt, erscheint statt einer stillen Umbenennung eine RĂŒckfrage: Sollen wirklich alle Spiele aus dem umbenannten Regal dem bestehenden gleichnamigen Regal zugeordnet werden (= zusammenfĂŒhren)? Erst nach BestĂ€tigung werden die betroffenen Spiele umgehĂ€ngt und das jetzt leere Regal automatisch gelöscht.
  • Button "đŸ·ïž Etikett": erzeugt ein druckfertiges A4-PDF fĂŒr dieses Regal/diesen Karton — großer Name oben, Gesamtzahl der Spiele, darunter die vollstĂ€ndige, alphabetisch sortierte Liste (bei mehreren Exemplaren eines Spiels mit "(Nx)"-Vermerk). SchriftgrĂ¶ĂŸe und ggf. zwei Spalten passen sich automatisch an, damit die Liste die Seite wirklich ausfĂŒllt, egal ob 5 oder 50 Spiele drin stehen. Zum Aufkleben auf den Karton ausdrucken.
  • Button "📩 Als Sammlung": legt aus dem aktuellen Inhalt dieses Regals eine neue Sammlung an (Name frei wĂ€hlbar, Vorschlag aus Regal- und Eventname) — mit exakt denselben Spielen und StĂŒckzahlen. Praktisch, um einen fertig gepackten Karton fĂŒr ein spĂ€teres Event komplett wiederzuverwenden: die neue Sammlung taucht danach ganz normal bei "Ganze Sammlung ins Event laden" auf.

Regal-Konflikt-Hinweis

Relevant vor allem im MehrgerĂ€te-Betrieb (mehrere EAN-Scanner gleichzeitig im Einsatz beim Aufbau eines Events): Ohne Absprache kann es passieren, dass ein Spiel in Regal A schon eingerĂ€umt ist, wĂ€hrend an einem anderen GerĂ€t dasselbe Spiel gerade fĂŒr Regal C gescannt wird. Ziel ist dabei immer, Spiele möglichst an einem einzigen Ort zu sammeln.

Ein Regal pro Spiel erzwingen (Standard bei neuen Events)

  • Im Event-Fenster unter den Event-Einstellungen: Checkbox "Ein Regal pro Spiel erzwingen" — bei neu angelegten Events standardmĂ€ĂŸig aktiv. Bereits bestehende, Ă€ltere Events haben sie nicht automatisch aktiv (RĂŒckwĂ€rtskompatibilitĂ€t) und mĂŒssten sie bei Bedarf manuell einschalten.
  • Jedes Spiel bleibt dabei fix in dem Regal, in dem es zuerst eingerĂ€umt wurde — dem Basisregal. Wird es fĂŒr ein anderes Regal gescannt (egal ob ĂŒber manuelle Suche, Schnellerfassung oder Schnellscan), erscheint eine RĂŒckfrage mit einem einzigen Button "BestĂ€tigen": "[Spiel] ist bereits in Regal [Basisregal] — bitte dort einrĂ€umen." — inklusive Warnton. Es gibt bewusst keine Zeitautomatik und keine Alternative dazu: Ein Aufteilen auf mehrere Regale ist in diesem Modus schlicht nicht möglich, die StĂŒckzahl wird trotzdem erhöht.
  • Vorteil: Am Ausleihe-Tresen ist danach immer eindeutig, aus welchem Regal ein Exemplar stammt — die zusĂ€tzliche RĂŒckfrage beim Ausleihen (siehe unten) entfĂ€llt komplett, weil es gar nicht erst zu einem Spiel in zwei Regalen kommen kann.

Alternative: nur warnen, Aufteilen auf mehrere Regale bleibt möglich

Wird "Ein Regal pro Spiel erzwingen" fĂŒr ein Event deaktiviert, erscheinen darunter die bisherigen, flexibleren Einstellungen:

  • Checkbox "Stattdessen nur warnen, wenn ein Spiel in diesem Event schon einem anderen Regal zugeordnet ist" — standardmĂ€ĂŸig aus.
  • Bei aktivierter Checkbox erscheint bei Konflikt dieselbe RĂŒckfrage wie oben, aber jetzt mit einem zweiten Button: "Trotzdem in [C] umrĂ€umen" — das Spiel wird dann bewusst in zwei Regalen gefĂŒhrt.
  • Wie lange auf eine Reaktion gewartet wird, legt eine zweite Einstellung fest — dasselbe Muster wie bei der Ausleihe-/RĂŒckgabemeldung:
ModusVerhalten
Manuell bestĂ€tigenWartet auf eine aktive Entscheidung, unterbricht dafĂŒr auch den Scan-Vorgang.
Automatisch weiter nach X SekundenDieselbe RĂŒckfrage erscheint, schließt sich aber nach Ablauf der Zeit von selbst wie "Trotzdem umrĂ€umen" (Sekundenzahl frei einstellbar) — der Scan-Vorgang muss dann nicht warten. Wer schnell genug hinschaut, kann trotzdem noch manuell "BestĂ€tigen" wĂ€hlen, bevor die Zeit ablĂ€uft.
  • "BestĂ€tigen": keine Änderung am Eintrag, die StĂŒckzahl wird trotzdem um 1 erhöht — die Erwartung ist, dass das physische Exemplar ins bestehende Regal A wandert.
  • "Trotzdem umrĂ€umen" (oder Zeit abgelaufen): der bestehende Eintrag bleibt im alten Regal, die StĂŒckzahl wird ebenfalls erhöht — zusĂ€tzlich merkt sich das System "steht auch in Regal C" und zeigt das als kleinen Zusatz ĂŒberall an, wo das Regal angezeigt wird (Verwaltungstool, Ausleihe-Tresen, Ansicht fĂŒr Besucher:innen) — ohne StĂŒckzahl-Aufteilung, nur als Hinweis. Wird das Regal spĂ€ter manuell ĂŒber das Dropdown geĂ€ndert, gilt das als bewusste Konsolidierung — der Zusatz-Hinweis wird dabei gelöscht.
  • Bei einem so aufgeteilten Spiel fragt der Ausleihe-Tresen beim Ausleihen jetzt aktiv nach, aus welchem der beiden Regale das Exemplar entnommen wird (siehe Ausleihe/RĂŒckgabe-Logik) — die RĂŒckgabe-Meldung nennt danach exakt das richtige Regal statt nur "oder".
  • Bei Bulk-Importwegen (BGStats-Import, ganze Sammlung ins Event laden) erscheint diese RĂŒckfrage bewusst nie, unabhĂ€ngig vom gewĂ€hlten Modus — dort lĂ€uft niemand interaktiv mit, der sie beantworten könnte.

BGG-Suche: Treffer nach Relevanz sortiert

Die BGG-Such-API liefert Treffer nicht nach Relevanz, sondern in einer internen, nicht dokumentierten Reihenfolge zurĂŒck. Bei kurzen, hĂ€ufigen Titeln (z.B. "Odin") kann der eigentlich gesuchte Treffer dadurch unter vielen Titeln verschwinden, die den Suchbegriff nur enthalten, und sogar aus den ersten angezeigten Ergebnissen herausfallen.

  • Sowohl die manuelle "đŸŽČ BGG suchen"-Trefferliste im Spiel-Formular als auch der automatische Hintergrund-Abgleich (Scan-Warteschlange, Stufe-2-Übernahme, BGStats-Import) sortieren Treffer jetzt nach Relevanz: 1) exakte NamensĂŒbereinstimmung, 2) Titel beginnt mit dem Suchbegriff als eigenes Wort, 3) Suchbegriff kommt als eigenes Wort im Titel vor, 4)/5) sonstige TeilĂŒbereinstimmungen.
  • Betrifft insbesondere den automatischen Hintergrund-Abgleich: dort wurde vorher unsortiert einfach der erste BGG-Treffer ĂŒbernommen, jetzt der relevanteste.

Spiele zum Event hinzufĂŒgen (manuelle Suche)

  • Im Event-Fenster unter "Spiele manuell suchen" zuerst das gewĂŒnschte Regal auswĂ€hlen (steht oben, direkt ĂŒber dem Suchfeld) — bleibt eingestellt, solange das Event-Fenster offen ist, auch ĂŒber mehrere Suchen hinweg. So lĂ€sst sich zĂŒgig hintereinander weg mehrfach suchen und hinzufĂŒgen, ohne das Regal jedes Mal neu wĂ€hlen zu mĂŒssen.
  • Danach nach Name oder EAN suchen.
  • Die Suche prĂŒft zuerst die fĂŒr dieses Event verknĂŒpften Sammlungen (Treffer zeigen den Sammlungsnamen dazu), und zusĂ€tzlich immer auch die gesamte Spieledatenbank (Treffer sind mit "aus Gesamtdatenbank, keine Sammlung" gekennzeichnet) — praktisch fĂŒr Events ganz ohne verknĂŒpfte Sammlung, oder um gezielt ein einzelnes Spiel zu ergĂ€nzen, das in keiner verknĂŒpften Sammlung steckt.
  • Klick auf einen Treffer fĂŒgt das Spiel dem gewĂ€hlten Regal hinzu. Ist das Spiel schon in einem anderen Regal dieses Events, greift derselbe Regal-Konflikt-Hinweis wie beim Scannen (falls fĂŒr dieses Event aktiviert). Ist es schon im selben Regal, zeigt der Button "+1 Exemplar" und erhöht nur die StĂŒckzahl.
  • Alternativ mehrere Treffer per KontrollkĂ€stchen markieren und ĂŒber "X ausgewĂ€hlte Spiele hinzufĂŒgen" auf einmal ĂŒbernehmen — landen alle im oben gewĂ€hlten Regal.
  • Das Regal eines bereits hinzugefĂŒgten Spiels lĂ€sst sich jederzeit ĂŒber die Dropdown-Auswahl in der Tabelle "Spiele bei diesem Event" Ă€ndern.
  • Ein Spiel entfernen ist nur möglich, solange kein Exemplar davon gerade ausgeliehen ist.

Filtern, sortieren & Tabelle mit begrenzter Höhe

Über der Tabelle "Spiele bei diesem Event" lĂ€sst sich nach Name suchen sowie nach Regal und Status (Alle / VerfĂŒgbar / Ausgeliehen / Verlagstisch) filtern, dazu eine Sortierung wĂ€hlen (Name, Regal, Status). Die Tabelle selbst scrollt bei vielen EintrĂ€gen innerhalb eines begrenzten Bereichs (Kopfzeile bleibt dabei sichtbar), statt das ganze Event-Fenster beliebig in die LĂ€nge zu ziehen.

VerknĂŒpfte Sammlungen nachtrĂ€glich Ă€ndern

Die Sammlungen eines Events mĂŒssen nicht mehr bei der Erstellung endgĂŒltig feststehen. Im Event-Fenster ganz oben unter "VerknĂŒpfte Sammlungen" lassen sich die HĂ€kchen jederzeit anpassen — Button "Sammlungen speichern" ĂŒbernimmt die Änderung sofort, ohne das Fenster neu öffnen zu mĂŒssen. Praktisch, wenn beim Anlegen versehentlich keine oder die falsche Sammlung gewĂ€hlt wurde.

Ganze Sammlung / Datenbank ins Event laden

Im Event-Fenster unter "📩 Ganze Sammlung ins Event laden" — ĂŒbertrĂ€gt auf einen Schlag viele Spiele in ein Regal, statt sie einzeln zu suchen.

  • Dropdown zeigt alle mit dem Event verknĂŒpften Sammlungen, plus immer zusĂ€tzlich die Option "đŸ—„ïž Gesamte Spieledatenbank (alle Spiele)" — unabhĂ€ngig davon, ob ĂŒberhaupt eine Sammlung verknĂŒpft ist.
  • Regal wĂ€hlen, "Sammlung laden" klicken.
  • Bei einer echten Sammlung wird die jeweilige StĂŒckzahl aus der Sammlung ĂŒbernommen; bei der gesamten Datenbank bekommt jedes Spiel 1 Exemplar.
  • Bereits im Event vorhandene Spiele werden nicht doppelt angelegt, sondern in der StĂŒckzahl passend erhöht.
  • Bei der "Gesamte Spieledatenbank"-Option erscheint ab 30 Spielen eine Sicherheitsabfrage, damit das nicht versehentlich ausgelöst wird.

Schnellscan im Event-Fenster

Der schnellste Weg, ein Event physisch aufzubauen: direkt im geöffneten Event-Fenster unter "⚡ Schnellscan direkt ins Regal".

  • Regal auswĂ€hlen (Dropdown mit den Regalen dieses Events).
  • Danach einfach scannen — jedes Spiel landet sofort ohne RĂŒckfrage in der Datenbank, in den fĂŒr dieses Event gewĂ€hlten Sammlungen und im gewĂ€hlten Regal.
  • Scannst du eine schon vorhandene EAN nochmal, erhöht sich einfach die StĂŒckzahl.
  • LĂ€uft komplett unabhĂ€ngig vom oben im Tool gewĂ€hlten "aktiven Event" — bezieht sich immer genau auf das gerade geöffnete Event.

Einbett-Code & Tresen-Link

Jedes Event hat im geöffneten Event-Fenster zwei fertige Links:

  • Einbettungs-Code fĂŒr die Website: ein <iframe>-Schnipsel, "Code kopieren" und in die Vereins-Website einfĂŒgen — zeigt Besuchern den Ausleihstatus dieses Events (alle 60 Sek. automatisch aktualisiert, plus manueller "Jetzt aktualisieren"-Button), ganz ohne Login.
  • Ausleihe-Tresen fĂŒr dieses Event: direkter Link zur eigenen Tresen-Seite (siehe unten), zum Kopieren oder direkt "Öffnen".

Ausleihe- & RĂŒckgabemeldung einstellen

Im Event-Fenster legst du getrennt fĂŒr Ausleihe und RĂŒckgabe fest, wie sich die große BestĂ€tigungskarte am Ausleihe-Tresen verhĂ€lt:

  • "RĂŒckgabe-Meldung am Tresen": gilt fĂŒr die Karte bei RĂŒckgaben (zeigt zusĂ€tzlich, in welches Regal einzurĂ€umen ist).
  • "Ausleihe-Meldung am Tresen": gilt fĂŒr die Karte bei Ausleihen (zeigt, aus welchem Regal das Spiel stammt, sowie "Viel Spaß!").
  • FĂŒr beide jeweils: Manuell bestĂ€tigen (bleibt stehen, bis jemand auf "OK" klickt) oder Automatisch ausblenden nach X Sekunden (verschwindet von selbst, Sekundenzahl frei einstellbar) — unabhĂ€ngig voneinander wĂ€hlbar.

Das kleine, immer sichtbare Ergebnis-Feld unter dem Scan-Feld (siehe Ausleihe-Tresen) bleibt von beiden Einstellungen unberĂŒhrt und zeigt weiterhin dauerhaft die letzte Aktion.

Ausleihdauer anzeigen

Zeigt an, wie lange ein Spiel-Exemplar schon draußen ist (h:mm), am Ausleihe-Tresen und in der Ansicht fĂŒr Besucher:innen.

  • Im Event-Fenster unter den Event-Einstellungen die Checkbox "Ausleihdauer (h:mm) am Tresen und in der Ansicht fĂŒr Besucher:innen anzeigen" aktivieren — standardmĂ€ĂŸig aus.
  • Nutzt die ohnehin schon vorhandene loans-Sammlung (ein Dokument pro Ausleihvorgang mit Zeitstempel) — kein zusĂ€tzliches Datenmodell nötig, kein eigenes Feld wird dafĂŒr gespeichert. Die Anzeige wird bei jedem Laden aus dem gespeicherten Zeitpunkt neu berechnet ("jetzt − Ausleihzeitpunkt"), nicht als fixer Wert abgelegt.
  • Sind von einem Spiel gerade mehrere Exemplare gleichzeitig draußen, wird die am lĂ€ngsten laufende Ausleihe angezeigt.
  • Die Spalte zeigt in der Ansicht fĂŒr Besucher:innen Werte, sobald der active_loans-Endpunkt Daten liefert — ist bei dieser Version bereits öffentlich zugĂ€nglich (siehe Zugriffsrechte der API).

Aktives Event setzen/deaktivieren

Oben im Verwaltungstool wĂ€hlt eine Dropdown-Liste das aktive Event. Alle Aktionen im Tab "Ausleihe/RĂŒckgabe" und in der globalen Schnellerfassung beziehen sich ausschließlich auf dieses Event. Die Auswahl wird lokal im Browser gespeichert — jeder Rechner/jedes GerĂ€t muss sein eigenes aktives Event setzen.

  • Setzen: ĂŒber das Dropdown, oder im geöffneten Event-Fenster ĂŒber den Button (zeigt "Als aktiv setzen").
  • Deaktivieren: eigener "Deaktivieren"-Button direkt neben dem Dropdown, oder im Event-Fenster wechselt derselbe Button automatisch zu "Deaktivieren (aktuell aktiv)", solange dieses Event aktiv ist.

Ohne gewĂ€hltes aktives Event ist im Verwaltungstool keine Ausleihe möglich. Der eigenstĂ€ndige Ausleihe-Tresen braucht das nicht — der bezieht sich immer direkt auf das Event, fĂŒr das sein Link erstellt wurde.

Ausleihe-Tresen

Datei spieleausleihe-tresen.html — eine schlanke, eigenstĂ€ndige Seite speziell fĂŒr den Betrieb am Ausleihtisch wĂ€hrend der Veranstaltung, ohne den restlichen Verwaltungstrubel.

  • Aufruf ĂŒber den Link aus dem Event-Fenster bzw. der Event-Karte ("đŸ–„ïž Zum Tresen", ?event=EVENT_ID in der URL) oder ohne Parameter mit Event-Auswahl beim Start.
  • Login erforderlich (dieselben Konten wie im Verwaltungstool). Im Header außerdem das BGG-Logo (verlinkt zu boardgamegeek.com) sowie "⚙ Einstellungen" (siehe Einstellungen) und "📖 Dokumentation".
  • Immer sichtbar: eine Zeile mit der Anzahl gerade ausgeliehener Spiel-Exemplare.
  • Darunter eingeklappt der Button "📊 Statistik anzeigen" — öffnet bei Bedarf die volle Kennzahlen-Übersicht. Bewusst nicht permanent sichtbar, um am Tresen nicht abzulenken.
  • Großes Scan-Feld, darunter der Schieberegler "Scan-Feld immer aktiv halten" (siehe Einstellungen). Scannen lĂ€uft ohne RĂŒckfrage in den allermeisten FĂ€llen (siehe Ausleihe/RĂŒckgabe-Logik) — bei Erfolg piepst es kurz (falls aktiviert) und in der Bildschirmmitte erscheint eine RĂŒckmeldung.
  • Bei RĂŒckgabe erscheint zusĂ€tzlich die große Regal-Hinweis-Karte, Verhalten je nach Einstellung dieses Events. Die BestĂ€tigen-Buttons (Regal-Hinweis-Karte, Ausleihen/RĂŒckgabe-Auswahl bei mehrdeutigen Scans) sind deutlich grĂ¶ĂŸer dargestellt, um sie in hektischen Momenten leichter treffen zu können.
  • Spieleliste: zeigt immer alle Spiele des Events (nicht nur ausgeliehene), mit Bild-Thumbnail pro Zeile — Klick auf Bild oder Namen öffnet dieselbe Detailansicht wie in der Ansicht fĂŒr Besucher:innen (grĂ¶ĂŸeres Bild, Beschreibung, BGG-Link). Suchfeld und einklappbares "🔍 Filter & Sortierung"-Panel — Spielerzahl, KomplexitĂ€t, Bewertung, Regal, Sortierung, Status (Alle / Nur verfĂŒgbar / Nur ausgeliehen). Der Regal-Filter eignet sich z.B. fĂŒr eine schnelle Regal-Kontrolle vor Ort: nach dem gewĂŒnschten Regal filtern und abgleichen, ob wirklich alles da steht, was das System dafĂŒr fĂŒhrt. Damit lassen sich auch Besucherfragen wie "Spiel fĂŒr 2 Personen?" direkt am Tresen beantworten. Ein-Klick-RĂŒckgabe-Button erscheint dort, wo etwas ausgeliehen ist. Ist Ausleihdauer anzeigen fĂŒr dieses Event aktiviert, erscheint zusĂ€tzlich eine Spalte "Ausgeliehen seit"; ist bei einem Spiel eine Verlagstisch-StĂŒckzahl gesetzt, erscheint der Hinweis "🏱 X auf Verlagstisch" (siehe Verlagstisch).
  • Manuelle Suche als Fallback, falls der Scanner ausfĂ€llt.
  • Unbekannte Scans: Wird eine EAN gescannt, die diesem Event nicht zugeordnet ist, erscheint sie zusĂ€tzlich in einem eigenen Panel "❓ Unbekannte Scans (diese Sitzung)" — mit Filterfeld und einem "📋 Liste kopieren"-Button, um die gesammelten EANs z.B. direkt in eine KI-Recherche (siehe Stufe 2: Titel-Liste importieren) einzufĂŒgen. Diese Liste lebt nur im Browser der aktuellen Sitzung auf diesem einen GerĂ€t, wie das AktivitĂ€ts-Protokoll — sie wird beim Neuladen der Seite geleert und nicht zwischen mehreren gleichzeitig genutzten Tresen-GerĂ€ten abgeglichen.
  • Kein Zugriff auf Datenbank-Verwaltung, Sammlungen o.Ă€. — bewusst reduziert auf den reinen Tresen-Betrieb.

Ausleihe/RĂŒckgabe-Logik

Sowohl am Ausleihe-Tresen als auch im Verwaltungstool gilt dieselbe Logik, damit ein Scan möglichst nie erklÀrt werden muss:

  • Hat ein Spiel nur ein Exemplar, ist der nĂ€chste Scan eindeutig: verfĂŒgbar → wird ausgeliehen, ausgeliehen → wird zurĂŒckgegeben. Kein Klicken, keine RĂŒckfrage.
  • Hat ein Spiel mehrere Exemplare, aber gerade sind alle verfĂŒgbar oder alle draußen, ist es ebenfalls eindeutig und lĂ€uft automatisch.
  • Nur wenn ein Spiel mehrere Exemplare hat und gleichzeitig manche verfĂŒgbar und manche draußen sind, ist ein Scan wirklich mehrdeutig — dann erscheint ein kurzes Pop-up mit zwei Buttons ("📖 Ausleihen" / "↩ RĂŒckgabe"), einmal antippen, fertig.
  • Ist "Ein Regal pro Spiel erzwingen" fĂŒr dieses Event deaktiviert und das Spiel dadurch tatsĂ€chlich auf zwei Regale aufgeteilt (siehe Regal-Konflikt-Hinweis), fragt der Ausleihe-Tresen beim Ausleihen zusĂ€tzlich per kleinem Auswahl-Popup nach: "Aus welchem Regal wird dieses Exemplar entnommen?" — Dropdown mit den beiden (oder mehr) Regalen zur Auswahl. Erst nach BestĂ€tigung wird die Ausleihe gebucht; "Abbrechen" bricht die ganze Ausleihe ab. Bei nur einem Regal entfĂ€llt dieser Schritt, wie gehabt, komplett.
  • Diese Auswahl wird im Ausleihe-Log (loans) mitgespeichert — die RĂŒckgabe-Meldung nennt spĂ€ter deshalb exakt das richtige Regal statt nur eine "oder"-Vermutung.

Ausleihe im Verwaltungstool

Tab Ausleihe/RĂŒckgabe — dieselbe Funktion und dieselbe Logik wie am Tresen, aber innerhalb des vollstĂ€ndigen Verwaltungstools und immer bezogen auf das oben gewĂ€hlte aktive Event. Praktisch, wenn ohnehin schon im Tool gearbeitet wird und kein separates Tresen-GerĂ€t nötig ist.

  • Scannen: EAN ins obere Feld scannen (oder eintippen + Enter). Darunter der Schieberegler "Scan-Feld immer aktiv halten" (siehe Einstellungen).
  • Manuelle Suche: Falls der Scanner ausfĂ€llt, Spielname im zweiten Feld eintippen, Treffer anklicken.
  • Unbekannte EAN: Ist das Spiel gar nicht in der Datenbank, bietet das Tool an, es direkt anzulegen. Ist es in der Datenbank, aber diesem Event noch nicht zugeordnet, bietet es an, es dem Event hinzuzufĂŒgen.
  • Die Tabelle "Aktuell ausgeliehen" zeigt alle offenen Ausleihen mit Regal und StĂŒckzahl draußen, inkl. direktem RĂŒckgabe-Button.

Statistik, CSV-Export & Diagramm

Tab Statistik. Event auswĂ€hlen, um Kennzahlen zu sehen: Gesamtzahl Ausleihen, Anzahl verschiedener ausgeliehener Spiele, aktuell noch nicht zurĂŒckgegebene Spiele, sowie eine Rangliste der am hĂ€ufigsten ausgeliehenen Spiele.

CSV-Export

  • Button "âŹ‡ïž Als CSV exportieren" lĂ€dt eine Datei mit einer Zeile pro Ausleihvorgang herunter (Ausleihe und zugehörige RĂŒckgabe zusammen in derselben Zeile, nicht mehr getrennt). Derselbe Export steht auch direkt im Event-Fenster als "âŹ‡ïž Ausleihe-Log als CSV" zur VerfĂŒgung, ohne den Umweg ĂŒber den Statistik-Tab.
  • Spalten: Datum, Uhrzeit (Ausleihe), Spiel, Regal, RĂŒckgabe-Datum, RĂŒckgabe-Uhrzeit, Dauer.
  • Dauer wird automatisch aus Ausleih- und RĂŒckgabezeitpunkt berechnet (Format h:mm). Ist ein Exemplar zum Exportzeitpunkt noch nicht zurĂŒckgegeben, bleiben RĂŒckgabe-Datum/RĂŒckgabe-Uhrzeit leer und in Dauer steht "noch ausgeliehen".
  • Am Ende der Datei folgt ein eigener Abschnitt "Zusammenfassung — Gesamtausleihen je Spiel" mit der Gesamtzahl an Ausleihen pro Spiel, absteigend sortiert. Spiele, die nie ausgeliehen wurden, tauchen dort naturgemĂ€ĂŸ nicht auf.
  • Datenquelle ist die loans-Sammlung — ein Dokument pro Ausleihvorgang mit Ausleih- und (sobald erfolgt) RĂŒckgabezeitpunkt. Das ist derselbe vollstĂ€ndige, dauerhaft in der Datenbank gespeicherte Ausleihe-Log, den auch das kleine, nur sitzungslokale "📝 Letzte Aktionen"-Protokoll am Ausleihe-Tresen ergĂ€nzt (dieses zeigt nur die letzten 10 EintrĂ€ge des aktuellen GerĂ€ts, rein als GedĂ€chtnisstĂŒtze — fĂŒr die vollstĂ€ndige, dauerhafte Historie ist immer der CSV-Export die richtige Quelle).

Wird ein Event gelöscht, wird sein komplettes Ausleihe-Log (alle loans-Dokumente dieses Events) unwiderruflich mitgelöscht — die LöschbestĂ€tigung weist ausdrĂŒcklich darauf hin. Wer die Daten noch braucht, exportiert vorher als CSV.

Zeitverlaufs-Diagramm

  • Button "📈 Diagramm anzeigen" — standardmĂ€ĂŸig eingeklappt, öffnet ein Balkendiagramm (Plotly) ĂŒber den zeitlichen Verlauf.
  • Zeitraster einstellbar: 5 Minuten / 15 Minuten / 1 Stunde / 4 Stunden.
  • Ausleihen werden als positive Balken, RĂŒckgaben als negative Balken dargestellt — auf einen Blick sichtbar, wann viel Betrieb war und wann eher Ruhe.
  • Damit lĂ€sst sich im Nachhinein einschĂ€tzen, wie viele Mitarbeiter:innen zu welcher Uhrzeit am Tresen nötig gewesen wĂ€ren, und wie gut besucht ein Event tatsĂ€chlich war.

Öffentliche Übersicht (index.html)

  • Aufruf mit ?event=EVENT_ID in der URL zeigt direkt dieses Event (so ist auch der Einbett-Code aufgebaut).
  • Ohne Event-Parameter zeigt die Seite ein Dropdown zur Auswahl unter allen vorhandenen Events.
  • Oben neben dem Titel das BGG-Logo (verlinkt zu boardgamegeek.com) als Herkunftsnachweis der Spieledaten.
  • Nicht mehr live, sondern periodisch aktuell: Die Seite lĂ€dt sich automatisch alle 60 Sekunden neu, plus ein Button "🔄 Jetzt aktualisieren" fĂŒr sofortiges Nachladen. Eine kleine Anzeige ("Stand: HH:MM Uhr") zeigt, wie aktuell der gezeigte Stand ist. Details und Hintergrund dazu unter Architektur-Prinzipien dieser Version.
  • StandardmĂ€ĂŸig sichtbar ist nur das Suchfeld plus ein Button "🔍 Filter & Sortierung" — Platz sparend, besonders wichtig, wenn die Seite schmal eingebettet ist.
  • Klick auf den Button öffnet ein kompaktes Panel mit den fĂŒr Besucher:innen wichtigsten Fragen: Spielerzahl, KomplexitĂ€t ("Leicht", "Mittel", "Anspruchsvoll"), Status (Alle / Nur verfĂŒgbar / Nur ausgeliehen), Regal sowie einer einfachen Sortierung (Name oder Beliebtheit). Ein Bewertungs-Filter wurde bewusst weggelassen, um die Auswahl ĂŒbersichtlich zu halten — die Bewertung selbst steht aber weiterhin als Spalte in der Tabelle.
  • Der Button zeigt eine kleine Zahl, sobald Filter aktiv sind, auch wenn das Panel gerade eingeklappt ist. Ein "Filter zurĂŒcksetzen"-Button im Panel setzt alles auf Standard zurĂŒck.
  • Die Tabelle zeigt neben Spieleranzahl, Alter, Dauer, Bewertung und KomplexitĂ€t auch das Regal — beides weiterhin sichtbar, auch ohne eigenen Filter dafĂŒr.
  • Pagination: Bei mehr als 50 Treffern erscheinen "← ZurĂŒck"/"Weiter →"-Pfeile sowohl oberhalb als auch unterhalb der Tabelle — praktisch bei langen Listen, damit nicht erst nach oben gescrollt werden muss. Betrifft nur die Anzeige im Browser, nicht die LesevorgĂ€nge — Suche und Filter laufen weiterhin ĂŒber die komplette geladene Liste, damit sie zuverlĂ€ssig alles finden.
  • Jede Zeile der Ergebnistabelle ist anklickbar und öffnet eine Detailkarte mit grĂ¶ĂŸerem Bild, Beschreibung, Kategorie und einem direkten Link zur BGG-Seite des Spiels.
  • Bei Mehrfach-Exemplaren zeigt der Status z.B. "verfĂŒgbar (2/3)". Ist bei einem Spiel eine Verlagstisch-StĂŒckzahl gesetzt, erscheint zusĂ€tzlich "🏱 X auf Verlagstisch" (siehe Verlagstisch). Ist Ausleihdauer anzeigen fĂŒr dieses Event aktiviert, zeigt eine zusĂ€tzliche Spalte "Ausgeliehen seit" (h:mm) fĂŒr gerade ausgeliehene Spiele.
  • Kein Login nötig, keine Bearbeitung möglich.

Öffentliche Übersicht fĂŒr Sammlungen (sammlung-uebersicht.html)

EigenstĂ€ndige Seite nach demselben Prinzip wie die Event-Übersicht, aber fĂŒr einzelne Spielesammlungen statt Events — z.B. um die private Sammlung eines Mitglieds oder eine Vereinssammlung als Ganzes zu prĂ€sentieren.

  • Aufruf mit ?collection=SAMMLUNG_ID zeigt direkt diese eine Sammlung (Link dazu im Sammlungsfenster, siehe Öffentlicher Link zur Sammlung).
  • Ohne Parameter: Dropdown zur Auswahl unter allen vorhandenen Sammlungen.
  • Oben neben dem Titel ebenfalls das BGG-Logo mit Link zu boardgamegeek.com.
  • Ebenfalls periodische Aktualisierung (alle 60 Sekunden) statt Live-Listener, plus "🔄 Jetzt aktualisieren"-Button und "Stand: HH:MM Uhr"-Anzeige — siehe Architektur-Prinzipien dieser Version.
  • Gleiches Suchfeld, gleiches einklappbares Filter-&-Sortierungs-Panel wie bei der Event-Übersicht, ebenfalls auf das Nötigste reduziert: Spielerzahl, KomplexitĂ€t, Sortierung nach Name, Beliebtheit oder StĂŒckzahl. Kein Bewertungs-Filter mehr, kein Status-/Regal-Filter (Sammlungen kennen keine VerfĂŒgbarkeit im Ausleihsinn).
  • Die Tabelle zeigt je Spiel die StĂŒckzahl ("2×" usw.) statt eines Ausleihstatus.
  • Pagination: ab mehr als 50 Treffern "← ZurĂŒck"/"Weiter →" oberhalb der Tabelle, wie bei der Event-Übersicht.
  • Zeile anklicken öffnet dieselbe Detailkarte wie bei der Event-Übersicht (Bild, Beschreibung, BGG-Link).
  • Kein Login nötig, keine Bearbeitung möglich.

PreistrĂ€ger-Übersicht (preistraeger.html)

EigenstĂ€ndige Seite mit allen Gewinnern von Spiel des Jahres, Kennerspiel des Jahres, Kinderspiel des Jahres, Sonderpreis Kinderspiel (bis 2000), Deutschem und Österreichischem Spielepreis — 164 EintrĂ€ge insgesamt, Quelle ist das separate "Spiel des Jahres"-Projekt (statisch eingebettet, keine eigene Datenbank-Anbindung dafĂŒr nötig).

Gehostet unter: https://spielothek.spieleversum.at/preistraeger.html

  • Aufruf mit ?event=EVENT_ID zeigt direkt dieses Event; auch ĂŒber den Link "🏆 PreistrĂ€ger" auf jeder Event-Karte im Verwaltungstool erreichbar.
  • Ohne Parameter: Dropdown zur Event-Auswahl, wie bei den anderen öffentlichen Seiten.
  • Sortierung standardmĂ€ĂŸig nach Jahr absteigend (neuestes zuerst), umstellbar auf aufsteigend oder Titel A–Z.
  • Filter: Kategorie (alle sechs Auszeichnungen einzeln wĂ€hlbar) und VerfĂŒgbarkeit (Alle / Nur verfĂŒgbar / Vorhanden — egal ob ausgeliehen / Nicht in der Sammlung).
  • Abgleich per Titel: FĂŒr jeden PreistrĂ€ger wird geprĂŒft, ob ein gleichnamiges (oder unter bekanntem Alternativtitel gefĂŒhrtes) Spiel bei diesem Event vorhanden ist — Status wird als Badge angezeigt (VerfĂŒgbar/grĂŒn, Ausgeliehen/rot, Nicht in der Sammlung/grau), plus Regal bei Treffer.
  • Der Abgleich ist ein Best-Effort-Titelvergleich (normalisiert, Groß-/Kleinschreibung und Sonderzeichen ignoriert) — bei stark abweichenden Editionsnamen kann er im Einzelfall daneben liegen; stichprobenartige Kontrolle empfohlen.
  • Periodische Aktualisierung (60 Sek.) + "Jetzt aktualisieren"-Button, Pagination ab 50 Treffern — dieselben Prinzipien wie bei den anderen öffentlichen Seiten.
  • Kein Login nötig, keine Bearbeitung möglich.

Zugriffsrechte der API

Diese Version lĂ€uft ĂŒber eine eigene PHP-API (api.php) auf einer MySQL-Datenbank statt ĂŒber Firestore — der Zugriffsschutz funktioniert deshalb anders als bei der privaten/GitHub-Pages-Version: nicht ĂŒber Firestore-Sicherheitsregeln, sondern direkt im PHP-Code.

ZugriffsartWer darf
Lesen (GET, z.B. events, event_games, games, loans 
)Öffentlich, kein Login nötig — genau wie bei den bisherigen öffentlichen Firestore-Leseregeln.
Schreiben (POST, z.B. borrow, game_upsert, event_delete 
)Nur mit gĂŒltiger PHP-Session (Login ĂŒber login.php) — api.php prĂŒft das bei jedem schreibenden Aufruf ĂŒber requireAuth() aus auth.php.
Zugangscode Àndern (registration_code)Nur der SuperAdmin-Account (requireSuperAdmin()).

Die MySQL-Datenbank selbst ist ĂŒber localhost nur vom Server aus erreichbar (kein direkter Zugriff von außen) — die einzige öffentlich erreichbare TĂŒr zu den Daten ist api.php mit genau diesen Regeln.

Architektur-Prinzipien dieser Version

Diese Version ĂŒbernimmt bewusst dieselben Grundprinzipien, die schon bei der privaten Firestore-Version aus KostengrĂŒnden eingefĂŒhrt wurden — bei MySQL geht es nicht um Kosten pro Lesevorgang, sondern schlicht um Serverlast und Antwortzeit, dieselben Prinzipien bleiben aber sinnvoll:

1. Datenbank-Änderungen weitergeben, statt bei jedem Aufruf live nachzulesen

Sammlungs- und Event-EintrĂ€ge (collection_items, event_games) tragen von Anfang an alle Anzeige-Daten vollstĂ€ndig in sich (Titel, Bild, Spieleranzahl, Alter, Dauer, Bewertung, KomplexitĂ€t, Kategorie, Beschreibung) — nicht nur EAN und Menge. Bearbeitet ein Admin ein Spiel im Verwaltungstool (Titel korrigieren, BGG neu abgleichen, Beschreibung nachtragen, 
), schreibt der Server (game_propagate-Endpunkt) die aktuellen Daten automatisch in alle Sammlungs- und Event-EintrĂ€ge zurĂŒck, die auf diese EAN verweisen — einmalig, im Hintergrund, ohne dass Besucher:innen etwas davon merken.

Ergebnis: Die öffentlichen Seiten mĂŒssen pro Aufruf nur eine einzige, gezielte Abfrage stellen (die Sammlung bzw. das Event) — kein zusĂ€tzlicher Join oder Nachschlag pro Spiel, egal wie viele Besucher:innen gleichzeitig zuschauen.

2. Periodische Aktualisierung statt dauerhaftem Live-Listener

MySQL/PHP kennt von Haus aus keine "Live-Listener" wie Firestore — alle Seiten fragen deshalb regelmĂ€ĂŸig per fetch() neu ab: die öffentlichen Seiten (index.html, sammlung-uebersicht.html, preistraeger.html) alle 60 Sekunden, zusĂ€tzlich ĂŒber den Button "🔄 Jetzt aktualisieren" jederzeit sofort. Der Ausleihe-Tresen und das Verwaltungstool fragen fĂŒr den MehrgerĂ€te-Betrieb deutlich schneller ab (Tresen alle 3 Sekunden, Verwaltungstool alle 5 Sekunden). Eine kleine Anzeige ("Stand: HH:MM Uhr") zeigt Besucher:innen, wie aktuell der gezeigte Stand gerade ist.

Bewusster Kompromiss bei den öffentlichen Seiten: Die Ansicht kann bis zu 60 Sekunden hinter dem tatsĂ€chlichen Stand zurĂŒckliegen — ein Spiel könnte gerade erst ausgeliehen worden sein, obwohl es noch als verfĂŒgbar angezeigt wird.

3. Abfragen begrenzen, Listen paginieren und Filter aufs Nötigste reduzieren

  • Gezielt statt vollstĂ€ndig: Die meisten API-Endpunkte akzeptieren einen event_id- bzw. collection_id-Filter und geben ohne diesen Filter (z.B. fĂŒrs Verwaltungstool) alles zurĂŒck — die öffentlichen Seiten nutzen konsequent die gefilterte Variante.
  • UI-Pagination bei großen Listen: Sowohl die öffentlichen Übersichten (50 Spiele pro Seite, Pfeile oberhalb der Tabelle) als auch die Spieledatenbank-Tabelle im Verwaltungstool zeigen nur einen Ausschnitt gleichzeitig — spart vor allem Browser-Rechenleistung; Suche und Filter laufen weiterhin ĂŒber den kompletten, bereits geladenen Datenbestand, damit sie zuverlĂ€ssig alles finden (siehe Datenbank durchsuchen & bearbeiten).
  • Filter aufs Wesentliche reduziert: FĂŒr Besucher:innen zĂ€hlen in der Praxis vor allem zwei Fragen — "Wie viele sind wir?" und "Ist es leicht genug?". Die öffentlichen Übersichten bieten deshalb bewusst nur noch Spielerzahl, KomplexitĂ€t, (bei Events) Status, Regal und eine einfache Sortierung an. FĂŒr die Administration (Verwaltungstool) bleiben alle Filter erhalten, die dort fĂŒr den Betrieb nötig sind.
  • Bewusste Ausnahme: Das Verwaltungstool selbst lĂ€dt beim Login weiterhin die komplette Spieledatenbank und alle SammlungseintrĂ€ge unbegrenzt — das ist nötig, damit Team-Mitglieder per Volltext ĂŒber die ganze Datenbank suchen können. Das ist unkritisch, weil nur angemeldete Team-Mitglieder das Tool öffnen (nicht beliebige Besucher:innen) und die Zugriffszahl klein bleibt, unabhĂ€ngig vom Besucherstrom eines Events.

Glossar

BegriffBedeutung
EANDer Barcode auf der Spielschachtel, eindeutige Kennung eines Spiels in der Datenbank.
GTNM-ReferenzStatische Titel-Nachschlageliste (EAN → Titel) aus einer HĂ€ndler-Tabelle, nur zur Titel-Erkennung, kein Besitznachweis.
SammlungWer besitzt welches Spiel-Exemplar und wie viele davon (z.B. Spieleversum, Genduron, privat).
EventEine konkrete Veranstaltung mit eigenen Regalen und einer Auswahl an Spielen (inkl. StĂŒckzahl) aus bestimmten Sammlungen.
Aktives EventDas Event, auf das sich Ausleihe/RĂŒckgabe und Schnellerfassung im Verwaltungstool gerade beziehen (pro GerĂ€t einstellbar, unabhĂ€ngig vom Ausleihe-Tresen).
Enrich-StatusZeigt, ob ein Datenbankeintrag vollstÀndige BGG-Daten hat (Offen / Fertig / Kein Treffer / Fehler).
TitelquelleWoher der gespeicherte Titel stammt: GTNM-Referenz, manuell eingegeben, oder Recherche-Import.
StĂŒckzahlWie viele Exemplare eines Spiels eine Sammlung besitzt bzw. bei einem Event im Regal stehen.
BGG-IDEindeutige Kennung eines Spiels bei BoardGameGeek — Grundlage fĂŒr den automatischen BGStats-Import-Abgleich, da BGStats keine EAN kennt.
BGStatsExterne App zur Sammlungs- und Partieverwaltung; ihr JSON-Export lÀsst sich als neue Sammlung importieren (nur Besitz, keine Partien).
VerlagstischStĂŒckzahl je Spiel-Eintrag, die angibt, wie viele Exemplare permanent auf einem Verlagstisch ausgestellt sind und nicht regulĂ€r ausgeliehen werden — unabhĂ€ngig von den ĂŒbrigen, normal ausleihbaren Exemplaren desselben Spiels.
AusleihdauerOptionale Anzeige (h:mm), wie lange ein Spiel-Exemplar schon durchgehend ausgeliehen ist — pro Event ĂŒber eine Checkbox aktivierbar, berechnet live aus dem Ausleihzeitpunkt in der loans-Sammlung.
Regal-Konflikt-HinweisOptionale, pro Event aktivierbare RĂŒckfrage beim Einscannen, wenn ein Spiel in diesem Event bereits einem anderen Regal zugeordnet ist — verhindert stille Fehlzuordnungen bei mehreren gleichzeitig genutzten Scan-GerĂ€ten.
Regale zusammenfĂŒhrenPassiert automatisch (nach BestĂ€tigung), wenn beim Umbenennen eines Regals der neue Name mit einem bereits bestehenden Regal desselben Events ĂŒbereinstimmt — alle Spiele wandern ins bestehende Regal, das umbenannte (jetzt leere) Regal wird gelöscht.

HĂ€ufige Probleme

ProblemLösung
Scan zeigt "Kein aktives Event gewĂ€hlt" (im Verwaltungstool)Oben im Tool ein aktives Event auswĂ€hlen, oder stattdessen den Ausleihe-Tresen fĂŒr dieses Event nutzen.
Scan zeigt "Unbekannte EAN"Spiel ist noch nie in der Datenbank erfasst worden → ĂŒber den angebotenen Button direkt anlegen, oder mit der Schnellerfassung arbeiten.
Scan zeigt "Ist in der Datenbank, aber noch nicht diesem Event zugeordnet"Spiel existiert, gehört aber (noch) nicht zum aktiven Event → ĂŒber den Button direkt hinzufĂŒgen, oder den Schnellscan im Event-Fenster nutzen.
Ein Pop-up fragt "Ausleihen oder RĂŒckgabe?"Kein Fehler — passiert nur, wenn von einem Spiel mit mehreren Exemplaren gerade manche draußen und manche verfĂŒgbar sind. Einfach die passende Option antippen.
Regal lĂ€sst sich nicht löschenEnthĂ€lt noch zugeordnete Spiele — zuerst umlagern oder aus dem Event entfernen.
Spiel taucht bei "Spiele zum Event hinzufĂŒgen" nicht aufEs gehört zu keiner der fĂŒr dieses Event ausgewĂ€hlten Sammlungen, oder es ist noch keiner Sammlung zugeordnet.
CSV-Export-Button tut nichtsFĂŒr dieses Event liegen noch keine Ausleihen vor — erst nach der ersten Ausleihe gibt es Daten zum Exportieren.
Ausleihe-Log eines gelöschten Events ist wegErwartetes Verhalten — beim Löschen eines Events wird sein komplettes Ausleihe-Log unwiderruflich mitgelöscht. Kein nachtrĂ€glicher Export mehr möglich, auch nicht im Tab Statistik.
BGG-Suche liefert nichtsTitel evtl. zu ungenau/falsch geschrieben — im Bearbeiten-Formular Titel anpassen und BGG-Suche erneut starten.
Registrierung schlĂ€gt fehlZugangscode falsch oder E-Mail bereits vergeben — Zugangscode bei der Vereinsleitung erfragen.
Ansicht fĂŒr Besucher:innen zeigt gar keine Spiele (auch nicht nach "Jetzt aktualisieren")Erst prĂŒfen, ob dem Event im Verwaltungstool ĂŒberhaupt Spiele zugeordnet sind (neue Events starten leer). Ist das nicht die Ursache: Browser-Konsole öffnen (F12 → Konsole) und auf rote Fehlermeldungen prĂŒfen — hĂ€ufigster Grund ist ein Verbindungsproblem zu api.php (falsche Pfade, Server-Fehler) — siehe Zugriffsrechte der API.
Ansicht fĂŒr Besucher:innen zeigt die Spieleliste, aber "Ausgeliehen seit" bleibt immer "—"PrĂŒfen, ob active_loans in api.php antwortet (Browser-Konsole, F12). SchlĂ€gt nur diese eine Abfrage fehl, bleibt die restliche Liste trotzdem sichtbar — nur die Ausleihdauer-Spalte fehlt dann.