commonsbooking
commonsbooking copied to clipboard
Beständige Buchungscodes je Lastenrad auch bei Änderung von Zeitrahmen oder Station (Verhalten von CB0 wiederherstellen)
Gegenüber CB0 wurde mit CB2 ein leicht abweichendes Verhalten bezüglich Buchungscodes eingeführt. Bei CB0 war der Code nur vom Lastenrad und Datum abhängig: cb0_code = f(itemId, date). Mit CB2 wurde eingeführt, dass der Code zusätzlich von der Station und Zeitrahmen abhängt: cb2_code = f(itemId, date, timeframeId, locationId). Der (m.E. fragliche) Vorteil davon ist, dass man Speicherplatz freigeben kann, indem man einen Zeitrahmen zusammen mit seinen Codes löschen kann. Aber es heißt auch, dass es für ein bestimmtes Lastenrad zwei oder mehr Codes je Tag geben kann. Das ist unlogisch, weil es die reale Welt nicht abbildet. Es gibt leider einige Fälle, bei denen das neue Verhalten zu "bösen Überraschungen" führt. Ich würde mir daher sehr wünschen, dass diesbezüglich das ursprüngliche, einfache und etablierte Verhalten von CB0 wieder eingeführt wird. Ich sehe darin nur Vorteile.
Hier sind zwei dieser Fälle:
- Ein paar unserer Lastenräder wechseln immer wieder die Station. Das erfolgt je nach Urlaubssituation und Auslastung der Stationen manchmal auch sehr kurzfristig, wenn Buchungen schon vorhanden sind. Da die Stationen in der Nähe sind, informieren wir die Nutzer kurz und sie holen dann mit ihrem noch gültigen Code aus der Buchungsbestätigung das Lastenrad ab. Mit CB2 geht das so nicht mehr, weil komplett neue Codes generiert werden würden, wenn wir den neuen Zeitrahmen für die Ausweichstation erstellen. Wir müssten also manuell und einzeln die Nutzer kontaktieren und erklären, dass sie andere Codes benutzen müssen.
- Eine Verleihstation hat normale wöchentliche Öffnungszeiten (Zeitrahmenwiederholung wöchentlich) UND an weiteren einzelnen Tagen öffnet (zusätzlicher Timeframe je Datum). Für die einzelne Tage könnte man zwar Codes generieren und einzeln an die Station übermitteln, aber es wäre so viel leichter, wären die beim Erstellen des "Haupt-timeframes" generierten Codes gültig.