Εβδομαδιαίο πρόγραμμα drag-and-drop για όλη την ομάδα. Αντιγράψτε την προηγούμενη εβδομάδα στην επόμενη με ένα κλικ, εγκρίνετε αιτήματα άδειας inline και αφήστε το προσωπικό να διεκδικεί ανοιχτές βάρδιες από το κινητό.
Η Δημιουργία προγράμματος είναι το επίπεδο προγραμματισμού της ενότητας Προσωπικό του Ordering.Tools. Ανοίξτε το για να δείτε τις βάρδιες κάθε μέλους του προσωπικού για την εβδομάδα σε ένα drag-and-drop grid: ποιος δουλεύει πότε, ποια θέση καλύπτει, ποιον τομέα του ορόφου καλύπτει. Κλικ σε κενό κελί για προσθήκη βάρδιας σε 5 δευτερόλεπτα; κλικ σε γεμάτο κελί για ανταλλαγή, επεξεργασία ή ακύρωση. Το grid υποστηρίζει πληκτρολόγιο, είναι mobile-friendly σε tablet και αποθηκεύει κάθε αλλαγή με audit trail.
Οι περισσότεροι διευθυντές δεν σκέφτονται με 'πρότυπα' — σκέφτονται 'αντίγραψε την προηγούμενη εβδομάδα, ρύθμισε την Παρασκευή'. Έτσι η Δημιουργία προγράμματος είναι χωρίς πρότυπα από σχεδιασμό. Πατήστε Αντιγραφή προηγούμενης εβδομάδας και το grid διπλασιάζει τις SCHEDULED + CONFIRMED βάρδιες στην επόμενη εβδομάδα, παραλείποντας τις συγκρούσεις με το (προσωπικό, ημερομηνία, ώρα έναρξης) μοναδικό κλειδί. Ρυθμίστε τις αλλαγές, πατήστε Δημοσίευση, έτοιμο. Τα αιτήματα άδειας εμφανίζονται στο inbox με τις σχετικές βάρδιες inline — εγκρίνετε και οι συγκρουόμενες βάρδιες ακυρώνονται ατομικά.
Ο πιο γρήγορος τρόπος να σχεδιάσετε την επόμενη εβδομάδα είναι να τη σχεδιάσετε όπως την προηγούμενη. Ένα κουμπί υλοποιεί πλήρη αντιγραφή; λίγα drags ρυθμίζουν για άδειες και τη νέα κάλυψη του πατώματος; δημοσίευση σε λιγότερο από 4 λεπτά για κατάστημα 30 ατόμων.
Τα αιτήματα δεν κάθονται σε ξεχωριστό inbox που ξεχνάτε να ανοίξετε. Εμφανίζονται στο rota grid για τις ημερομηνίες που καλύπτουν, με Έγκριση με ένα κλικ και αυτόματη ακύρωση συγκρουόμενων βαρδιών στην ίδια συναλλαγή.
Η Άννα τηλεφωνεί άρρωστη στις 17:00. Δημοσιεύστε τη θέση ως ανοιχτή βάρδια, ορίστε ποιος μπορεί να τη δει (όλοι / ανά ρόλο / κατά πρόσκληση) και το πρώτο μέλος του προσωπικού που τη διεκδικεί κερδίζει — guard σε επίπεδο SQL κάνει αδύνατη τη διπλή διεκδίκηση.
Κάθε αλλαγή μεταδίδεται σε κάθε συνδεδεμένη συσκευή. Η οθόνη My Shifts στο κινητό της ομάδας σας αντικατοπτρίζει το νέο πρόγραμμα τη στιγμή που δημοσιεύετε — χωρίς μήνυμα Slack, χωρίς τηλεφωνήματα 'είδες το νέο πρόγραμμα;'.
Κάθε γραμμή είναι ένα μέλος προσωπικού, κάθε στήλη είναι μία ημέρα. Τα κενά κελιά είναι ανοιχτές θέσεις; τα γεμάτα δείχνουν ρόλο, ώρα και χρώμα τομέα. Το grid φορτώνει σε λιγότερο από 1.5 δευτερόλεπτα για παράθυρο 4 εβδομάδων × 30 ατόμων.
Τραβάει SCHEDULED και CONFIRMED βάρδιες από την προηγούμενη Δευτέρα-Κυριακή στις ίδιες ημέρες της εβδομάδας που βλέπετε. Το toast αποτελέσματος δείχνει πόσες βάρδιες αντιγράφηκαν και πόσες παραλείφθηκαν λόγω συγκρούσεων.
Σύρετε μια βάρδια από Παρασκευή σε Σάββατο. Κλικ σε κενό κελί για προσθήκη νέας θέσης. Δεξί κλικ σε βάρδια για διαγραφή ή ανταλλαγή. Κάθε αλλαγή γράφει στο StaffAuditLog με τον actor και before/after snapshot.
Τα PENDING αιτήματα άδειας εμφανίζονται στην κορυφή του προγράμματος με τις επηρεαζόμενες βάρδιες τονισμένες. Εγκρίνετε ένα αίτημα — οι συγκρουόμενες βάρδιες ακυρώνονται στην ίδια συναλλαγή και το αιτών μέλος λαμβάνει email + push.
Το grid είναι το πρόγραμμα — χωρίς ξεχωριστό template editor. Κάθε βάρδια είναι πραγματική, προγραμματισμένη StaffShiftAssignment γραμμή, όχι κατάσταση 'σχεδιασμένης' που χρειάζεται δημοσίευση αργότερα. Σύρετε για μετακίνηση, κλικ για επεξεργασία, δεξί κλικ για διαγραφή.
Ένα κουμπί διπλασιάζει το δημοσιευμένο πρόγραμμα της προηγούμενης εβδομάδας στην επόμενη, παραλείποντας συγκρούσεις. Προαιρετικό φίλτρο userIds για να αντιγράψετε μόνο το μοτίβο μιας ομάδας. Κάθε διπλασιασμός γράφει StaffAuditLog γραμμή με copied/skipped αριθμούς.
Τα αιτήματα άδειας φέρουν τύπο (διακοπές / ασθένεια / προσωπική / άνευ αποδοχών / γονική), εύρος ημερομηνιών, προαιρετικό μερικής ημέρας παράθυρο και προαιρετικό URL συνημμένου. Η έγκριση είναι ένα κλικ; οι συγκρουόμενες βάρδιες ακυρώνονται στο ίδιο $transaction.
Δημοσιεύστε θέση όταν χρειάζεστε κάλυψη; το προσωπικό διεκδικεί από το κινητό; εσείς εγκρίνετε ένα. Το guard κατάστασης OpenShift σε επίπεδο SQL κάνει το race condition αδύνατο: μόνο μία έγκριση πετυχαίνει, οι άλλες βλέπουν 409 αμέσως.
Ανοίξτε το grid Δευτέρα πρωί. Πατήστε Αντιγραφή προηγούμενης εβδομάδας. Ρυθμίστε 6 κελιά για το catering την Παρασκευή και την άδεια της Άννας. Δημοσιεύστε. Συνολικός χρόνος: 3:42. Η προηγούμενη ροή spreadsheet έπαιρνε 90 λεπτά.
Ακυρώστε τη βάρδια της στο rota grid (ένα κλικ), δημοσιεύστε OpenShift με λήξη 17:30. Τρεις σερβιτόροι το βλέπουν, δύο διεκδικούν σε 4 λεπτά, εγκρίνετε αυτόν με αρχαιότητα. Έτοιμο σε λιγότερο από 5 λεπτά — χωρίς πανικό σε group-chat.
Η Μαρία υποβάλλει αίτημα 7 ημερών VACATION από το κινητό. Εμφανίζεται στο inbox σας με τις 5 επηρεαζόμενες βάρδιες τονισμένες. Εγκρίνετε — οι συγκρουόμενες βάρδιες ακυρώνονται και εμφανίζονται ως κενά στο rota grid για να τα γεμίσετε με OpenShift posts.
Ο Πέτρος (σερβιτόρος) και ο Ιβάν (host) αποφασίζουν να ανταλλάξουν βάρδιες. Ο διευθυντής ανοίγει το rota grid, διαλέγει τις δύο βάρδιες, πατάει Swap — και τα δύο πρωτότυπα ακυρώνονται, και οι δύο νέες SWAP-source γραμμές δημιουργούνται με πλήρη ιστορία, χωρίς διπλό booking.
Αλλάξτε venue από τον venue picker AdminShell; η ίδια rota διεπαφή εμφανίζεται για το νέο venue με δικό του προσωπικό, τομείς και βάρδιες. Χωρίς νοητή αλλαγή πλαισίου — κάθε venue χρησιμοποιεί το ίδιο grid, τις ίδιες ροές.
Σερβιτόροι ανοίγουν My Shifts στο κινητό (στο /admin/profile/shifts), βλέπουν τις επόμενες 60 ημέρες με μια ματιά, διεκδικούν ανοιχτές βάρδιες που ταιριάζουν στη διαθεσιμότητά τους και υποβάλλουν αιτήματα άδειας για τις περιόδους που χρειάζονται — χωρίς ποτέ να καλέσουν τον διευθυντή.
Τα περισσότερα εργαλεία rota σας αναγκάζουν σε μια αφαίρεση πρώτα: φτιάξτε πρότυπο, αποθηκεύστε το, εφαρμόστε το στην επόμενη εβδομάδα, επεξεργαστείτε υπερβάσεις, δημοσιεύστε. Αυτές είναι τρεις βήματα για ένα πρόβλημα που έχει ένα σχήμα — οι περισσότερες εβδομάδες είναι 90% ίδιες με την προηγούμενη. Η Δημιουργία προγράμματος παρακάμπτει το πρότυπο εντελώς. Το rota ΕΙΝΑΙ τα δεδομένα; η αντιγραφή του rota ΕΙΝΑΙ το πρότυπο; η ρύθμιση και δημοσίευση είναι μία συνεχής χειρονομία αντί για τρεις διακριτές.
Μια τυπική αλλαγή βάρδιας είναι 3 σύρσιμα: η Άννα ανταλλάσσει με τη Μαρία την Παρασκευή; ο Πέτρος παίρνει την ανοιχτή θέση Σαββάτου; ο νέος προσλαμβανόμενος ενώνεται στο μεσημεριανό. Οι φόρμες σας αναγκάζουν να ξαναπληκτρολογήσετε ρόλο, ημερομηνία και ώρα για κάθε αλλαγή. Drag-and-drop αλλάζει το χρονικό συστατικό (σύρετε στήλη) και το συστατικό προσωπικού (σύρετε γραμμή) ταυτόχρονα — μία χειρονομία, δύο αλλαγές, ανταπόκριση κάτω του δευτερολέπτου. Σε μια εβδομάδα επεξεργασιών οι εξοικονομήσεις χρόνου συσσωρεύονται.
Οι περισσότερες πλατφόρμες αποστέλλουν την άδεια ως ξεχωριστό inbox, κρυμμένο πίσω από καρτέλα. Οι διευθυντές ξεχνούν να το ελέγχουν; τα εκκρεμή αιτήματα συσσωρεύονται; οι συγκρουόμενες βάρδιες αποστέλλονται σε προσωπικό που είναι ήδη σε διακοπές. Η Δημιουργία προγράμματος εμφανίζει κάθε PENDING αίτημα στην ίδια οθόνη με τις βάρδιες που θα ακύρωνε. Βλέπετε το trade-off σε πραγματικό χρόνο: εγκρίνετε, οι συγκρουόμενες βάρδιες εξαφανίζονται; απορρίψτε, ο εργαζόμενος λαμβάνει email απόρριψης και το rota είναι αμετάβλητο.
Η κάλυψη ασθενείας είναι η στιγμή με τη μεγαλύτερη τριβή στο πρόγραμμα εστιατορίου. Η Δημιουργία προγράμματος κάνει το χάσμα ορατό στο grid (η ακυρωμένη βάρδια γίνεται τρύπα) και σας επιτρέπει να δημοσιεύσετε OpenShift με 4 κλικ; το προσωπικό διεκδικεί από το κινητό; εσείς εγκρίνετε. Ο χειρισμός race condition είναι σε επίπεδο SQL — έτσι ακόμη και με τρεις διεκδικητές που πατούν το κουμπί ταυτόχρονα, ακριβώς ένας κερδίζει.