💬 Telegram Bot

Τι είναι: Bot για ειδοποιήσεις προσωπικού. Το token παίρνεται από το BotFather (/newbot). Οι χρήστες κάνουν /start και στέλνουν το κινητό τους — το σύστημα τους αντιστοιχίζει μέσω USERS.UserMobilePhone και αποθηκεύει το chat_id στο USERS.CCCSTJSONAPPID.
📥 Import από Connectoras Live
Φόρτωση token + αντιστοίχιση χρηστών Telegram από τον φάκελο C:\connectoras_live.

Καταχωρημένοι χρήστες Telegram

Χρήστες με Telegram chat_id. Email: users.EMAIL · Portal user: users.CCCSTGMAILUSERNAME.
Όνομα Κινητό Εταιρία Chat ID Email Portal user Πρόσβαση
Φόρτωση...

Εκκρεμείς αντιστοιχίσεις

Χρήστες με κινητό αλλά χωρίς αντιστοίχιση Telegram. Πρέπει να κάνουν /start στο bot και να στείλουν το κινητό τους.
Όνομα Κινητό Email Κατάσταση
Φόρτωση...

🔗 SoftOne Web Services login config ανά εταιρία

SN (subdomain): κοινό για όλες — π.χ. kalestimes για https://kalestimes.oncloud.gr. Κάθε εταιρία έχει ξεχωριστό login.
⏳ Φόρτωση...

🖨 Εκτύπωση & Email Παραστατικών (PDF)

Πώς λειτουργεί: Στο returns.html → "Έλεγχος Παραστατικών" κάθε γραμμή έχει κουμπιά 🖨 PDF και 📧 Email. Το PDF παράγεται μέσω SoftOne custom JS module (kalestimes.printFindoc) με X.PRINTFORM(prtId, "PDF", path) και cache-άρεται στον φάκελο invoices/.

🔢 Printout ID — Kazepi Group (CO 20)

Numeric ID εκτυπωτικού στο SoftOne. Default: 2042

🔢 Printout ID — Καζέπη Ατομική (CO 6)

Numeric ID εκτυπωτικού. Αν είναι ίδιο με CO 20, βάλε ίδια τιμή.
Placeholders για το Email στον προμηθευτή: {{supplier}} όνομα προμηθευτή · {{trdr_code}} κωδικός προμηθευτή · {{fincode}} κωδ. παραστατικού · {{trndate}} ημ/νία · {{sumamnt}} ποσό · {{company}} εταιρία · {{age_days}} ημέρες

📦 Ειδοποιήσεις Επιστροφών

Πώς λειτουργεί: Daily job ελέγχει ληγμένα ανοιχτά πιστωτικά προς προμηθευτές (SERIES=2042, FULLYTRANSF=0). Αν days_employee ξεπεραστούν → email σε όλους τους managers. Αν days_supplier_1 ξεπεραστούν → φιλικό email στον προμηθευτή. Αν days_supplier_2 ξεπεραστούν → αυστηρό email στον προμηθευτή.

👥 Ημέρες πριν alert εργαζομένων

Λήπτες: managers · Κανάλια: 📧 Email + 💬 Telegram + 📱 SMS

📧 Ημέρες — 1ο email προμηθευτή

Λήπτης: ο προμηθευτής (TRDR.EMAIL). Φιλικός τόνος.

⚠️ Ημέρες — αυστηρό email προμηθευτή

Λήπτης: ο προμηθευτής. Αυστηρός τόνος.
Placeholders: {{supplier}} όνομα προμηθευτή · {{days}} max ημέρες ληγμένου · {{count}} πλήθος ληγμένων · {{docs_table}} HTML πίνακας παραστατικών · {{total}} σύνολο ποσού · {{company}} εταιρία

📅 Ιστορικό αποστολών τελευταίες 30 ημέρες

Ημ/νία εκτέλεσης Τύπος Παραλήπτης Θέμα Παραστ. Status
Φόρτωση...

🤖 Αυτόματη δημιουργία προσφορών

Πώς δουλεύει: Daily job ελέγχει στις 06:00 ή την ώρα που ορίζεις, βρίσκει προϊόντα με eshop έκπτωση που τηρούν τους κανόνες σου, και παράγει banners. Τα banners μπαίνουν αυτόματα στο digital signage (εκτός αν απαιτείται έγκριση).
📲 Telegram notifications: Μετά από κάθε generation, όλοι οι managers (admin/manager) που έχουν chat_id στο profile τους λαμβάνουν σύνοψη + τα banners. Σε mode «Έγκριση», ζητείται έγκριση πριν παίξουν.

🎯 Slots ανά κύκλο

Πόσα προϊόντα να διαλέγει σε κάθε κύκλο. Daily/Flash κάθε μέρα, Weekly μία φορά την εβδομάδα. Toggle «Παίζει» για να κρύψεις προσωρινά έναν τύπο από τις τηλεοράσεις χωρίς να σβήσεις banners.

📆 Daily picks

