Οδηγός χρήσης προσωπικού Staff user guide
Οδηγίες για σερβιτόρους, κουζίνα, ταμείο, διαχειριστές και διαχειριστές συστήματος. Η διεπαφή προεπιλέγεται στα Ελληνικά — μπορείτε να αλλάξετε γλώσσα από τη γραμμή πλοήγησης (ΕΛ / EN).
Instructions for waiters, kitchen, cashiers, managers, and administrators. The interface defaults to Greek — switch language from the navigation bar (ΕΛ / EN).
Έναρξη & σύνδεση
Getting started & login
Ανοίξτε την εφαρμογή στον browser του υπολογιστή ή του κινητού (π.χ. http://127.0.0.1:8765 στον τοπικό server). Η θύρα προεπιλογής είναι 8765, όχι 8000.
Open the app in your computer or phone browser (e.g. http://127.0.0.1:8765 on a local server). The default port is 8765, not 8000.
Τρόποι σύνδεσης
Login methods
Κωδικός πρόσβασης — /login/
Password login — /login/
Όνομα χρήστη + κωδικός. Κατάλληλο για προσωπικό με δικό του λογαριασμό.
Username and password. Best for staff with their own account.
Γρήγορη σύνδεση PIN — /login/pin/
PIN quick login — /login/pin/
4ψήφιο PIN σε μεγάλο πληκτρολόγιο — ιδανικό για κοινό tablet σερβιτόρων. Με την επιτυχή σύνδεση ξεκινά η βάρδια (active shift).
4-digit PIN on a large keypad — ideal for a shared waiter tablet. A successful login starts the active shift.
Λογαριασμοί επίδειξης (demo)
Demo accounts
| Ρόλος | Role | Χρήστης | Username | Κωδικός | Password | PIN |
|---|---|---|---|---|---|---|
| Διαχειριστής συστήματος | Admin | admin | admin1234 | 0000 | ||
| Διαχειριστής | Manager | manager | manager1234 | 1111 | ||
| Σερβιτόρος | Waiter | waiter | waiter1234 | 2222 | ||
| Κουζίνα | Kitchen | kitchen | kitchen1234 | 3333 | ||
| Ταμείο | Cashier | cashier | cashier1234 | 4444 |
http://<IP-υπολογιστή>:8765/login/pin/ και συνδεθείτε με PIN 2222.
http://<computer-IP>:8765/login/pin/ and sign in with PIN 2222.
Windows — γρήγορη εκκίνηση
Windows — quick start
Για PC με Windows 10/11 χωρίς Command Prompt: κατεβάστε το ZIP από GitHub, εξαγάγετέ το και κάντε διπλό κλικ στο Start-BarestoManager.bat (δίπλα στο manage.py).
On Windows 10/11 without using Command Prompt: download the GitHub ZIP, extract it, and double-click Start-BarestoManager.bat (next to manage.py).
- Την πρώτη φορά, ο launcher εγκαθιστά Python (μέσω
wingetαν λείπει), βιβλιοθήκες,.envκαι migrations — μπορεί να πάρει 5–15 λεπτά. - On first run, the launcher installs Python (via
wingetif missing), libraries,.env, and migrations — may take 5–15 minutes. - Ανοίγει αυτόματα ο browser στο /login/. Αφήστε το παράθυρο κονσόλας ανοιχτό· Ctrl+C για διακοπή.
- Your browser opens /login/ automatically. Leave the console window open; press Ctrl+C to stop.
- Για κινητά στο ίδιο Wi‑Fi, ο launcher προσθέτει κανόνα firewall για θύρα 8765. Αν το κινητό δεν συνδέεται, τρέξτε ως διαχειριστής το
scripts\windows\Add-Firewall-Rule.bat. - For phones on the same Wi‑Fi, the launcher adds a firewall rule for port 8765. If the phone still cannot connect, run
scripts\windows\Add-Firewall-Rule.batas administrator. - Προαιρετικά: χτίστε BarestoManager.exe με
scripts\windows\build-exe.bat(μόνο σε Windows). - Optional: build BarestoManager.exe with
scripts\windows\build-exe.bat(Windows PC only).
Ρόλοι & δικαιώματα
Roles & permissions
Μετά τη σύνδεση, η αρχική σελίδα εξαρτάται από τον ρόλο: κουζίνα → οθόνη κουζίνας, όλοι οι άλλοι → τραπέζια.
After login, the home page depends on role: kitchen → kitchen display, all other roles → tables.
Waiter ΣερβιτόροςWaiter
Τραπέζια, παραγγελίες, αποστολή στην κουζίνα, παράδοση έτοιμων πιάτων, κλείσιμο τραπεζιού (με επιλογή πληρωμής), ιστορικό παραγγελιών.
Tables, orders, send to kitchen, mark ready items delivered, close table (with payment selection), order history.
Cashier ΤαμείοCashier
Ίδια πλοήγηση με σερβιτόρο (τραπέζια, παραγγελίες). Επιπλέον δικαιώματα για έκπτωση και κλείσιμο λογαριασμού (όπου υλοποιηθεί στη ροή).
Same navigation as waiter (tables, orders). Extra permissions for discounts and closing bills (where implemented in the flow).
Kitchen ΚουζίναKitchen
Μόνο η οθόνη κουζίνας (KDS): λήψη παραγγελιών, ενημέρωση κατάστασης ανά πιάτο, φίλτρο σταθμού (κουζίνα / bar / grill).
Kitchen display (KDS) only: receive orders, update item status, filter by station (kitchen / bar / grill).
Manager ΔιαχειριστήςManager
Μενού (δίγλωσσο), εταιρεία / νομικά στοιχεία, QR επισκεπτών, τραπέζια & όροφοι, κάτοψη, αναφορές, κουζίνα.
Bilingual menu, company details, guest QR, tables & floors, floor plan, reports, kitchen access.
Admin Διαχ. συστήματοςAdministrator
Ό,τι ο διαχειριστής, συν διαχείριση χρηστών προσωπικού (/staff/users/).
Everything a manager can do, plus staff user management (/staff/users/).
Σερβιτόρος / ταμείο — ροή εργασίας
Waiter / cashier — workflow
1. Τραπέζια (/tables/)
1. Tables (/tables/)
Δείτε λίστα ή κάτοψη όρου. Φιλτράρετε ανά όροφο. Χρώματα κατάστασης:
View list or floor plan. Filter by floor. Status colours:
Το badge «έτοιμα» δείχνει πόσα πιάτα είναι έτοιμα από την κουζίνα αλλά δεν έχουν παραδοθεί ακόμα. Στην κεφαλίδα παραγγελίας εμφανίζεται ένα badge (όχι διπλότυπο).
The ready badge shows how many kitchen-ready items have not been delivered yet. On the order screen, a single badge appears in the header.
Ειδοποιήσεις στην οθόνη τραπεζιών
Alerts on the tables screen
- Κλήση σερβιτόρου: όταν πελάτης πατά «Καλέστε σερβιτόρο» στο QR μενού, εμφανίζεται modal με τραπέζι/όροφο (ήχος + ειδοποίηση).
- Τραπέζι έκλεισε: όταν άλλος σερβιτόρος κλείνει τραπέζι, η οθόνη /tables/ ενημερώνεται live (modal «Το τραπέζι έκλεισε», επιλογή εκτύπωσης απόδειξης).
- Σε κινητό: πατήστε την μπάρα Tap to enable sound & alerts μία φορά για ήχο και ειδοποιήσεις.
- Guest calls waiter: when a customer taps Call waiter on the QR menu, a modal shows table/floor (sound + notification).
- Table closed: when another device closes a table, /tables/ updates live (modal “Table is closed”, option to print receipt).
- On mobile: tap Tap to enable sound & alerts once for sound and notifications.
2. Άνοιγμα τραπεζιού & παραγγελία
2. Open table & order
- Πατήστε Άνοιγμα τραπεζιού σε ελεύθερο τραπέζι — ορίστε αριθμό καλυψών (ατόμων).
- Tap Open table on a free table — set cover count (number of guests).
- Ανοίγει η οθόνη παραγγελίας (/orders/new/<session>/) — βελτιστοποιημένη για κινητό.
- The ordering screen opens (/orders/new/<session>/) — optimised for mobile.
- Πατήστε κατηγορία → πιάτο για προσθήκη. Το συρτάρι παραγγελίας (κάτω) δείχνει live το σύνολο.
- Tap category → dish to add. The order drawer (bottom) shows the live total.
- Προαιρετικά: σημειώσεις ανά πιάτο, modifiers αν υπάρχουν.
- Optional: notes per item, modifiers where configured.
- Σε κινητό, η οθόνη παραγγελίας χρησιμοποιεί μεγαλύτερα γράμματα και κουμπιά για ευκολότερη χρήση με το δάχτυλο.
- On mobile, the order screen uses larger text and buttons for easier one-handed use.
3. Αποστολή στην κουζίνα
3. Send to kitchen
- Όταν υπάρχουν νέα πιάτα (δεν έχουν σταλεί ακόμα), πατήστε Αποστολή στην κουζίνα στο συρτάρι παραγγελίας (κάτω).
- When there are new items (not yet sent), tap Send to kitchen in the order drawer (bottom).
- Ανοίγει πλήρους οθόνης βήμα: προαιρετικά γράψτε Σημείωση κουζίνας (π.χ. αλλεργία, χωρίς πάγο, σερβίρετε μαζί).
- A full-screen step opens: optionally enter a Kitchen note (e.g. allergy, no ice, serve together).
- Πατήστε Αποστολή παραγγελίας για αποστολή ή Ακύρωση για επιστροφή χωρίς αποστολή.
- Tap Send order to send, or Cancel to go back without sending.
- Τα νέα πιάτα περνούν στην κουζίνα· η οθόνη KDS ενημερώνεται σε πραγματικό χρόνο. Η σημείωση εμφανίζεται στην κουζίνα στο ticket και στο modal νέας παραγγελίας.
- New items go to the kitchen; the KDS updates in real time. The note appears on kitchen tickets and in the new-order alert modal.
- Μπορείτε να συνεχίσετε να προσθέτετε πιάτα και να στέλνετε ξανά (κάθε αποστολή μπορεί να έχει δική της σημείωση).
- You can keep adding items and sending again (each send can include its own note).
4. Έτοιμα πιάτα & ειδοποιήσεις
4. Ready items & alerts
Όταν η κουζίνα σημάνει πιάτο ως έτοιμο, λαμβάνετε ειδοποίηση (ήχος / websocket). Στην παραγγελία ή στα τραπέζια, σημειώστε το πιάτο ως παραδομένο όταν το σερβίρετε.
When the kitchen marks an item ready, you get an alert (sound / WebSocket). On the order or tables screen, mark the item delivered when served.
5. Κλείσιμο τραπεζιού, πληρωμή & απόδειξη
5. Close table, payment & receipt
- Πατήστε Κλείσιμο τραπεζιού όταν οι πελάτες φύγουν.
- Tap Close table when guests leave.
- Επιλέξτε Πληρωμή σε πλήρους οθόνης παράθυρο: Μετρητά ή Πιστωτική κάρτα, μετά Επιβεβαίωση και κλείσιμο (ή Ακύρωση για επιστροφή).
- Choose Payment in a full-screen step: Cash or Credit card, then Confirm and close (or Cancel to go back).
- Το σύστημα δεν επιτρέπει κλείσιμο αν: υπάρχουν μη αποσταλμένα πιάτα, πιάτα ακόμα στην κουζίνα, ή έτοιμα πιάτα που δεν παραδόθηκαν.
- The system blocks closing if: unsent items remain, items are still in the kitchen, or ready items were not delivered.
- Μετά το κλείσιμο: δημιουργείται λογαριασμός με τον τρόπο πληρωμής, το τραπέζι γίνεται ελεύθερο, ανακατευθύνεστε στο /tables/.
- After closing: a bill is created with the payment method, the table becomes free, you are redirected to /tables/.
- Εμφανίζεται μήνυμα «Το τραπέζι έκλεισε» και modal με τρόπο πληρωμής (έντονα), Εκτύπωση απόδειξης, Όχι τώρα ή κουμπί κλεισίματος (×). Η απόδειξη δείχνει τον τρόπο πληρωμής.
- A “Table is closed” message and modal appear with the payment method (bold), Print receipt, Not now, or close (×). The receipt shows the payment method.
- Άλλες συσκευές στην /tables/ (π.χ. PC ταμείου) λαμβάνουν την ίδια ειδοποίηση σε πραγματικό χρόνο.
- Other devices on /tables/ (e.g. cashier PC) receive the same alert in real time.
Κουζίνα — οθόνη KDS
Kitchen — KDS display
Συνδεθείτε ως kitchen ή χρησιμοποιήστε PIN 3333. Ανοίγει αυτόματα η /kitchen/.
Sign in as kitchen or use PIN 3333. You land on /kitchen/ automatically.
Χρήση της οθόνης
Using the display
- Οι παραγγελίες εμφανίζονται ως tickets ανά τραπέζι, με νεότερες πρώτες.
- Φιλτράρετε ανά σταθμό: κουζίνα, bar, grill.
- Για κάθε πιάτο: Επόμενο / Advance — κατάσταση: αναμονή → προετοιμασία → έτοιμο → σερβιρισμένο.
- Αν ο σερβιτόρος έγραψε σημείωση κουζίνας, εμφανίζεται έντονα στο ticket και στο modal νέας παραγγελίας.
- Νέες παραγγελίες: ηχητική ειδοποίηση (αν ενεργή στο browser).
- Οι ενημερώσεις συγχρονίζονται live (WebSocket) σε όλες τις οθόνες κουζίνας.
- Orders appear as tickets per table, newest first.
- Filter by station: kitchen, bar, grill.
- Per item: Advance — status flow: pending → preparing → ready → served.
- If the waiter entered a kitchen note, it appears prominently on the ticket and in the new-order alert modal.
- New orders trigger a sound alert (if enabled in the browser).
- Updates sync live (WebSocket) across all kitchen screens.
Νέα παραγγελία — modal ειδοποίησης
New order — alert modal
Όταν ο σερβιτόρος στέλνει νέα πιάτα, εμφανίζεται modal «Νέα παραγγελία από σερβιτόρο» με τραπέζι, όροφο, λίστα πιάτων και προαιρετική σημείωση κουζίνας (ήχος + ειδοποίηση). Πατήστε OK ή κλείστε (×) για να συνεχίσετε. Σε κινητό/tablet: πατήστε μία φορά Tap to enable sound & alerts.
When a waiter sends new items, a “New order from waiter” modal shows table, floor, item list, and an optional kitchen note (sound + notification). Tap OK or close (×) to continue. On mobile/tablet: tap Tap to enable sound & alerts once.
Διαχειριστής — ρύθμιση & αναφορές
Manager — setup & reports
Μενού (/menu/)
Menu (/menu/)
- Προσθήκη / επεξεργασία κατηγοριών και πιάτων.
- Δίγλωσσα περιεχομένου: πεδία Ελληνικά (ΕΛ) και English (EN) — όνομα, περιγραφή.
- Διακόπτης διαθεσιμότητας (sold out) ανά πιάτο.
- Τιμές, allergens, dietary tags, modifiers (όπου ρυθμισμένα).
- Add / edit categories and dishes.
- Bilingual content: Greek (ΕΛ) and English fields — name, description.
- Availability toggle (sold out) per dish.
- Prices, allergens, dietary tags, modifiers (where configured).
Εταιρεία (/company/)
Company (/company/)
Νομικά στοιχεία, λογότυπο, στοιχεία που εμφανίζονται στο δημόσιο μενού επισκεπτών (GR/EN).
Legal details, logo, information shown on the public guest menu (GR/EN).
Τραπέζια & όροφοι (/tables/)
Tables & floors (/tables/)
- + Προσθήκη ορόφου — δημιουργία ορόφου (π.χ. Ισόγειο, Βεράντα).
- Προσθήκη / επεξεργασία / διαγραφή τραπεζιών, χωρητικότητα, ετικέτα.
- Κάτοψη (
?view=plan) — drag & drop θέσεων, αποθήκευση. - Ανάθεση σερβιτόρου σε τραπέζι.
- + Add floor — create floors (e.g. Ground, Terrace).
- Add / edit / delete tables, capacity, label.
- Floor plan (
?view=plan) — drag & drop layout, save. - Assign waiter to a table.
Αναφορές (/reports/)
Reports (/reports/)
Επιλέξτε εύρος ημερομηνιών. Δείτε έσοδα, αριθμό παραγγελιών, sessions, γραφήματα top πιάτων. Λήψη CSV από /reports/export/.
Pick a date range. View revenue, order count, sessions, top-items charts. Download CSV from /reports/export/.
Διαχειριστής συστήματος — χρήστες
Administrator — staff users
Μόνο ο ρόλος admin έχει πρόσβαση στο /staff/users/.
Only the admin role can access /staff/users/.
- Δημιουργήστε νέο χρήστη (/staff/users/new/): όνομα, email, ρόλος, PIN.
- Create a user (/staff/users/new/): name, email, role, PIN.
- Επεξεργαστείτε ρόλο, PIN, κατάστημα/υποκατάστημα (/staff/users/<id>/edit/).
- Edit role, PIN, branch assignment (/staff/users/<id>/edit/).
- Ρόλοι: admin, manager, waiter, cashier, kitchen — καθορίζουν μενού και δικαιώματα.
- Roles: admin, manager, waiter, cashier, kitchen — control menu access and permissions.
Μενού επισκεπτών (QR)
Guest menu (QR)
Ρύθμιση (διαχειριστής)
Setup (manager)
- Μενού → Μενού επισκεπτών (/menu/guest/).
- Menu → Guest menu (/menu/guest/).
- Προεπισκόπηση όπως το βλέπει ο πελάτης.
- Preview as the customer sees it.
- Εκτύπωση QR: ένα QR για όλα τα τραπέζια ή QR ανά τραπέζι (με όνομα τραπεζιού).
- Print QR: one QR for all tables or QR per table (includes table name).
- Βεβαιωθείτε ότι το
SITE_BASE_URLστο.envταιριάζει με τη δημόσια διεύθυνση (π.χ. LAN IP για δοκιμές). - Ensure
SITE_BASE_URLin.envmatches your public URL (e.g. LAN IP for testing).
Πελάτης (χωρίς σύνδεση)
Customer (no login)
| Τύπος | Type | URL |
|---|---|---|
| Ανά τραπέζι | Per table | /qr/<table-uuid>/ |
| Κοινό μενού | Shared menu | /qr/menu/<restaurant-uuid>/ |
Οι πελάτες σκανάρουν το QR, βλέπουν το μενού στη γλώσσα τους (GR/EN), allergens και διαθεσιμότητα. Μπορούν να πατήσουν Καλέστε σερβιτόρο — οι σερβιτόροι στην /tables/ λαμβάνουν ειδοποίηση με τραπέζι/όροφο.
Customers scan the QR, view the menu in their language (GR/EN), allergens, and availability. They can tap Call waiter — waiters on /tables/ get an alert with table/floor.
Διευθύνσεις URL — γρήγορη αναφορά
URL reference — quick lookup
| Path | Περιγραφή | Description |
|---|---|---|
| /login/ | Σύνδεση με κωδικό | Password login |
| /login/pin/ | Σύνδεση PIN | PIN login |
| /tables/ | Τραπέζια & κάτοψη | Tables & floor plan |
| /orders/new/<session>/ | Παραγγελία σερβιτόρου | Waiter ordering |
| /orders/ | Ιστορικό παραγγελιών | Order history |
| /kitchen/ | Οθόνη κουζίνας | Kitchen display |
| /tables/closed-alerts/ | Polling ειδοποιήσεων κλεισίματος τραπεζιού | Table-closed alert polling |
| /kitchen/alerts/ | Polling νέων παραγγελιών κουζίνας | Kitchen new-order alert polling |
| /orders/<id>/receipt/ | Απόδειξη / εκτύπωση | Receipt / print |
| /menu/ | Διαχείριση μενού | Menu management |
| /menu/guest/ | Μενού επισκεπτών & QR | Guest menu & QR |
| /company/ | Στοιχεία εταιρείας | Company details |
| /reports/ | Αναφορές πωλήσεων | Sales reports |
| /staff/users/ | Χρήστες (admin) | Staff users (admin) |
| /qr/<token>/ | Δημόσιο μενού | Public guest menu |
Συμβουλές & αντιμετώπιση προβλημάτων
Tips & troubleshooting
- Γλώσσα διεπαφής: ΕΛ / EN στη γραμμή πλοήγησης — αλλάζει labels, όχι τα δεδομένα μενού (αυτά επεξεργάζονται στο /menu/).
- Real-time: Τοπικά χρησιμοποιείται in-memory WebSocket· αν η κουζίνα δεν ενημερώνεται, ανανεώστε τη σελίδα ή ελέγξτε ότι ο server τρέχει.
- Κινητό δεν συνδέεται: Ίδιο Wi‑Fi, firewall, σωστή IP και θύρα 8765.
- QR δεν ανοίγει στο κινητό: Ελέγξτε
SITE_BASE_URLκαι τρέξτεpython manage.py generate_qr_codes. - Ήχος & ειδοποιήσεις: Σε κινητό/tablet, πατήστε Tap to enable sound & alerts μία φορά στην /tables/ ή /kitchen/.
- Αποστολή στην κουζίνα: Μετά την προσθήκη πιάτων, πατήστε Αποστολή στην κουζίνα — δεν χρειάζεται ανανέωση σελίδας. Αν δεν βλέπετε το κουμπί Αποστολή παραγγελίας, κάντε scroll στο modal ή ακυρώστε και ξανανοίξτε το βήμα.
- Κλείσιμο τραπεζιού: Επιλέξτε τρόπο πληρωμής (μετρητά/κάρτα) πριν την επιβεβαίωση· η απόδειξη εμφανίζει τον τρόπο πληρωμής.
- Δεν κλείνει το τραπέζι: Στείλτε όλα τα πιάτα, περιμένετε την κουζίνα, παραδώστε τα έτοιμα — μετά δοκιμάστε ξανά.
- Αποσύνδεση: Από το μενού προφίλ — τερματίζει και την ενεργή βάρδια.
- UI language: ΕΛ / EN in the nav bar — changes labels, not menu data (edit those at /menu/).
- Real-time: Local dev uses in-memory WebSockets; if KDS stalls, refresh or confirm the server is running.
- Phone won’t connect: Same Wi‑Fi, firewall, correct IP and port 8765.
- QR won’t open on phone: Check
SITE_BASE_URLand runpython manage.py generate_qr_codes. - Sound & alerts: On mobile/tablet, tap Tap to enable sound & alerts once on /tables/ or /kitchen/.
- Send to kitchen: After adding items, tap Send to kitchen — no page refresh needed. If you don’t see Send order, scroll within the modal or cancel and open the step again.
- Close table: Choose payment method (cash/card) before confirming; the receipt shows how the bill was paid.
- Can’t close table: Send all items, wait for kitchen, deliver ready items — then retry.
- Logout: From the profile menu — also ends the active shift.