Zu finden unter:
https://github.com/c3cashdesk/postix
Erfolgreich genutzt für BBQ2018
Was braucht eine Kasse und was sind die Voraussetzungen der Serverseite?
Kassensystem:
PC oder Raspberry mit $LinuxDistro
Touchdisplay das unter $LinuxDistro funktioniert (Ubuntu scheint da ganz gut mit Touch zu können! → Way to go)
Chromium Webbrowser kann am besten mit Touch umgehen und ist desshalb zu empfehlen
QR-Code Reader (gute Erfahrungen mit WBS2001, ließt schnell auch von Displays und kostet relativ wenig)
Thermodrucker für Kassenzettel der Einfachheit halber eigenen sich Geräte die „Standard“ sind z.B. Epson TM-T20 oder TM-T88
optimal mit LAN Anschluss sonst mehr frickel!
Kassenlade mit elektrischer öffnung, wird vom Drucker getriggert, die Dinger sind alle standardisiert z.B. Metapace K-2 ist günstig, stabil und default bei vielen Kassensystem Anbietern.
Optional USB Num Pad oder ganze Tastatur um den Rückgeldrechner zu nutzen
Server:
Linux Server mit Ubuntu16.04 oder neuer
Python 3.5 ist voraussetzung für das Postix
cups, cups-bsd und lpr muss installiert sein
Drucker Treiber bei Epson laden und Installieren nicht nur die PPD!
Drucker unter CUPS einrichten und PPD manuell hinzufügen
Howto Setup the Server
Ubuntu Server installieren (in dem fall 16.04 LTS Support bis 2021)
bei der Installation von Ubuntu direkt OpenSSH Server mitinstallieren das macht alles einfacher!
sudo apt update
(Paketlisten updaten)
sudo apt upgrade
(Software Updates herunterladen und installieren)
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
-
sudo apt install python3.5 python3-pip
-
-
sudo apt install cups-bsd
-
git clone https://github.com/c3cashdesk/postix.git
-
python3.5 -m pip install --upgrade setuptools pip
sudo python3.5 -m pip install -r requirements.txt
sudo python3.5 manage.py migrate
sudo python3.5 manage.py createsuperuser
screen sudo POSTIX_STATIC_ROOT=_static python3.5 manage.py runserver 10.100.0.11:8000
die IP muss der IP des servers entsprechen →ifconfig
Ab jetzt sollte der Postix Server unter der IP auf dem Port 8000 erreichbar sein:
Es gibt 4 Interfaces unter
ip:8000 →Kasseninterface
ip:8000/admin →django Admin Interface
ip:8000/backoffice → Admin Interface Postix
ip:8000/troubleshooter → Interface für Troubleshooter Angel
python manage.py export_redemptions gibt eine .json mit einlösungen aus die in Pretix importiert werden kann
python manage.py shell gibt ne interaktive shell für Pretix
Import dann über
from pretix.base.models import Checkin, Event, OrderPosition
import dateutil.parser
import json
event = Event.objects.get(slugiexact='euer_event_slug')
* with open('/path/to/file.json', 'r') as f:
* data = json.load(f)
* for d in data:
* op = OrderPosition.objects.get(secret=d['secret'], orderevent=event)
Checkin.objects.get_or_create(position=op, datetime=dateutil.parser.parse(d['datetime']))