ισχύς: 1 ημέρα · Κόκκινο ribbon «ΜΟΝΟ ΓΙΑ ΣΗΜΕΡΑ»

⚡ Flash (απίστευτη)

ισχύς: 1 ημέρα · Πράσινο ribbon «ΑΠΙΣΤΕΥΤΗ ΤΙΜΗ!»

📅 Weekly picks

ισχύς: 7 ημέρες · Μπλε ribbon «ΟΙ ΠΡΟΣΦΟΡΕΣ ΤΗΣ ΕΒΔΟΜΑΔΑΣ» · Παράγονται:

🔍 Κανόνες επιλογής

Τα προϊόντα πρέπει υποχρεωτικά να έχουν: φωτογραφία στο kalestimes.gr, ισχύουσα τιμή e-shop (PRICEW < PRICER), και να είναι ενεργά (COMPANY=20, ISACTIVE=1).
Daily slots πρέπει να έχουν τουλάχιστον αυτό το % έκπτωσης
Flash super offers — η ναυαρχίδα της ημέρας
Ελάχιστο απόθεμα στην αποθήκη που ορίζεται δίπλα (COMPANY=20)
Φιλτράρει πολύ φτηνά είδη (π.χ. καραμέλες)
Ημέρες — δεν ξαναμπαίνει ίδιο προϊόν (rotation). Default 60.
co20: WHOUSE=3 (φυσικό κατάστημα). Από εδώ μετριέται το απόθεμα.
Βάζει ένα που πουλάει πολύ (ελκυστικό) + ένα αδιάθετο (ξεστοκάρισμα).
Πόση ώρα παίζει κάθε offer banner στο digital signage. 3–60s.
Αποκλείει προϊόντα με «fake» μεγαλύτερες εκπτώσεις (π.χ. 97% από λάθος PRICER στη βάση)
Αποτρέπει 3 HALLS μαζί — variety. Brand = πρώτη λέξη του ονόματος.

🧠 Στρατηγική επιλογής

Με ποιο κριτήριο να γίνεται ranking μεταξύ των candidate προϊόντων.

🚫 Εξαιρέσεις

Άσε κενό για όλες. Βρες κωδικούς από: δες λίστα κατηγοριών
Αν το όνομα προϊόντος περιέχει κάποιο από αυτά → exclude

📺 Παίζει τώρα στο signage

Banners που εμφανίζονται αυτή τη στιγμή στις TV οθόνες (date_from ≤ σήμερα ≤ date_to και status=active).
Φόρτωση...

Δεν παίζει

Banners εκτός ισχύος (έληξαν / προγραμματισμένα μελλοντικά / απενεργοποιημένα).

✍️ Custom slides (ανθρωπινες διαφημίσεις)

Slides που φτιάχνεις χειροκίνητα (π.χ. "Σας άρεσε το signage; Καλέστε μας"). Είτε γράφεις κείμενο και το σύστημα φτιάχνει τη γραφική, είτε ανεβάζεις έτοιμη εικόνα 1080×1920.
Φόρτωση...

📡 Digital Signage URL

URL για το AbleSign (ή οποιαδήποτε signage συσκευή με browser):
Η σελίδα αυτή τρέχει σε loop όλα τα ενεργά banners + custom slides. Πρόσθεσέ την ως «website» στο AbleSign και θα τα παίξει αυτόματα. Refresh playlist κάθε 5 λεπτά — οι νέες προσφορές εμφανίζονται χωρίς restart.

📋 Ιστορικό autocreate τελευταίες εκτελέσεις

Ημ/νία Slot Προϊόν Έκπτωση Status Από
Φόρτωση...

🌞 Ενημέρωση πελατών — κλειστό κατάστημα

Πώς λειτουργεί: Όσο το e-shop είναι κλειστό, οι παραγγελίες συνεχίζουν να μπαίνουν. Το job στέλνει προσωπικό email σε όποιον παρήγγειλε μέσα στο διάστημα — μία φορά ανά παραγγελία. Τρέχει καθημερινά 11:00 & 18:00 (Windows Task «Intranet Holiday Notice»).
Εξαιρούνται αυτόματα: ακυρωμένες, ήδη απεσταλμένες, χωρίς email, και όσες έχουν ήδη ειδοποιηθεί.

📅 Πρώτη κλειστή ημέρα

📅 Τελευταία κλειστή ημέρα

🔓 Πότε ανοίγουμε

Μπαίνει αυτούσιο στο κείμενο του email.
Το {ORDER} αντικαθίσταται με τον αριθμό παραγγελίας.

🏪 Όνομα καταστήματος

🔗 Διεύθυνση site

✉️ Email εξυπηρέτησης

Εκεί απαντούν όσοι ζητήσουν ακύρωση.

📮 Όριο ανά τρέξιμο

Δικλείδα ασφαλείας.

📋 Ποιοι εκκρεμούν

📖 Διαδικασίες (SOP)

Οδηγίες χρήσης του portal — εμφανίζονται στη sop.html.
Slug Τίτλος Κατηγορία Σειρά Τελ. αλλαγή
Φόρτωση...