C3Cashdesk aka. Postix
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 reboot
sudo apt install python3.5 python3-pip
sudo apt install git
sudo apt install lpr
sudo apt install cups-bsd
sudo apt install screen
git clone https://github.com/c3cashdesk/postix.git
cd postix
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']))