# Allmende Bezahlsystem

## Grundlegende Ideen

Das Allmende Bezahlsystem ermöglicht es Bewohner*innen der Allmende Waren und Leistungen in der Allmende bequem und einfach zu bezahlen. 
Dazu gehören zum Beispiel:

* Das gemeinsame Essen
* Waren aus der Food-Coop
* Waschen und Trocknen
* Kaffee und Getränke im großen Gemeinschaftsraum

Das System ist leicht um weitere Waren und Leitungen zu erweitern.

#### Schnittstellen

Das System ist so gebaut, dass Schnittstellen zu anderen Systemen leicht gebaut werden können, anstatt deren Funktionalität zu integrieren. Beispiele:

* Essensanmeldung: Angemeldete Essen können automatisch eingelesen und bezahlt werden.
* Food-Coop-Waage: Das noch zu erstellende Waagensystem kann die Produkte für die Food-Coop auslesen, dem User zur Auswahl stellen und dann eine Transaktion mit der gekauften Menge ablegen.
* Warenwirtschaftssystem: Gekaufte Mengen in der Food-Coop können automatisch in ein Warenwirtschaftssystem der Food-Coop ausgeleitet werden.
* Buchhaltung: Alle für die Buchhaltung relevanten Daten können manuell oder automatisch exportiert werden.
* ...

### User

Das System ist über LDAP an die bestehende Cloud der Allmende angebunden, so können alle einfach ihren gewohnten Zugang verwenden.

#### Nutzer*innen-gruppen

Es wird folgende Nutzer*innen-gruppen geben:

* Normale Nutzer*innen: Können Transaktionen für ihre eigenen Konten eintragen und sehen
* Bereichsadmins: Können Produkte für ihnen zugeordnete Bereiche bearbeiten.
* Admins: Können alle Transaktionen sehen und exportieren (Buchhaltung)

### Konten

Guthaben im System werden auf **Konten** verwaltet. Durch Überweisung auf ein Konto des Hausvereins Allmende e.V. kann Guthaben aufgeladen werden. Da viele Haushalte ein gemeinsames Konto führen werden, aber einzelne User-Zugänge haben, können mehrere User zu einem Konto hinzugefügt werden.

Ein User kann auch auf mehrere Konten Zugriff haben, da es auch Gruppenkonten (z.B. AG Kochen) geben wird.

Konten werden von Admins angelegt und verwaltet.

Für jedes Konto kann jederzeit der **Kontoauszug** angesehen werden, eine vollständige Auflistung aller Transaktionen filterbar nach Zeitraum.

### Produkte

Alles was man im Bezahlsystem bezahlen kann ist ein **Produkt**. Produkte haben folgende Eigenschaften:

* Name
* Netto-Preis
* MwSt-Satz
* Abrechnungsgröße (Stück, kg, etc)
* Beschreibung
* ...

### Bereiche

Produkte können in Bereiche sortiert werden (Food-Coop, Waschküche, etc), so dass sie leichter gefunden werden können.

### Bezahlvorgang

Der standard Bezahlvorgang läuft wie folgt ab:

* User loggt sich ein
* Wählt Produkt aus, stellt Menge ein
* Drückt auf Bezahlen

Transaktionen bleiben für 24 Stunden für den User bearbeit- und löschbar, um Fehler selbst zu korrigieren. Danach ist dies nur noch durch Admins möglich.

#### PoS (Point of Sales) - Setup

Für maximalen Komfort sollte es am Ort des Einkaufs (Waschküche, Food-Coop, Kaffeemaschine) möglich sein, direkt die Bezahlung durchzuführen. Dafür ist es denkbar dort Tablets aufzuhängen über man schnell sein Konto auswählt und den Einkauf aus einem vorausgewählten Sortiment (etc. in der Waschküche nur Waschen und Trocknen).

Fraglich ist hier, welche Art der Authentifizierung man hier wählt. Jedes Mal Nutzer und Passwort eingeben zu müssen kann eine zu hohe Hürde sein. Denkbar wäre es, diese Transaktionen durch eine kürzere PIN zu autorisieren oder sogar ganz auf das Vertrauenssystem (keine Authentifizierung am PoS) zu setzen.

Es ist natürlich auch möglich, die Papierlisten erstmal beizubehalten und die Striche dann von Admins ins System übertragen zu lassen. So kann man das System schrittweise einführen.



