CommonsBooking 1 Erweiterungen
Aus Forum Freie Lastenräder
An dieser Stelle wird die Vorstellung der Erweiterungen für Commons Booking 1 (FFL 2019), die im Rahmen des fLotte Projekts entstanden sind, dokumentiert.
Was war unsere Intention?
- Herausforderungen lösen, die sich uns gestellt haben, erstmal für den Eigenbedarf
- Verwaltungsaufwand verrringern
- wiederkehrende Aufgaben erleichtern
- Entwicklung und Nutzungsverhalten nachvollziehen und steuern
- intensivere Kommunikation mit NutzerInnen
- Anforderungen der DSGVO erfüllen
- nach Möglichkeit Lösungen so umsetzen, dass sie auch für andere Initiativen nutzbar sind
Warum Plugins zum Plugin?
- CB2 bereits in der Entwicklung, keine Feature-Updates von CB
- Kompatibilität mit minor Updates gewährleisten
- Unklarheit, ob unsere Entwicklungen sinnvoll im CB-Core aufgehoben wären (zu spezielle Herausforderungen, Lösungen nicht verallgemeinerbar)
Wo sind die Erweiterungen zu finden und wie auf der eigenen WP-Plattform zu installieren
- Repository-Sammlung: https://github.com/flotte-berlin
- Plugins:
- sind nicht ins WP-Repository eingestellt (Nachteil: kein direktes Update möglich)
- zip-Download + Wordpress: Plugins installieren, Upload, fertig!
- Shortcodes:
- im Theme hinterlegen und in functions.php inkludieren
Was haben wir entwickelt, welche Plugins sind Open Source verfügbar?
Code Export
- Herausforderung:
- es gibt zwar über "Zeiträume" die Möglichkeit Buchungscodes zu drucken, allerdings nur alle eines Zeitraums
- viele Räder, daher verlängern wir bestehende Zeiträume, um Anzahl gering zu halten (neue nur bei Standortwechsel)
- brauchten eine Möglichkeit, Codes für wählbaren Zeitabschnitt zu exportieren im CSV-Format
- Lösung:
- im Admin-Bereich "Codes", Einblendung eines Formular zum Export
- Bedienung:
- Auswahl des Items und Start- und Enddatum
- optional Spalte mit Namen des Standortes hinzufügbar
- Datei speichern-Dialog
Admin Booking
- Herausforderung:
- Buchungen von Items für andere NutzerInnen, auch jenseits des eingestellten Buchungshorizonts und der für "normale" NutzerInnen erlaubten Länge
- Beispiele: Anfragen für Events länger im Voraus, Selbstnutzung von Standorten
- Lösung:
- im Admin-Bereich "Buchungen" ein Formular 'Buchung erstellen'
- Bedienung:
- Auswahl des Artikels/Items (Lastenrad), Auswahl der NutzerIn (Dropdown mit Filter)
- Auswahl von Start- und Enddatum
- Beschränkung: wie bei normalen Buchungen muss es sich um einen Tag handeln, an dem Standort geöffnet ist
- es dürfen keine Buchungen für ausgewählten Zeitraum existieren
- es muss ein Zeitraum für den Artikel existieren
- da Buchungen für interne Zwecke mitunter keine Bestätigungsmail erfordern, optional, ob diese versendet werden soll (Checkbox)
Post Booking
- Herausforderung:
- zusätzliche Emails an NutzerInnen vor und nach dem Buchungszeitraum
- A: Buchungserinnerung - manche NutzerInnen reservieren Rad länger im Voraus, mitunter wird es dann doch nicht benötigt; Stornierung ermöglicht anderen die Nutzung (effektive Nutzung, faire Verfügbarkeit)
- B: Buchung beendet - Bitte um Feedback, Möglichkeit auf Social Media Kanäle hinzuweisen, Spendenaufforderung, Verweis auf mgl. Umfrage (s. Questionnaire) -> !!! da diese Benachrichtigung nicht mehr unmittelbar für den Ausleihprozess notwendig ist - sollte in den AGB die Zustimmung eingeholt werden (wg. DSGVO)
- Bedienung:
- Einstellungsseite für das Plugin
- A: Buchungserinnerung
- Textfelder für Betreff und Email-Inhalt (Template Tags möglich + {{HASH}} für Buchungshash)
- min. Tage nach Buchung - wieviele Tage müssen seit Erstellung d. Buchung vergangen sein (kurzfristig buchende NutzerInnen müssen nicht erinnert werden)
- Tage im Voraus - wieviele Tage vor Beginn des Buchungszeitraums soll die Benachrichtigung versendet werden
- Checkbox f. (De-)Aktivierung des Email-Versands, Auswahl einer Uhrzeit für den Versand
- B: Buchung beendet
- Textfelder für Betreff und Email-Inhalt (Template Tags möglich + {{HASH}} für Buchungshash)
- Checkbox f. (De-)Aktivierung des Email-Versands, Auswahl einer Uhrzeit für den Versand und Tag, für welchen Buchungen berücksichtigt werden
- Abhängigkeit: WP Cronjob
- Ausblick:
- evtl. Styling der Einstellungsseite verbessern
Item Usage Restriction
- Herausforderung:
- Sichtbarmachung von Schäden und Nutzungseinschränkungen an Rädern für NutzerInnen
- Informieren von direkt betroffenen NutzerInnen (mit Buchungen) und anderen relevanten Beteiligten, mühsames Heraussuchen von Kontakten vermeiden
- Blockierung weiterer Buchungen bei Nichtnutzbarkeit (Totalschaden, Wartung)
- Eingriff (& Auffasern) in Zeiträume vermeiden
- statistische Auswertung von Verfügbarkeit (vertragliche Vereinbarung 'fLotte kommunal')
- Bedienung:
- Einstellungen:
- Auswahl eines blockierenden Nutzers (Erstellung von Buchungen für diesen Nutzer bei Totalausfall > Überbuchen, Verhinderung neuer Buchungen)
- 3 Email-Templates (nach Einschränkungsart: Beschädigung / Totalausfall, Löschung der Nutzungseinschränkung)
- buchungsbezogene Template-Tags stehen zur Verfügung (+ {{HINT}})
- Option zum Einbinden des Markup in Item-Seite, auch wenn keine Einschränkungen vorhanden sind
- Erstellen:
- Artikel und Start-/Enddatum der Einschränkung wählen (ist auch in der Vergangenheit möglich, kein Email-Versand, aber hilfreich für statistische Zwecke)
- Typ der Einschränkung wählen (Totalausfall, eingeschränkt nutzbar)
- Hinweistext, der an die Email angehangen werden kann (Template-Tag {{HINT}}) und auf der Artikelseite erscheint
- optional (Komma separierte) Liste von Email-Adressen, die zusätzlich benachrichtigt werden - Eigentümer des Lastenrads etc.
- Liste:
- Artikel auswählen - Auflistung von Beschränkungen in zeitlich umgekehrter Reihenfolge
- Abhängigkeit: WP Cronjob
- Ausblick:
- verkürzen bzw. verlängern von bestehenden Nutzungsbeschränkungen, bisher nur Erstellen und Löschen möglich
Safe User Deletion
- Herausforderung:
- NutzerInnen haben Recht auf Löschung ihres Accounts (DSGVO)
- ist nicht im WP-Core integriert, Nutzung des Plugins "Delete Me"
- Problem: Verknüpfung zu (vergangenen) Buchungen gehen verloren, zukünftige Buchungen bleiben bestehen, mglw. Kontaktaufnahme bezüglich kürzlich zurückliegender Nutzung notwendig (Schadensfall o.ä.)
- Bedienung:
- Einstellungen: Anzahl der Tage, die seit letzter Buchung vergangen sein müssen, damit Löschung erfolgen kann
- "Delete me" erlaubt Löschung durch NutzerIn über Profil-Seite oder durch Admin über Benutzer-Liste - an dieser Stelle erfolgt Prüfung und ggf. Abbruch mit Rückmeldung
- bei Löschung:
- sofern Buchungen in der Vergangenheit, Anonymisierung des Accounts (Überschreiben persönlicher Daten v. User) - Verbindung zu Buchungen bleiben erhalten
- Buchungen mit Nutzungszeitraum in der Zukunft werden gelöscht, um Slots für anderen NutzerInnen frei zu geben
- Abhängigkeit: Delete me (https://de.wordpress.org/plugins/delete-me/)
Map
(Release: 19.08.2019)
- Herausforderung:
- Anzeige von Standorten mit den jeweiligen Lastenrädern auf einer interaktiven Karte, die auf Openstreetmap basiert
- Erstellung verschiedener Karten zur Präsentation vorgefilterter Lastenräder (nach Kategorien), einfache Einbindung über Shortcode
- Möglichkeit der individuellen Filterung von Lastenrädern/Standorten durch Nutzende
- Teilen von Standortinformationen zwischen mehreren Commons-Booking-Instanzen
- Link "auf Karte anzeigen" auf der Buchungsseite - Nutzung von Openstreetmap, statt Google Maps
- Bedienung:
- Einstellungen: Anpassung der jeweiligen Darstellung und des Verhaltens (z.B. Kartenausschnitt, Zoom, angepasste Marker, Popup, Clustern)
- verschiedene Kartentypen zur Nutzung lokaler Daten bzw. Import/Export von/zu anderen Commons-Booking-Map Installationen - ermöglicht die Aggregation von Informationen mehrerer Initiativen
Shortcodes
- [cb_items_available]:
- Zielgruppe: NutzerInnen
- tabellarische Übersicht von buchbaren und gebuchten Tagen im Buchungsfenster (z.B. 30 Tage) nach Kategorie (Stadtgebiet)
- [cb_bookings_category]:
- Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten)
- Buchungsstatistik Übersicht - Zeiträume aller Artikel
- [cb_bookings_months]:
- Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten)
- tabellarische & grafische Nutzungsstatististiken für Item-Kategorien (bei uns: fLotte, kommunal) und Items
- [cb_booking_codes] & [cb_booking_codes_item] + [bws_pdfprint display='pdf']:
- Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten)
- Liste von Rädern + Seite mit Buchungscodes über 2 Monate zum Selbstausdrucken
- Status: bisher nicht Open Source
( im Screenshot zu [cb_booking_codes_item] ist die Tabelle gekürzt und sind d. Buchungscodes unkenntlich gemacht)
andere Erweiterungen
Ausleihformular als Link
- Zielgruppe: NutzerInnen
- zusätzlicher Link auf der Seite für bestätigte Buchung zu PDF mit Ausleihformular (teilweise vorausgefüllt) - zur Vereinfachung des Ausleihvorgangs
- Status: nicht Open Source
Contract Extension
- Herausforderung:
- Erfassung der "no show" Rate - Verknüpfung der Buchung mit der tatsächlichen Ausleihe über den Leihvertrag
- regelmäßiges Einsammeln der Verträge von den Standorten, Markieren der dazugehörigen Buchungen
- Lösung/Bedienung:
- Erweiterung der Buchungstabelle um Spalte "Vertrag" mit Checkbox zum Vorhandensein
- Status: nicht Open Source
Special Days
- Herausforderung:
- CB ermöglicht nur das Festlegen von wöchentlich wiederkehrenden Schließtagen
- unregelmäßige Schließtage von Standorten, wie z.B. gesetzl. Feiertage
- Lösung/Bedienung:
- zusätzliches wiederholbares Feld für Standorte zum Eintragen von Datum eines besonderen Schließtages
- Checkbox zur Auswahl, ob Standort an gesetzl. Feiertagen geschlossen hat (Berechnung im Hintergrund)
- auf Buchungsseiten, Einschleusen dieser Daten (und Aktualisierung des Buchungskalenders)
- Status: nicht Open Source
Kontakt für Fragen, Feedback und Fehlermeldungen
- Shortcodes: gundelfisch@flotte-berlin.de
- Plugins & Erweiterungen allgem.: thomas.richter@flotte-berlin.de