<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.225.98.158</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.225.98.158"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/92.225.98.158"/>
	<updated>2026-11-02T07:20:13Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Kassensystem&amp;diff=15213</id>
		<title>Kassensystem</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Kassensystem&amp;diff=15213"/>
		<updated>2010-10-18T20:46:52Z</updated>

		<summary type="html">&lt;p&gt;92.225.98.158: /* Rollen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite ist im Rahmen der Erstellung eines &#039;&#039;Kassensystems&#039;&#039;  für die Freitagsrunde entstanden. Die Grundidee war dabei für den  Touchscreen (oder eine andere Plattform) in unserem Raum eine Software  zu erstellen, mit der mehrere Nutzer ihren Getränkekonsum und die dabei  entstehenden Kosten verwalten können. Um die Anforderungen an ein  solches System zu sammeln und zu koordinieren ist dieses Seite da.&lt;br /&gt;
&lt;br /&gt;
=Generelle Fragen=&lt;br /&gt;
&lt;br /&gt;
== soll das Kassensystem auch für Besucher sein ==&lt;br /&gt;
&lt;br /&gt;
* Pro&lt;br /&gt;
** Zusammenrechner bei groesseren Bestellungen.&lt;br /&gt;
** Man sieht wieviel Geld in der BAR-Kasse seien sollte.&lt;br /&gt;
&lt;br /&gt;
* Con&lt;br /&gt;
** zu aufwändig&lt;br /&gt;
&lt;br /&gt;
: Im Abschnitt Rollen steht ein Vorschlag für die Lösung des Problems&lt;br /&gt;
&lt;br /&gt;
=Anforderungen=&lt;br /&gt;
&lt;br /&gt;
==harte Anforderungen==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Das soll das System unbedingt leisten&#039;&#039;&lt;br /&gt;
* Der Frundler soll eine Übersicht bekommen was er der Frunde schuldet / wieviel Restguthaben er noch hat&lt;br /&gt;
* Überwachen der maximalen Kalorienzufuhr pro Tag/woche - überwachen eines Ernährungsplanes&lt;br /&gt;
* Verhindern von Indikationen nach ICD-10 Klassifikation F15.3 (langsames Ausschleichen)&lt;br /&gt;
* Verhinderung von Über und Unterdosierung von 1,3,7-Trimethyl-3,7-dihydro-1H-purin-2,6-dion&lt;br /&gt;
&lt;br /&gt;
==weiche Anforderungen==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;sind für die 1.x-Reihe nicht ganz so wichtig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fremdbuchungen à la &amp;quot;bring mir mal was mit&amp;quot; (gleich Feld [Gebucht von] oder so mit einbauen)&lt;br /&gt;
* Das Getränk wird am Terminal per Barcode-Scan eingegeben&lt;br /&gt;
* Anstatt einer Frunden-geldkarte wird  per RFID die Mensakarte genommen&lt;br /&gt;
* Getränke/Speisekarte als PDF exportierbar machen um sie an den Kühlschrank zu hängen&lt;br /&gt;
* Achivement-System für z.B. 10 Mate in Reihe/Tag (oder ggf. Gesundheitswarnung)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=Interface/Plattform=&lt;br /&gt;
Für die Umsetzung sollte zumindest klar sein was später rauskommen soll:&lt;br /&gt;
* Touchscreen&lt;br /&gt;
** muss erst wieder Touch haben --[[Benutzer:Jörg F|Jörg F]] 10:47, 26. Sep. 2010 (CEST)&lt;br /&gt;
*** leider läuft der Touch nur unter nem extrem alten X --[[Benutzer:Jungnickel|Jungnickel]] 10:57, 26. Sep. 2010 (CEST)&lt;br /&gt;
****  Ja und nein. Ich habe ihn in der Konsole mit gpm zum Laufen gebracht,  gpm kann einen socket für X zur Verfügung stellen, wo die Daten  rausfallen. Also gpm als Proxy. --[[Benutzer:Mutax|Florian]] 14:19, 26. Sep. 2010 (CEST)&lt;br /&gt;
***** Das ist ne gute idee... warum nicht gleich auf X verzichten? In der C-Base haben sie auch nur text-mode interfaces fuer ihr kassensystem, und jeder ist zufrieden mit. Ist doch viel geekiger :D --[[Benutzer:Andrew|Andy[DE]]]&lt;br /&gt;
** für jeden zugänglich --[[Benutzer:Jörg F|Jörg F]] 10:47, 26. Sep. 2010 (CEST)&lt;br /&gt;
** Leichter Zugang für Gäste und schnelle Mate trinker/käufer --[[Benutzer:Jungnickel|Jungnickel]] 10:57, 26. Sep. 2010 (CEST)&lt;br /&gt;
* Browser&lt;br /&gt;
** man muss nen Laptop mit Internet dabei haben --[[Benutzer:Jörg F|Jörg F]] 10:47, 26. Sep. 2010 (CEST)&lt;br /&gt;
** es können parallel Getränke gekauft werden --[[Benutzer:Jungnickel|Jungnickel]] 10:57, 26. Sep. 2010 (CEST)&lt;br /&gt;
** den Verbrauch und Kontostand sollte einsehbar sein ohne an den Touchscreen zu gehen. --[[Benutzer:Jungnickel|Jungnickel]] 10:57, 26. Sep. 2010 (CEST)&lt;br /&gt;
** Komplexere Seiten (Geld aufladen etc) sind vllt. leichter für den Browser zu implementieren--[[Benutzer:Jungnickel|Jungnickel]] 10:57, 26. Sep. 2010 (CEST)&lt;br /&gt;
* Konsole&lt;br /&gt;
** wird wohl eher nicht angenommen da zu aufwändig&lt;br /&gt;
&lt;br /&gt;
=Use cases=&lt;br /&gt;
&#039;&#039;Der Warenverwaltungsaspekt fehlt hier noch völlig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Man sollte hier vielleicht sowas wie die (nummerierten) Haupt-Usecases rauspellen und unten dran eine Liste mit den Varianten stellen (die CLI-Fälle sind vermtl. alle Varianten der Kiosk-Fälle)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Frundler konsumiert:&lt;br /&gt;
## Der Frundler authentifiziert sich am System&lt;br /&gt;
## Der Frundler sagt dem System er kauft ein Getränk&lt;br /&gt;
## Das System belastet das Konto des Frundlers mit dem genommenen Getränk&lt;br /&gt;
# Gast konsumiert:&lt;br /&gt;
## Der Gast sagt dem System er kauft ein Getränk.&lt;br /&gt;
## Der Gast legt den zum Getränk passenden Betrag in die Barkasse&lt;br /&gt;
## Der Gast nimmt sich das Getränk&lt;br /&gt;
# Bucher laedt Frundlerkonto auf &lt;br /&gt;
## Der Frundler gibt dem Bucher $Geld Euro&lt;br /&gt;
## Der Bucher authentifiziert sich am System&lt;br /&gt;
## Er hebt den Betrag vom Buchungskonto ab&lt;br /&gt;
## Er laedt das Geld auf das Frundlerkonto&lt;br /&gt;
# Bucher leeren Kasse&lt;br /&gt;
## Der Bucher authentifiziert sich am System&lt;br /&gt;
## Der Bucher nimmt das Geld aus der Barkasse&lt;br /&gt;
## Der Bucher bucht das Geld vom Barkassenkonto auf sein Konto&lt;br /&gt;
# Bucher gibt Geld an Kassenwart weiter&lt;br /&gt;
## Der Bucher gibt dem Kassenwart (auch per Banktransfer) das gewartete Geld&lt;br /&gt;
## Der Kassenwart authentifiziert sich am System&lt;br /&gt;
## Er entlastet das Konto des Buchers&lt;br /&gt;
&lt;br /&gt;
CLI-Fälle der obigen Varianten (alle?)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Folgende Faelle werden nur vom Admin im Auftrag des Getraenkewartes durchgefuehrt&#039;&#039;&lt;br /&gt;
* Ein neues Getränk anlegen&lt;br /&gt;
* Den Preis eines Getränks verändern&lt;br /&gt;
&lt;br /&gt;
==Rollen==&lt;br /&gt;
Es gibt also folgende Rollen:&lt;br /&gt;
Rollen: Gast, Frundler, Bucher, Kassenwart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kommentare:&#039;&#039;&#039;&lt;br /&gt;
*  Brauchen wir wirklich einen Bucher und einen Kassenwart (als Rolle)?  Die Rolle des Buchers scheint mir überflüssig und auch für den Bucher zu  stressig. Da eh auch jeder einfach so ohne zu Bezahlen Mate klauen  könnte, wäre ein Bucher der wie ein Barman darauf achtet ob wirklich  bezahlt wird schon zuviel Stasi. Ich denke da wir eh darauf vertrauen  (müssen), dass die Leute bezahlen, is ein Bucher überflüssig??? Wenn der  Bucher rausfällt, dann fliegt vllt. auch der Kassenwart mit raus, da  der ohne den Bucher keine Aufgabe mehr hat. --[[Benutzer:Jungnickel|Jungnickel]] 09:24, 25. Sep. 2010 (CEST)&lt;br /&gt;
::  Der Kassenwart hat Zugriff aufs Bankkonto der Frunde. Von diesem Konto  werden die Getraenke bezahlt. Auf dieses Konto muss irgendwie das  bezahlte Geld auch wieder kommen... (darum finde ich seine Rolle  wichtig).  Bucher hingegen koennte jeder werden. Der Bucher hat aber  dafuer zu sorgen, dass nicht zuviel Bargeld in der Frunde &#039;&#039;herrumliegt&#039;&#039;. Darum finde ich das Bargeld-aufladen eines frundenkontos in Form direkter Bezahlung an den Bucher schon sinnvoll! --[[Benutzer:Tkroenert|Tkroenert]] 12:18, 10. Okt. 2010 (CEST)&lt;br /&gt;
:::  Okay, klar dafür brauchen wir einen Kassenwart, aber an welcher Stelle  der was mit dem System zutun hat hab ich noch nicht geblickt. Zahlung  per Überweisung fand ich auch eine interessante Sache. Das Problem mit  der Rolle des Buchers ist, dass ich scheinbar nur mein Konto aufladen  kann wenn der Bucher da ist. Ich würde da auch vorschlagen: jeder ist  Bucher und kann sein Konto aufladen indem er 10€ (oder überweist) in die  Kasse wirft und dies in seinem Konto vermerkt. Also eine Rolle Bucher  der nur dafür da ist das Geld einzusacken und es auf die  unterschiedlichen Konten aufzuladen brauchen wir nicht oder? Dass können  die Frundler auch selbst machen. --[[Benutzer:Jungnickel|Jungnickel]] 13:19, 10. Okt. 2010 (CEST)&lt;br /&gt;
:::: Wenn jmd. sein Konto auflaedt, dann wahrschein mit 10EUR oder  20EUR. Wenn nun ein paar Leute mal ihr Konto aufladen liegen schnell  100Euro in der Frunde. Ich sehe das ungern - nicht das ich jmd. der  Keymembers nicht vertraue.. es gibt nur momente wo mir viele unbekannte  in der Frunde auch mal sind.  Und um nun Geld aus der Frunde aufs Konto  zu bekommen gibs den Bucher. Jeder koennte das sein.. klar! Aber eben  nicht jeder hat die ganzen daten.. also gibs dieses als Rolle. bzw.: Es  kann auch mehrere Bucher geben ; )   Und wegen ueberweisen: Das ist  natuerlich was anderes!! --[[Benutzer:Tkroenert|Tkroenert]] 23:54, 15. Okt. 2010 (CEST)&lt;br /&gt;
::::: Nur um wirklich letzte Klarheiten auszuräumen: Was unterscheidet den View eines Frundlers von dem eines Buchers am System? Was kann der Bucher mehr als der Frundler (am System)? --[[Benutzer:Jungnickel|Jungnickel]] 09:54, 16. Okt. 2010 (CEST)&lt;br /&gt;
:::::: Wenn jetzt JEDER Bucher wäre dann würde diese Klasse doch ad absurdum geführt. Wenn wir den Frundlern nicht vertrauen dann macht das alles keinen Sinn. Warum überweist man nicht &amp;quot;einfach&amp;quot; reales Geld von seinem Realen Konto auf das Reale Konto der frunde? Und trägt das dann selbst ins System ein? Das Bar zahlen kann man ja immernoch nebenher machen. Aber das würde den Bargeld bestand in der Frunde drastisch reduzieren. Dazu kommt die möglichkeit der dauerüberweisung. Natürlich müsste dann ein &amp;quot;Kassenwart&amp;quot; den Geld bestand zwischen Bargeld inner Frunde und Geld eingang aufm Konto überprüfen. Wobei man ja bei der Einzahlung eine $Var nehmen könnte Bar/Überweisung, und das system hält es für den Kassenwart getrennt vor wie viel in der Dose liegen müsste und was aufs Konto gekommen sein müsste.&lt;br /&gt;
* Wenn der Gast eine Gast-Karte  bekommt (die quasi immer neben dem Scanner liegt), fliegt auch der Gast  als Akteur raus, da er dann wie ein Frundler gehandled werden kann. Der  Gast bezahlt eh immer in Bar, das wissen wir ja. --[[Benutzer:Jungnickel|Jungnickel]] 09:34, 25. Sep. 2010 (CEST)&lt;br /&gt;
:: ja, das ist eine gute Loesung! --[[Benutzer:Tkroenert|Tkroenert]] 23:54, 15. Okt. 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
=Modelle=&lt;br /&gt;
Objekt: Karte, Konto.&amp;lt;br /&amp;gt;&lt;br /&gt;
Konto-Aspekte:&lt;br /&gt;
* Quota (von -x bis +y)&lt;br /&gt;
* Quota ist Attribut eines Kontos (einfacher als nach Kontentypen zu differenzieren)&lt;br /&gt;
* immer einer Karte zugeordnet (ist das im Fall des Master-Kontos angemessen?)&lt;br /&gt;
* jede Karte kann auf ein zugeordnetes Konto verweisen (&amp;quot;Konsumkonto&amp;quot;)&lt;br /&gt;
* es gibt Karten die zusätzlich noch ein Bucherkonto haben&lt;br /&gt;
* intervall wieviel/welche getränke von letztem Zeitpunkt getrunken wurden angeben&lt;br /&gt;
&lt;br /&gt;
Den letzten Punkt würde ich noch zurückhalten, bis das Getränkeproblem s.w.u. gelöst ist&lt;br /&gt;
&lt;br /&gt;
==Subtypen und so==&lt;br /&gt;
&lt;br /&gt;
Subtypen von Konto: Kasse, Frundler, Bucher, Gast&lt;br /&gt;
&lt;br /&gt;
Es   erscheint am einfachsten, im System nicht weiter zwischen  verschiedenen  Kontentypen zu differenzieren. Das Quota etwa kann ja  ruhig wie oben  geschrieben als Attribut am Konto kleben, beim  Notifizieren wird uns  sicher ähnliches einfallen. Um dennoch für uns  zwischen den  verschiedenen Zwecken der Konten zu unterscheiden, bekommt  jedes Konto  noch ein Namensattribut.&lt;br /&gt;
&lt;br /&gt;
==Getränke==&lt;br /&gt;
&lt;br /&gt;
Hier   liegt noch einiges im Argen: Wir wollen mit Sicherheit die   verschiedenen verfügbaren Getränketypen (Mate, Cola, ...) in einer   Tabelle speichern, und daraus u.A. das manuelle Getränkemenü zu   generieren etc.&lt;br /&gt;
Da steht dann auch der Preis dran. Dann gibt es zwei Möglichkeiten:&lt;br /&gt;
*  keine abgeschlossene Transaktion verweist auf ein solches Getränk   (sonst ändert sich die Transaktion, wenn das Getränk einen anderen   &amp;quot;Preis&amp;quot; bekommt)&lt;br /&gt;
* wenn wir den &amp;quot;Preis&amp;quot; für Mate erhöhen, legen wir mehrere Mate-Einträge   an, einmal mit altem Preis, einmal mit neuem, und konsumieren kann man   nur nach aktuellem Preis, die alte erscheint nicht im Menü&lt;br /&gt;
&lt;br /&gt;
Beides ist irgendwie häßlich. Vorschläge?&lt;br /&gt;
&lt;br /&gt;
* Warum nicht den Preis beim Erstellen der Transaktion ins Transaktionsobjekt kopieren?&lt;br /&gt;
*  Getränkeobjekte und Preisobjekte getrennt anlegen. Preise sind einem   Getränkeobjekt zugeordnet und haben nebem einem Preis ein Startdatum.   Somit können alle Preisänderungen problemlos nachvollzogen werden und   nichts wird redundant gespeichert. So habe ich das bei meiner   Getränkekasse gelöst. (externer Kommentar von tblank@gmx.net)&lt;br /&gt;
&lt;br /&gt;
=weitere Aspekte=&lt;br /&gt;
===Logging===&lt;br /&gt;
* Jede Transaktion, wer von wo nach wo wie viel und wann und aus welchem Anlass erscheint im System. (auch wenn welches Getränk)&lt;br /&gt;
**  Bitte versuchen das Prinzip der Datensparksamkeit nicht zu vergessen.  Daten die nicht gespeichert sind können auch nicht wegkommen --[[Benutzer:Bmay|Bmay]] 19:48, 10. Okt. 2010 (CEST)&lt;br /&gt;
* Löschen von Transaktionen solange sie noch nicht commited ist (Session nicht vorbei) ist möglich&lt;br /&gt;
* Wie sieht ein Commit in der Logik aus?&lt;br /&gt;
* Sonstige Löschvorgänge von Transaktionen ist nicht möglich&lt;br /&gt;
**  Ich nehme an, damit ist das Löschen durch den Nutzer selbst gemeint.  Ein &amp;quot;Storno&amp;quot; sollte zumindest der Admin und ggF. der Bucher können um  Irrtümer zu korrigieren, für Testzwecke, etc. --[[Benutzer:Bmay|Bmay]] 19:48, 10. Okt. 2010 (CEST)&lt;br /&gt;
:: Loeschmoeglichkeit der in den letzten n Minuten getaetigten Buchungsvorgaenge wuerde alle Probleme loesen.. --[[Benutzer:Tkroenert|Tkroenert]] 23:54, 15. Okt. 2010 (CEST)&lt;br /&gt;
* Frundler kann seine kürzlich gekauften Getränke einsehen.&lt;br /&gt;
:: History ueber getaetigte Buchungen... --[[Benutzer:Tkroenert|Tkroenert]] 23:54, 15. Okt. 2010 (CEST)&lt;br /&gt;
** Auch hier wieder, Datensparksamkeit. Eine Möglichkeit zum Abruf eines digitalen Kontoauszugs wäre gut - danach kann die entsprechende Liste wieder gelöscht oder zumindest verschlüsselt zum Backup abgespeichert werden. --[[Benutzer:Bmay|Bmay]] 19:48, 10. Okt. 2010 (CEST)&lt;br /&gt;
===Notification===&lt;br /&gt;
* Kassenwart muss über Geldübergabe an Bucher benachrichtigt werden&lt;br /&gt;
** Eventuell lässt sich hier eine Mail, Jabber, Statusneet, whatever Lösung basteln --[[Benutzer:Bmay|Bmay]] 19:48, 10. Okt. 2010 (CEST)&lt;br /&gt;
* Bei MaxBetrag in Kasse muessen die Bucher benachrichtigt werden&lt;/div&gt;</summary>
		<author><name>92.225.98.158</name></author>
	</entry>
</feed>