WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 15.09.2016 21:51:51

grindmobil
Gast

Bierstorming: BlockBooking

Was mir so im Hirn gewachsen ist, was ich machen möchte würde, wenn mir fad ist.
Meinungen erwünscht.

Das (fiktive) Modul "BlockBooking" zielt besonders auf Ärzte, Anwälte, Dienstleister mit genau definierten Leistungen ab.

Der Tag wird in Blöcke unterteilt, typisch 10 Minuten
Ein Kunde kann einen Termin buchen. Je nach Art (Auswahlliste) kann ein Termin mehrere Blöcke dauern.
Der Kunde muss zunächst auswählen, welche Art Termin er wünscht (=Zahl der Blöcke), dann wird ihm eine Liste der nächsten möglichen Termine gezeigt. Klickt er auf einen von diesen, öffnet sich ein (knappes) Formular, in dem er einige Angaben macht.
Diese werden in die Tabelle „Blocks“ eingetragen und auf status=1 gesetzt. Der Seiteninhaber bekommt ein Mail mit den Angaben und einem Link zur Bestätigung.
Der Kunde bekommt zunächst ein Mail mit der Bestätigung seiner Anfrage. Wird der Termin bestätigt (status=2), erhält er ein weiteres Mail. In diesem ist wieder ein Link, womit er den Termin bestätigen muss (status = 3). Damit ist der Termin fix gebucht.

Verwaltung
im Frontend (auf einer privaten Seite) ist eine Liste der nächsten Kunden und deren Wunsch + Kommentar. Auch hier kann bestätigt werden.
Die Liste wird laufend aktualisiert (AJAX)

Eine grafische Darstellung der Auslastung in den nächsten Tagen

Angestellte können Termine direkt buchen – ohne Bestätigen.
Funktionen zur Umbuchung eventuell.

CRM-Funktionen sind nicht vorgesehen.




Tabellen:
Rules: Wann ist offen – wann ist zu. Wann kann überhaupt ein Termin gebucht werden.

Felder:
ID (int)
section_id in der config kann eingestellt werden, ob diese berücksichtigt wird, oder ob generell die gleichen Daten gelten.

rule: varchar(8) Werte: mo, di….so (Bezeichnung wie aus Date()) für die Grundeinstellungen. Tage können mehrfach vorkommen. (von – bis (Pause) von – bis)
Tage in Form:
01.*.* für jeden Ersten
24.12:* Jeden 24. 12.
Bei Urlaub muss jeder Tag eingetragen werden. Ein Script kann das vereinfachen.
Eventuell: kw.23.16 für Kalenderwoche 23 Jahr 16


open: tinyint, -1 = closed, 0: Vorbehalt, 1 = open
priority: tinyint, 0: Grundregel … 5: Schlägt alle anderen Regeln.

Start: BlockNr, Eingabe als Zeit, wird umgerechnet
Ende: Wie Start
Keine Angabe: Diese Regel gilt für den ganzen Tag.

Grund (Urlaub, Feiertag, freie Eingabe)

//Details:
Listen von Feiertagen können mitgeliefert werden. Problem dabei: Wenn die falsche Liste geladen wird, kann diese nicht mehr entfernt werden. Besser(?) fixes Script mit Regeln includen? Problem: Erlaubt keine Ausnahmen (offen zu Weihnachten usw). Doch: Wenn Priorität niedrig ist?

Regeln wie „jeden ersten Donnerstag im Monat“ oder „vom 21. Mai bis 23.September“ können so nicht abgebildet werden (bzw nur sehr mühsam durch einzelne Einträge).
Dazu müsste ein Script includet werden können.

Es muss einen Not-Aus geben: Keine Buchungen möglich (Krankheit, Überlastung...)

Es müssen alle mögliche Varianten aus der DB gezogen werden und dann nach Priorität sortiert bearbeitet werden. Die meisten Abfragen werden nur 1 oder 2 Ergebnisse haben.
Normale Kundenanfragen tragen nicht auf, rechenintensiv sind aber Überblick-Darstellungen.

Am Ende des Scripts: Array mit Start/Stop der verfügbaren Blöcke an diesem Tag. Leeres Array, wenn nichts buchbar.
Hinweis: Keine Angabe, ob ein Block gebucht ist – das geht erst durch Abfrage der Blöcke in einem weiteren Schritt.


Tabelle Blocks
Die Blocklänge kann in der Config eingestellt werden, darf aber dann nicht mehr geändert werden.
Block 0 = 0:00
Warum nicht ab Start: Weil dann Start mitgespeichert werden müsste.
Blocklänge: Einstellung per config. minimum 1 Minute, default: 10min.

ID: unique() (varchar 13)
section_id
day: Tag (int) von irgendwo weg (siehe config)
BlockNr: Startblock
Blocks: Zusammenhängende Blöcke
approved TinyInt
approvedID für die Bestätigung des Kunden
eMail
Tel
Free1-X varchar 255; beliebig viele Felder, aber ohne Lücke
Text (Kommentar des Kunden)

Settings:
Diverse Texte und Templates

#2 16.09.2016 07:31:10

florian
Administrator

Re: Bierstorming: BlockBooking

Klingt vielversprechend.

Vorzusehen wäre evtl. noch eine Exportfunktion als iCal, CSV, XML (idealerweise automatisierbar), um die Möglichkeit der Übernahme der Termine in lokale Systeme zu ermöglichen.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 16.09.2016 11:28:58

grindbatzn
Gast

Re: Bierstorming: BlockBooking

Hmm.. Export ist schwierig, weil das muss man ja abgleichen. Es können sich ja da wie dort Termine geändert haben. Das wird dann haarig.
Eher noch Import..

So insgesamt:
Gestern beim 3. Bier klang das alles noch nach einer netten Wochenend-Beschäftigung, heute (nüchtern betrachtet ;-) kommen mir feste Zweifel:

In der Praxis werden sich nur sehr wenige Leute per Website anmelden; die allermeisten rufen an oder kommen einfach vorbei, um einen Termin zu vereinbaren.
Damit das System funktioniert, müssen die aber alle von Hand nachgetragen werden. Das ist ein nerviger Doppelaufwand.

Zusätzlich hat man ja auch noch die Buchhaltung oder irgendeine Software, mit der man das alles verwaltet. Da führt kein Weg an Copy-Paste vorbei.
Weil: Da in das Modul so nebenbei noch ein CRM oder sowas einbauen, das sprengt den Rahmen weit.

Bleiben als Zielgruppe nur kleine Tattoo/Piercing-Buden oder sowas, die mit dem Modul allein auskommen. Aber selbst da müsste man noch eine kleine Rechnungslegung anfrickeln..

Ich lass das jetzt einfach mal so stehen.

#4 16.09.2016 12:14:30

florian
Administrator

Re: Bierstorming: BlockBooking

Eine Wochenendbeschäftigung wäre so ein Modul jedenfalls auf keinen Fall gewesen.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#5 19.09.2016 11:09:54

better-work
Mitglied

Re: Bierstorming: BlockBooking

Wow, das sieht sehr umfangreich aus. Momentan würde ich persönlich auch erst einmal auf eine fertige Lösung zurückgreifen.
Sieht auch noch nach viel Arbeit aus, trotzdem vielen Dank erst einmal...


Gruß Jörg

Offline

Fußzeile des Forums

up