CommonsBooking 1 Erweiterungen

From 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

  • 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


Screenshot: CB Code Export

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)


Screenshot: CB Admin Booking

Post Booking

Screenshot CB Post Booking - Einstellungen
  • 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
Screenshot: CB Item Usage Restriction - Einstellungen
Screenshot: CB Item Usage Restriction - Management

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


Screenshot: CB Item Usage Restriction - Beispiel

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

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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.