1. Item Name : Connection bridge via API (REST/JSON) with TimeToWork
  2. Ημερομηνία Δημιουργίας: 18 Ιουλίου 2023
  3. Τρέχουσα έκδοση : v 1.26 (23/04/2026)
  4. Author : TimeToWork
  5. Υποστήριξη για προβλήματα / προτάσεις: sales@timetowork.gr

Παρουσίαση

Σύντομη περιγραφή

Η παρούσα έκθεση αφορά την διασαφήνιση του τρόπου εισαγωγής/εξαγωγής δεδομένων προς και από το CLOUD λογισμικό ωρομέτρησης TimeToWork με τη χρήση γέφυρας Rest API.

Οτιδήποτε δεν περιγράφεται σε αυτή την αναφορά ως υλοποιημένο ή προς υλοποίηση, δεν είναι υπολογισμένο να πραγματοποιηθεί στα άμεσα σχέδια των υλοποιήσεων του προγράμματος και μπορεί φυσικά να ζητηθεί κατ’ επιλογή του πελάτη.

Διαδικασία σύνδεσης


Για να μπορεί να διασυνδεθεί κάποιο πρόγραμμα με το TimeToWork απαιτούνται οι εξής πληροφορίες :
  1. το username
  2. το password
  3. το subdomain
  4. το κλειδί API του συστήματος

Η κοινοποίηση στοιχείων πρόσβασης και κλειδιών API από την πλευρά του χρήστη θα πρέπει να πραγματοποιείται με ασφαλή τρόπο, μέσω ελέγχου και αποστολής μέσω email, χρησιμοποιώντας πάντα πρωτόκολλα ασφαλούς μεταφοράς δεδομένων (π.χ. SSL/TLS)

Ο χειριστής μπορεί να χρησιμοποιήσει αυτά τα στοιχεία για να διασυνδεθεί με τη γέφυρα ή να προσθέσει και άλλους χειριστές (χρήστες) μέσα από τη πλατφόρμα του TimeToWork.

Για τη δημιουργία επιπλέον χρηστών ο πελάτης μπορεί να συνδεθεί στη σελίδα https://(your_subdomain).timetowork.gr και μέσα από το μενού Χρήστες να δημιουργήσει επιπλέον χρήστες με πρόσβαση στο σύστημα.

Η κοινοποίηση στοιχείων πρόσβασης και κλειδιών API από την πλευρά του χρήστη θα πρέπει να πραγματοποιείται με ασφαλή τρόπο, μέσω ελέγχου και αποστολής μέσω email, χρησιμοποιώντας πάντα πρωτόκολλα ασφαλούς μεταφοράς δεδομένων (π.χ. SSL/TLS)

Παράδειγμα διασύνδεσης και λήψης κλειδού connectionToken

 

Τρόπος σύνδεσης : POST

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/Authenticate.php

Bearer token:  your_api_key_here

 

Content-Type: application/json

 


{
    "username": "_place__your_username_",
    "password": "_place__your_password_"
}
                                        

 

Επιτυχής απάντηση σύνδεσης:

 


                                            
{
    "Connection Success": true,
    "API key authentication": "Valid",
    "Company status": "Active",
    "Connection_token": "generated_connection_token_here",
    "Connection_token_expiration": "2023-02-11 13:00:00",
     "userrole": "Director"
}
                                        
Παρατηρήσεις

1. To Connection_token θα πρέπει να το αποθηκευσετε για το τρέχων Session γιατί θα το χρησιμοποιήσετε σχεδόν σε οποιαδήποτε άλλη σας ενέργεια μέσω API.

2. Το Connection_token_expiration δείχνει μέχρι πότε το τρέχω token έχει ισχύ. Μετά τη λήξη του θα χρειαστεί να εκδόσετε νεό. Μέχρι τη λήξη του όμως θα πρέπει να χρησιμοποιήσετε το συγκεκριμένο αλλιώς αν εκδίδετε χωρίς λόγο πολλαπλά token ντός της ημέρας κινδυνεύετε να ενεργοποιήσετε τα security limit rates και το σύστημα να σας κλειδώσει εκτός σύνδεσης προσωρινά ή μόνιμα.

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους : λάθους καταχώρησης, ασφαλείας ή απενεργοποιημένης συνδρομής: 

 


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}               
                        

 

Μήνυμα σφάλματος

Περιγραφή προβλήματος

Invalid username or password

Εσφαλμένου username ή/και κωδικού πρόσβασης

Invalid API key

Εσφαλμένη καταχώρηση apikey

API key missing. Please add your Company API key as a Bearer token in the POST request`s Authorization header.

Δεν καταχωρήσατε το apikey ως bearer token, στην αίτηση (POST) που κάνετε.

Company is Inactive - Contact your Supplier

Απενεργοποιημένος λογαριασμός εταιρείας. Ελέγξτε οικονομικές οφειλές σας ή επικοινωνήστε με τον εγκαταστάτη σας.    

Χρήστες

Ο χειριστής ή χρήστης του TimeToWork μπορεί να συνδέεται μόνο με τη πλατφόρμα και να κάνει διάφορες ενέργειες.

Η σύνδεση με εξωτερικό πρόγραμμα γίνεται με την χρήση των ίδιων στοιχείων πρόσβασης (username/password) και στη πλατφόρμα του TimeToWork και στο πρόγραμμα του εξωτερικού χρήστη.

H δημιουργία / επεξεργασία / διαγραφή χρηστών μέσα από REST API, στη παρούσα φάση δεν υποστηρίζεται.

Διαχειριστής
Προϊστάμενος Επίβλεψη συμβάντων
(πχ.Φύλακας/Security)
Εγκαταστάτης
Προβολή συμβάντων ωρομέτρησης
Δημιουργία τροποποιημένων συμβάντων ωρομέτρησης
Προβολή αναφορών ωρομέτρησης
Διαχείριση Εργαζομένων
Διαχείριση ωραρίων
Διαχείριση αδειών
Διαχείριση Προϊσταμένων
Διαχείριση Χρηστών
Μενού ρυθμίσεων εφαρμογής
Παραμετροποίηση ωρομετρητών

Τμήματα


α. Δημιουργία Τμήματος

Για την δημιουργία Tμήματος μέσω API χρειάζεται :

 

  • το connectionToken

  • η επιθυμητή ονομασία του.

  • Στην περίπτωση του υποτμήματος, το ID του κυρίως Τμήματος που ανήκει

     

Τρόπος σύνδεσης : POST 

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/Departments.php

Bearer token:  connectionToken

 

 

Παράδειγμα δημιουργίας Τμήματος

Content-Type: application/json

 


{
    "action": "create",
    "DepartmentName": "place_your_DepartmentName_here",
    "IsThisASubDepartment": false
}
                                                

 

 

Παράδειγμα δημιουργίας υποτμήματος

Content-Type: application/json

 


{
    "action" :  "create",
    "DepartmentName": "place_your_DepartmentName_here",
    "IsThisASubDepartment" : true, 
    "DepartmentParentID" : "3"
}
                                                

** DepartmentParentID : To ID του κυρίως Τμήματος που ανήκει

 

Επιτυχής απάντηση σύνδεσης:


{
   "success": true,
    "New_DepartmentID": 16
}
                                                

 

Προσοχή το New_DepartmentID πρέπει να αποθηκεύεται στο συνεργαζόμενο πρόγραμμα προκειμένου να μπορεί να υπάρχει η γέφυρα των δύο προγραμμάτων και να μπορεί να γίνει η μελλοντική επεξεργασία του ή η διαγραφή του μέσω API

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                
// Δείτε τον σχετικό Πίνακα σφαλμάτων



β. Επεξεργασία Τμήματος


Για την επεξεργασία Tμήματος μέσω API χρειάζεται : 

  • το connectionToken

  • το ID του Τμήματος (New_DepartmentID) που δόθηκε κατά τη δημιουργία του

  • στην περίπτωση του υποτμήματος, (προαιρετικά) το ID του κυρίως Τμήματος που ανήκει - αν επιθυμείτε να το αλλάξετε (πχ το υποτμήμα που ανήκει στο τμήμα 1 να το κάνουμε υποτμήμα του Τμήματος 2)

 

Τρόπος σύνδεσης : POST

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/Departments.php

Bearer token:  connectionToken

Content-Type: application/json

 


{
    "action": "update",
    "DepartmentName": "place_your_DepartmentName_here",
    "DepartmentID" : "3"
}
                                                

 

 

Επιτυχής απάντηση σύνδεσης:

 


{
    "success": true,
    "message": "Department data was modified successfully"
}
                                                

 

 

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                
// Δείτε τον σχετικό Πίνακα σφαλμάτων



 

 

γ. Διαγραφή Τμήματος


Για την διαγραφή Tμήματος μέσω API χρειάζεται : 

 

  • το connectionToken

  • το ID του Τμήματος (New_DepartmentID) που δόθηκε κατά τη δημιουργία του

 

Τρόπος σύνδεσης : POST 

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/Departments.php

Bearer token:  connectionToken

Content-Type: application/json

 


{
    "action": "delete",
    "DepartmentID": "place_your_DepartmentID_here"
}
                                                

Επιτυχής απάντηση σύνδεσης:

 

                                                  
{
    "success": true,
    "message": "Department deleted successfully."
}
                                                
                                                

 

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                




δ. Πίνακας σφαλμάτων Τμημάτων

 Μήνυμα σφάλματος

Περιγραφή προβλήματος

Department name too long

Χρησιμοποιήστε έως και 30 χαρακτήρες για την ονομασία του Τμήματος ή του υποτμήματος

DepartmentName key is required.

Δεν καταχωρήσατε το πεδίο της ονομασίας του Τμήματος. Προσθέστε στη json, key με το πεδίο DepartmentName και έπειτα δώστε τη τιμή με το όνομα που θέλετε.

Department name is empty. Please input your desired Department name.

Το πεδίο με το όνομα του Τμήματος είναι κενό.

Subdepartment but with no Parent Department ID

Το τμήμα ορίστηκε ως υποτμήμα αλλά δεν ορίστηκε το ID του κυρίως Τμήματος του

You are creating a subdepartment but Parent Department ID is not valid

Το τμήμα ορίστηκε ως υποτμήμα αλλά το ID του κυρίως Τμήματος δεν υπάρχει σε αυτή την επιχείρηση/Οργανισμό. Μπορείτε να βρείτε τα ID των Τμημάτων με GET στην αντίστοιχη κατηγορία.

DepartmentID does not exist

Το ID του Τμήματος που διαλέξατε δεν υπάρχει στην επιχείρηση / Οργανισμό.

Duplicate department name

Το τμήμα με αυτή την ονομασία υπάρχει ήδη

Subdepartment but with no Parent Department ID

Το τμήμα ορίστηκε ως υποτμήμα αλλά δεν ορίστηκε το ID του κυρίως Τμήματος του

Department associated with Active Employees

Στο επιλεγμένο Τμήμα είναι ήδη συνδεδεμένοι ενεργοί εργαζόμενοι. Μετακινήστε τους εργαζομένους του σε κάποιο άλλο Τμήμα και μετά διαγράψτε το.

Department ID not found.

Το ID του Τμήματος που επιλέξατε δεν υπάρχει. Επιλέξτε το σωστό ID.

Invalid action specified

Η ενέργεια που επιλέξατε καταχωρήθηκε λάθος. Επιλέξτε μεταξύ create,  updatedelete αναλόγως της περίπτωσης που σας ενδιαφέρει

Invalid request method or action not specified.

Έχετε επιλέξει λάθος τρόπο αποστολής/ λήψης αποτελεσμάτων (POST/GET κτλ) είτε δεν επιλέξατε την σωστή ενέργεια μεταξύ create/update/delete

DepartmentID is required.

Δεν καταχωρήσατε το ID του Τμήματος

DepartmentID value is expected to be a digit.

Το ID του Τμήματος μπορεί να είναι αποτελείται μόνο από ψηφία.

Only Director role can Create/Modify/Delete Departments

Για να μπορέσετε να δημιουργήσετε/επεξεργαστείτε ή να διαγράψετε κάποιο Τμήμα εργασίας θα πρέπει να συνδεθείτε με κωδικούς Διαχειριστή του προγράμματος και όχι ως Προϊστάμενος ή Εργαζόμενος

Invalid or expired token

Έχει παρέλθει το χρονικό διάστημα έκδοσης του connection Token και πρέπει να επαναλάβετε την διαδικασία της αρχικής ταυτοποίησης/σύνδεσης





Ωράρια


α. Δημιουργία Ωραρίου


Για την δημιουργία ωραρίου μέσω API χρειάζεται : 

  • το connectionToken

  • η επιθυμητή ονομασία του.

  • Η κατηγορία του ωραρίου που θα δημιουργήσουμε

Τρόπος σύνδεσης : POST 

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Timeshifts.php

Bearer token:  connectionToken

Content-Type: application/json

Παράδειγμα δημιουργίας σταθερού ωραρίου

                                                    
{
  "action": "create",
  "shift_type": "steady",
  "description": "Morning shift",
  "working_days": "Mon,Tue,Wed,Thu,Fri", //Προσοχή σε μορφή 3 γραμμ.αγγλικών
  "first_session_entry": "09:00",
  "first_session_exit": "12:00",
  "second_session_entry": "15:00", //Προαιρετικό αν δεν έχει 2η βάρδια
  "second_session_exit": "20:00" //Προαιρετικό αν δεν έχει 2η βάρδια

}
  
                                                    
                                                

 

Παράδειγμα δημιουργίας σταθερού ωραρίου / διαφορετικό ανά ημέρα


{
    "action": "create",
    "shift_type": "different",
    "description": "Mon 08-12 | Tue:09-14 | Fri: 7-11 & 13-15.30 2256",
    "shifts": [
        {
          "day": "Mon",
          "first_session_entry": "08:00",
          "first_session_exit": "12:00"
        },
        {
          "day": "Tue",
          "first_session_entry": "09:00",
          "first_session_exit": "13:00"
        },
        {
          "day": "Fri",
          "first_session_entry": "07:00",
          "first_session_exit": "11:00",
          "second_session_entry": "13:00",
          "second_session_exit": "15:30"
        }   
    ]
}
                                            

 

Παράδειγμα δημιουργίας βάρδιας


{
  "action": "create",
  "shift_type": "weekly",
  "first_session_entry": "09:00",
  "first_session_exit": "12:00",
  "second_session_entry": "15:00", //Προαιρετικό αν δεν έχει 2η βάρδια
  "second_session_exit": "20:00", //Προαιρετικό αν δεν έχει 2η βάρδια
  "ConnectedDepartmentIDs": "3,4,6"   // αν δεν οριστούν θα συνδεθούν όλα τα Τμήματα
}
                                                
                                                

 

 

Παράδειγμα δημιουργίας ελεύθερου ωραρίου

                                                    
{
  "action": "create",
  "shift_type": "flexible",
  "description": "8 hours flexible",
  "working_days": "Mon,Tue,Wed,Thu,Fri",
  "dailyHours": "8"
}
                                                    
                                                

 

Επιτυχής απάντηση σύνδεσης:


{
    "success": true,
    "message" = "Timeshift created successfully.",
    "New_TimeShiftID": 16
}
                                                

Προσοχή το New_TimeShiftID πρέπει να αποθηκεύεται στο συνεργαζόμενο πρόγραμμα προκειμένου να μπορεί να υπάρχει η γέφυρα των δύο προγραμμάτων και να μπορεί να γίνει η μελλοντική επεξεργασία του ή η διαγραφή του μέσω API

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :

                                                    
{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                    
                                                

 

 

β. Επεξεργασία Ωραρίου


Για την επεξεργασία ωραρίου μέσω API χρειάζεται : 

  • το connectionToken

  • το ID του ωραρίου που δόθηκε κατά την δημιουργία του

Τρόπος σύνδεσης : POST 

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Timeshifts.php

Bearer token:  connectionToken

Content-Type: application/json

 

Παράδειγμα επεξεργασίας σταθερού ωραρίου


{
     "action": "update",
     "shift_type": "steady",
     "TimeshiftID": "11",                    //To ID που δόθηκε κατά τη δημιουργία του (New_TimeShiftID)
      "description": "Morning shift",
      "working_days": "Mon,Tue,Wed,Thu,Fri", //Προσοχή σε μορφή 3 γραμμ.αγγλικών
      "first_session_entry": "09:00",
      "first_session_exit": "12:00",
      "second_session_entry": "15:00", //Προαιρετικό αν δεν έχει 2η βάρδια
     "second_session_exit": "20:00" //Προαιρετικό αν δεν έχει 2η βάρδια
}
                                                

 

Παράδειγμα επεξεργασίας σταθερού ωραρίου / διαφορετικό ανά ημέρα


{
    "action": "update",
    "shift_type": "different",
    "TimeshiftID": "11",       //To ID που δόθηκε κατά τη δημιουργία του
    "description": "Mon 08-12 | Tue:09-14 | Fri: 7-11&13-15.30 2256",
    "shifts": [
        {
          "day": "Mon",
          "first_session_entry": "08:00",
          "first_session_exit": "12:00"
        },
        {
          "day": "Tue",
          "first_session_entry": "09:00",
          "first_session_exit": "13:00"
        },
        {
          "day": "Fri",
          "first_session_entry": "07:00",
          "first_session_exit": "11:00",
          "second_session_entry": "13:00",
          "second_session_exit": "15:30"
        }
    ]
}
                                                

 

Παράδειγμα επεξεργασίας βάρδιας


{
    "action": "update",
    "shift_type": "weekly",
    "TimeshiftID": "11",       //To ID που δόθηκε κατά τη δημιουργία του
    "working_days": "Mon,Tue,Wed,Thu,Fri", //Προσοχή σε μορφή 3 γραμμ.αγγλικών
    "first_session_entry": "09:00",
    "first_session_exit": "12:00",
    "second_session_entry": "15:00", //Προαιρετικό αν δεν έχει 2η βάρδια
    "second_session_exit": "20:00", //Προαιρετικό αν δεν έχει 2η βάρδια
    "ConnectedDepartmentIDs": "3,4,6"   // αν δεν οριστούν θα συνδεθούν όλα τα Τμήματσ
}
                                                

 

Παράδειγμα επεξεργασίας ελεύθερου ωραρίου


{
    "action": "update",
    "shift_type": "flexible",
    "TimeshiftID": "11",       //To ID που δόθηκε κατά τη δημιουργία του
    "description": "8 hours flexible",
    "working_days": "Mon,Tue,Wed,Thu,Fri",
    "dailyHours": "8"
}
                                                

 

Επιτυχής απάντηση σύνδεσης:


{
    "success": true,
    "message": "Timeshift was updated succesfully",
    "New_TimeShiftID": 16
}
                                                

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                

 

γ. Διαγραφή Ωραρίου


Για την διαγραφή ωραρίου μέσω API χρειάζεται : 

  • το connectionToken

  • το ID του ωραρίου, που δόθηκε κατά τη δημιουργία του

Τρόπος σύνδεσης : POST

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/Timeshifts.php

Bearer token:  connectionToken

Content-Type: application/json

 


{
    "action": "delete",
    "TimeshiftΙD": "place_your_TimeshiftID_here"
}
                                                

 

 

Επιτυχής απάντηση σύνδεσης:


{
    "success": true,
    "message": "Timeshift deleted successfully."
}
                                                

 

 

Ανεπιτυχής απάντησησύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                

δ. Πίνακας σφαλμάτων Ωραρίων


 Μήνυμα σφάλματος

Περιγραφή προβλήματος

Some department IDs do not exist in this company.

Κάποιο(α) από τα ID των Τμημάτων που επιλέξατε να συσχετιστούν με το ωράριο δεν υπάρχουν. 

Invalid Timeshift ID for this company

Το ωράριο με το επιλεγμένο ID δεν υπάρχει.

The description for Timeshift cannot be empty

Η περιγραφή του επιλεγμένου ωραρίου δεν μπορεί να είναι κενή

Employee doesn't exist in this Company

Ο εργαζόμενος που επιλέξατε δεν υπάρχει στην επιχείρηση. Ελέξτε ξανά το σχετικό 3dParty ID του.

Timeshift description key (description) is required

Δεν καταχωρήσατε το πεδίο της ονομασίας του Ωραρίου. Προσθέστε στη json, key με το πεδίο description και έπειτα δώστε τη τιμή με το όνομα που θέλετε.

Invalid format: Department IDs should be digits separated by commas.

Πρέπει να καταχωρήσετε ένα ή περισσότερα τμήματα με το ID τους διαχωρισμένα με κόμμα (πχ 1,3,5)

Chosen description exists in another timeshift. Please choose a different one.

H επιλεγμένη ονομασία ωραρίου έχει ήδη καταχωρηθεί σε άλλο ωράριο.

Time must be in 24-hour format HH:MM, e.g., 14:30

Το ωράριο πρέπει να έχει τη μορφή 24ωρης  ώρας πχ. 14:30 (Δυόμιση το μεσημέρι…)

Please input days of timeshift in format of 3 letters Day1,Day2 i.e. Mon,Tue,Fri etc...

Παρακαλούμε καταχωρήστε τις ημέρες σε 3χαρ μορφή στα Αγγλικά χωρισμένα με κόμματα 

πχ Mon,Wed,Fri

(μτφ: Δευτέρα Τετάρτη, Παρασκευή…)

Duplicate day found: xxx. Please remove duplicates.

Βρέθηκε διπλή καταχώρηση ημέρας μέσα στο δηλωμένο ωράριο εβδομάδας (πχ Δευτ- 09-17, Τρίτη 10-15 και ξανα Δευτ- 10-14) 

Πρέπει να δηλώνετε μόνο μία φορά την κάθε ημέρα στο ωράριο

ε. Δημιουργία εβδομαδιαίου πίνακα – Συσχετισμός βαρδιών Εργαζομένων


Η επεξεργασία και η δημιουργία προγράμματος βαρδιών γίνεται με τον ίδιο τρόπο.

Για την δημιουργία/επεξεργασία βαρδιών μέσω API χρειάζεται : 

  • το connectionToken

  • τα ID των εβδομαδιαίων βαρδιών

  • τα ID των εργαζομένων (Emp3dPartyID)

Τρόπος σύνδεσης : POST

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/ShiftsTable.php

Bearer token:  connectionToken

 

Παράδειγμα δημιουργίας / επεξεργασίας Βαρδιών

Content-Type: application/json


{
    "action": "link",
    "data": [
        {
            "Emp3dPartyID": 1,
            "dates": [
                { "Date": "2025-09-15", "timeshiftID": 2 },     
                { "Date": "2025-09-16", "timeshiftID": 3 },
                { "Date": "2025-09-17", "timeshiftID": "DAYOFF" },     //ΡΕΠΟ
                { "Date": "2025-09-18", "timeshiftID": "DELETE" }      //Διαγραφή δεδομένων για εκείνη την ημ/νία
            ]
        },
        {
            "Emp3dPartyID": 2,
            "dates": [
            { "Date": "2025-09-15", "timeshiftID": 2 },
            { "Date": "2025-09-16", "timeshiftID": 4 }
            ]
        }
    ]
}
                                                

στ. Διαγραφή δεδομένων εβδομαδιαίου πίνακα – για επιλεγμένο χρονικό διάστημα για έναν ή περισσότερους Εργαζομένους


Για την διαγραφή των δεδομένων μέσω API χρειάζεται : 

  • το connectionToken

  • τα ID των εργαζομένων που θέλουμε να διαγραφεί

    (μπορεί να επιλεγεί και η επιλογή ‘all’ για όλους τους εργαζόμενους) 

Τρόπος σύνδεσης : POST

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/ShiftsTable.php

Bearer token:  connectionToken

 

Content-Type: application/json

 

Παράδειγμα διαγραφής των βαρδιών 2 εργαζομένων 

(για συγκεκριμένο χρονικό διάστημα) 

 


{
    "action": "delete_range",
    "data": [
        {
            "Emp3dPartyID": 101,
            "StartDate": "2025-09-15",  // (π.χ.., 2025-09-15 είναι η 15η Σεπτεμβρίου 2025)
            "EndDate": "2025-09-20"
        },
        {
            "Emp3dPartyID": 102,
            "StartDate": "2025-09-10",
            "EndDate": "2025-09-15"
        }
    ]
}
                                                

 

 

Παράδειγμα διαγραφής των βαρδιών όλων των εργαζομένων 

(για συγκεκριμένο χρονικό διάστημα) 


{
    "action": "delete_range",
    "data": [
        {
            "Emp3dPartyID": "all",
            "StartDate": "2025-09-01",
            "EndDate": "2025-09-30"
        }
    ]
}
                                                

 

 

Παρατηρήσεις

  1. Για λόγους ασφαλείας και πρόληψης λαθών, δεν γίνονται διαγραφές βαρδιών για χρονικό διάστημα μεγαλύτερου των 7 ημερών. Η διαδικασία μπορεί φυσικά να επαναληφθεί για άλλο χρονικό διάστημα. Αν ο πελάτης επιθυμεί μπορεί με απόλυτη δική του ευθύνη να μπορεί να διαγράφονται οι βάρδιες για όποιο χρονικό διάστημα επιθυμεί ή ακόμη και χωρίς κανένα απολύτως όριο.

  2. Όταν γίνεται διαγραφή βαρδιών, καταχωρείται και το ID/ & το Ονοματεπ/μο του   συνδεδεμένου χρήστη που διέγραψε μαζικά τις βάρδιες στο ιστορικό αλλαγών.

ζ. Επαναφορά άδειας μέσω εβδομαδιαίου προγράμματος για συγκεκριμένη ημερομηνία και για έναν εργαζόμενο


1. Αφορά μόνο την περίπτωση όπου ο εργαζόμενος είχε καταχωρημένη άδεια και στη συνέχεια, μέσω του εβδομαδιαίου προγράμματος, η ημέρα μετατράπηκε σε εργασία, ρεπό ή διαγράφηκε.

2. Κατά την επαναφορά, η άδεια επανέρχεται με τον αρχικό τύπο της (π.χ. αν ήταν αναρρωτική άδεια, θα επανέλθει ως αναρρωτική).

3. Η επαναφορά είναι δυνατή μόνο για ημέρες που έχουν προηγουμένως αφαιρεθεί μέσω του εβδομαδιαίου προγράμματος.


Τρόπος σύνδεσης : POST

URL: https://(subdomain).timetowork.gr/Utility/API/3PS/ShiftsTable.php

Bearer token: connectionToken

Content-Type: application/json


Παράδειγμα επαναφοράς άδειας για έναν εργαζόμενο


                                            {
                                                "action": "recall_vacation",
                                                "data": [
                                                    {
                                                        "Emp3dPartyID": "2",
                                                        "Date": "2026-04-13"
                                                    },
                                                    {
                                                        "Emp3dPartyID": "2",
                                                        "Date": "2026-04-14"
                                                    }
                                                ]
                                            }
                                            

Παρατηρήσεις

  1. Η επαναφορά πραγματοποιείται ανά ημερομηνία. Στην ίδια κλήση μπορούν όμως (όπως και στο παραπάνω παράδειγμα) να συμπεριληφθούν πολλαπλές ημερομηνίες για τον ίδιο ή για διαφορετικούς εργαζόμενους.
  2. Αν δεν υπάρχει καταγεγραμμένη ακυρωμένη άδεια για την επιλεγμένη ημερομηνία, επιστρέφεται σχετικό μήνυμα σφάλματος.
  3. Η ενέργεια καταγράφεται στο ιστορικό αλλαγών (Change History), μαζί με το ID και το ονοματεπώνυμο του χρήστη που την εκτέλεσε.

η. Πίνακας γενικών σφαλμάτων Ωραρίων


Μήνυμα σφάλματος

Περιγραφή προβλήματος

Invalid action specified

Η ενέργεια που επιλέξατε καταχωρήθηκε λάθος. Επιλέξτε μεταξύ create,  updatedelete αναλόγως της περίπτωσης που σας ενδιαφέρει

Invalid request method or action not specified.

Έχετε επιλέξει λάθος τρόπο αποστολής/ λήψης αποτελεσμάτων (POST/GET κτλ) είτε δεν επιλέξατε την σωστή ενέργεια μεταξύ create/update/delete

TimeShiftID is required. 

Δεν καταχωρήσατε το ID του ωραρίου. Το ID σας δόθηκε κατά τη δημιουργία του.

Only Director role can Create/Modify/Delete Timeshifts

Για να μπορέσετε να δημιουργήσετε/επεξεργαστείτε ή να διαγράψετε κάποιο Ωράριο εργασίας θα πρέπει να συνδεθείτε με κωδικούς Διαχειριστή του προγράμματος και όχι ως Προϊστάμενος ή Εργαζόμενος

Invalid start date format for employee xxx. Expected YYYY-DD-MM.

Η ημερομηνία έναρξης ή λήξης του χρονικού διαστήματος διαγραφής των δηλωμένων βαρδιών πρέπει να είναι της μορφής yyyy-dd-mm (ΕΕΕΕ-ΜΜ-ΗΜ) 

For security reasons and to prevent accidental changes, you can delete up to 7 days at a time.

Για λόγους ασφαλείας και αποφυγής λαθών, μπορείτε να διαγράψετε έως 7 ημέρες κάθε φορά.

No cancelled vacation found for this employee on the selected date.

Δεν βρέθηκε ακυρωμένη άδεια για τον συγκεκριμένο εργαζόμενο στην επιλεγμένη ημερομηνία.


Εργαζόμενοι

Οι εργαζόμενοι μπορούν να εισαχθούν μέσω της γέφυρας API καταχωρώντας τα εξής στοιχεία

  • ΟΝΟΜΑ ΕΡΓΑΖΟΜΕΝΟΥ

  • ΕΠΩΝΥΜΟ ΕΡΓΑΖΟΜΕΝΟΥ

  • ΠΑΤΡΩΝΥΜΟ ΕΡΓΑΖΟΜΕΝΟΥ

  • ΜΗΤΡΩΝΥΜΟ ΕΡΓΑΖΟΜΕΝΟΥ

  • EMAIL ΕΡΓΑΖΟΜΕΝΟΥ

    // Δεν απαιτείται, θεωρείται προσωπικό δεδομένο και προϋποθέτει την συγκατάθεση του εργαζόμενου

  • ΚΙΝΗΤΟ ΕΡΓΑΖΟΜΕΝΟΥ

    // Δεν απαιτείται, θεωρείται προσωπικό δεδομένο και προϋποθέτει την συγκατάθεση του εργαζόμενου

  • ΤΜΗΜΑ ΕΡΓΑΣΙΑΣ ΕΡΓΑΖΟΜΕΝΟΥ 

  • ΤΥΠΟΣ ΩΡΑΡΙΟΥ  //S: Σταθερό Ωράριο || W:  Εβδομαδιαίο (βάρδια)

  • ID ΩΡΑΡΙΟΥ ΕΡΓΑΣΙΑΣ ΕΡΓΑΖΟΜΕΝΟΥ ",     

    // Δεν απαιτείται αν  εργαζεται με βάρδιες

  • ΗΜΕΡ. ΠΡΟΣΛΗΨΗΣ ,    //σε μορφή yyyy-mm-dd

  • ΑΦΜ

  • ΡΥΘΜΙΣΗ ΕΡΓΑΖΟΜΕΝΟΥ: Ο ΕΡΓΑΖΟΜΕΝΟΣ ΜΠΟΡΕΙ ΝΑ ΕΡΓΑΣΤΕΙ ΜΕΤΑ ΤΑ ΜΕΣΑΝΥΧΤΑ

  • ID ΕΞΩΤΕΡΙΚΟΥ ΧΡΗΣΤΗ

    //Αφορά το ID του εργαζομένου με βάση το συνεργ.πρόγραμμα

Και στην περίπτωση των πελατών με Hardware Controllers

  • ΚΑΡΤΑ ΠΡΟΣΒΑΣΗΣ

  • ID ΣΗΜΕΙΑ ΠΡΟΣΒΑΣΗΣ (αφορά τα πεδία πρόσβασης της επιχείρησης και υπάρχει σχετικό GET )


α. Εισαγωγή στοιχείων Εργαζόμενου


Τρόπος σύνδεσης : POST

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Employees.php

Bearer token:  connectionToken

 

Content-Type: application/json


{
  "CompanyApiKey": "your_api_key_here",
  "action": "create",
  "EmployeeDATA": [
    { 
      "Emp3dPartyID": "_your_3dParty_EmployeeID_",
      "EmpFirstName": "_EmployeeFirstName_",  
      "EmpLastName": "_EmployeeLastName_",
      "EmpFatherName": "_EmployeeFatherName_",
      "EmpMotherName": "_EmployeeMotherName_",
      "EmpDepartmentID": "_EmployeesDepartmentID_",
      "EmpTimeShiftType": "_S_or_W_",
      "EmpTimeShiftID": "_TimeshiftID_",
      "EmpHireDate": "_EmployeeHireDate YYYY-DD-MM_",
      "EmpTaxNumber": "_EmployeeTaxNumber_",
      "EmpEmail": "_EmployeeEmail_",
      "EmpMobile": "_EmployeeMobileNumber_",
      "CardNumberPart1": "_CardNumberPart1_Digits:xxxxx",
      "CardNumberPart2": "_CardNumberPart2_Digits:xxxxx ",
      "AccessPoints": "_AccessPoints_Ids_One_or_more_",        //Input Format (3ψηφ.) 001,002 κτλ…
     "EmpCanEmployeeWorkAfterMidnight": "_1 or 0_" 
    }]
}

Παράδειγμα Δημιουργίας ενός ή περισσότερων Εργαζόμενων


{
  "CompanyApiKey": "your_api_key_here",
  "action": "create",
  "EmployeeDATA": [
    { 
      "Emp3dPartyID": "111",     
      "EmpFirstName": "ΓΙΑΝΝΗΣ",    
      "EmpLastName": "ΠΕΤΡΟΓΛΟΥ",
      "EmpFatherName": "ΝΙΚΟΛΑΟΣ",
      "EmpMotherName": "ΚΑΤΕΡΙΝΑ",
      "EmpDepartmentID": "3",
      "EmpTimeShiftType": "S",
      "EmpTimeShiftID": "5",
      "EmpHireDate": "2025-02-24",
      "EmpTaxNumber": "123456789",
      "EmpEmail": "giannispetroglou@gmail.com",
      "EmpMobile": "6912345678",
      "CardNumberPart1": "12345",
      "CardNumberPart2": "22222",
      "AccessPoints": "001,003",     _      //Input Format (3ψηφ.) 001,002 κτλ…
     "EmpCanEmployeeWorkAfterMidnight": "0"
    },
    { 
      "Emp3dPartyID": "112",     
      "EmpFirstName": "ΝΙΚΟΣ",
      "EmpLastName": "ΔΙΑΜΑΝΤΙΔΗΣ",
      "EmpFatherName": "ΑΝΤΩΝΗΣ",
      "EmpDepartmentID": "2",
      "EmpTimeShiftType": "W",
      "EmpHireDate": "2025-02-24",
      "EmpTaxNumber": "123456789",
      "CardNumberPart1": "56789",
      "CardNumberPart2": "11111",
      "AccessPoints": "001,002",
      "EmpCanEmployeeWorkAfterMidnight": "1"
    }
  ]
}

Επεξήγησεις

  • EmpFirstName: Όνομα  (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • EmpLastName: Επίθετο  (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • EmpFatherName: Πατρώνυμο 

  • EmpMotherName: Μητρώνυμο

  • EmpDepartmentID:  το ID του Τμήματος εργασίας   (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • EmpTimeShiftTypeS: σταθερο, W: εβδομαδιαίο  (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • EmpTimeShiftID: το ID του ωραρίου  (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • EmpHireDate: Ημερ/νια πρόσληψης σε μορφή ΕΕΕΕ-ΜΜ-ΗΜ (yyyy-mm-dd)

  • EmpTaxNumber: ΑΦΜ εργαζομενου

  • Emp3dPartyID: το ID του εργαζόμενου στο συνεργαζόμενο πρόγραμμα 3d Party (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • CardNumberPart1: τα 5 πρώτα ψηφία της κάρτας του εργαζόμενου

    (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ μόνο αν η επιχείρηση έχει hardwarecontrollers)

  • CardNumberPart2: τα 5 τελευταία ψηφία της κάρτας του εργαζόμενου

    (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ μόνο αν η επιχείρηση έχει hardwarecontrollers)

  • AccessPoints: τα ID των καρταναγνωστών που θέλουμε να έχει πρόσβαση ο εργαζόμενος, σε μορφή 3ψηφίων πχ 001 για τον πρώτο, 002 για τον δεύτερο κτλ.

    (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ μόνο αν η επιχείρηση έχει hardwarecontrollers)

  • EmpCanEmployeeWorkAfterMidnight

    1: ο εργαζόμενος μπορεί να εργάζεται και μετά τα μεσάνυχτα και το πρωτο συμβαν της ημερας ως λήξη θεωρείται λογικό αφού μπορεί να λήγει τότε η βραδινή βάρδια του (πχ εργαζόμενοι με βραδινές εναλλασσόμενες βάρδιες)

    0: ο εργαζόμενος δεν αναμένεται να δουλεύει μετά τα μεσάνυχτα. Πρώτο συμβάν της ημέρας ως λήξη σημαίνει ότι ο εργαζόμενος ξέχασε να χτυπήσει την έναρξη της ημέρας και εμφανίζεται ως σφάλμα (πχ εργαζόμενοι με πρωινό - σταθερό ωράριο)

     (Αν δεν καταχωρηθεί καθόλου η παράμετρος θεωρείται ως προεπιλογή το 1ο σενάριο `μπορεί να εργαστεί και μετά τα μεσάνυχτα`) 

 

 

Επιτυχής απάντηση σύνδεσης:

                                                        
[
    {   "success": true,
        "message": "Employee created successfully",
        "Employee Last Name": "ΠΕΤΡΟΓΛΟΥ",
        "Employee First Name": "ΓΙΑΝΝΗΣ",
        "3dPartyID": "008"
        "TimeToWorkEmployeeID": 17
    }, 
    {   "success": true,
        "message": "Employee created successfully",
        "Employee Last Name": "ΔΙΑΜΑΝΤΙΔΗΣ",
        "Employee First Name": "ΝΙΚΟΣ",
        "3dPartyID": "009"
        "TimeToWorkEmployeeID": 18
    }
]
                                                

Αν η επιχείρηση έχει access control - κάρταναγνώστες λαμβάνετε και μία πληροφορία για την/τις κάρτα/ες που εστάλη προς ενεργοποίηση


                                                        [{
    "success": true,
    "message": "Employee created successfully",
    "Employee Last Name": "ΠΕΤΡΟΓΛΟΥ",
    "Employee First Name": "ΓΙΑΝΝΗΣ",
    "Card Status": {
        "status": "success",
        "message": "Card sent and executed successfully." //Η κάρτα φαίνεται να ενεργοποιήθηκε στο καρταναγνώστη
    },
    "TimeToWorkEmployeeID": 1,
    "3dPartyID": "167"
}, {
    "success": true,
    "message": "Employee created successfully",
    "Employee Last Name": "ΔΙΑΜΑΝΤΙΔΗΣ",
    "Employee First Name": "ΝΙΚΟΣ",
    "Card Status": {
        "status": "warning",
        "message": "Card sent but not confirmed as executed in a 15sec(s) time-period. Please verify card status." // Η κάρτα δεν φαίνεται να ενεργοποιήθηκε στο χρονικό διάστημα των 15 δευτ. Ελέγξτε τη σωστή λειτουργία της.
    },
    "TimeToWorkEmployeeID": 2,
    "3dPartyID": "145"
}]
                                                    

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                

 

β. Επεξεργασία στοιχείων Εργαζόμενου


Για την επεξεργασία Εργαζόμενου μέσω API χρειάζεται : 

  • το connectionToken

  • το ID του εξωτερικού χρήστη του συνεργαζόμενου προγράμματος

     

Προσοχή! Τροποποιούνται μόνο τα πεδία που καταχωρούνται στην εντολή json. 

Όλα τα υπόλοιπα πεδία παραμένουν αμετάβλητα από την καταχώρηση της εισαγωγής του Εργαζόμενου. Αν δεν εντοπιστούν αλλαγές το σύστημα δεν πραγματοποιεί κάποια αλλαγή.

 

Τρόπος σύνδεσης : POST

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/Employees.php

Bearer token:  connectionToken

 

Content-Type: application/json

 


{
  "CompanyApiKey": "your_api_key_here",
  "action": "update",
  "EmployeeDATA": [
    { 
      "Emp3dPartyID": "_your_3dParty_EmployeeID_",
      "EmpFirstName": "_EmployeeFirstName_",  
      "EmpLastName": "_EmployeeLastName_",
      "EmpFatherName": "_EmployeeFatherName_",
      "EmpMotherName": "_EmployeeMotherName_",
      "EmpDepartmentID": "_EmployeesDepartmentID_",
      "EmpTimeShiftType": "_S_or_W_",
      "EmpTimeShiftID": "_TimeshiftID_",
      "EmpHireDate": "_EmployeeHireDate YYYY-DD-MM_",
      "EmpTaxNumber": "_EmployeeTaxNumber_",
      "CardNumberPart1": "_CardNumberPart1_Digits:xxxxx",
      "CardNumberPart2": "_CardNumberPart2_Digits:xxxxx ",
      "AccessPoints": "_AccessPoints_Ids_One_or_more_",  //Input Format (3ψηφ.) 001,002 κτλ…
      "EmployeeStatus": "_1 or 0_",
     "EmpCanEmployeeWorkAfterMidnight": "_1 or 0_" 
    }]
}


Παράδειγμα επεξεργασίας ενός ή περισσότερων Εργαζόμενων
{
  "CompanyApiKey": "your_api_key_here",
  "action": "update",
  "EmployeeDATA": [
    { 
      "Emp3dPartyID": "111",    
      "EmpTaxNumber": "987654321",
      "AccessPoints": "004,005"
    },
    { 
     "Emp3dPartyID": "112",
      "EmpCanEmployeeWorkAfterMidnight": 0
     }
 ]
}

 

 

Επεξήγησεις

  • Emp3dPartyID: το ID του εργαζόμενου στο συνεργαζόμενο πρόγραμμα 3d Party (ΥΠΟΧΡΕΩΤΙΚΟ ΠΕΔΙΟ)

  • EmpFirstName: Όνομα 

  • EmpLastName: Επίθετο 

  • EmpFatherName: Πατρώνυμο 

  • EmpMotherName: Μητρώνυμο

  • EmpDepartmentID:  το ID του Τμήματος εργασίας   

  • EmpTimeShiftTypeS: σταθερο, W: εβδομαδιαίο 

  • EmpTimeShiftID: το ID του σταθερού ωραρίου. To ID των σταθερών ωραρίων δίνεται κατά τη δημιουργία τους.

    Αν ο εργαζόμενος εργάζεται με βάρδιες ακολουθείται η διαδικασία της αντιστοίχισης εβδομαδιαίου ωραρίου / βαρδιών και αυτό το πεδίο παραλείπεται.

  • EmpHireDate: Ημερ/νια πρόσληψης

  • EmpTaxNumber: ΑΦΜ εργαζομενου

  • CardNumberPart1: τα 5 πρώτα ψηφία της κάρτας του εργαζόμενου

  • CardNumberPart2: τα 5 τελευταία ψηφία της κάρτας του εργαζόμενου

  • AccessPoints: τα ID των καρταναγνωστών που θέλουμε να έχει πρόσβαση ο εργαζόμενος

  • EmployeeStatus: 1 Ενεργοποίηση/Επαναφορά εργαζομένου ή 0: Διαγραφή/Απενεργοποίηση εργαζόμενου

  • EmpCanEmployeeWorkAfterMidnight

    1: ο εργαζόμενος μπορεί να εργάζεται και μετά τα μεσάνυχτα και το πρωτο συμβαν της ημερας ως λήξη θεωρείται λογικό αφού μπορεί να λήγει τότε η βραδινή βάρδια του (πχ εργαζόμενοι με βραδινές εναλλασσόμενες βάρδιες)

    0: ο εργαζόμενος δεν αναμένεται να δουλεύει μετά τα μεσάνυχτα. Πρώτο συμβάν της ημέρας ως λήξη σημαίνει ότι ο εργαζόμενος ξέχασε να χτυπήσει την έναρξη της ημέρας και εμφανίζεται ως σφάλμα (πχ εργαζόμενοι με πρωινό - σταθερό ωράριο)

 

 

Επιτυχής απάντηση σύνδεσης:

[{
    "success": true,
    "message": "Employee modified successfully",
    "Employee Last Name": "ΠΕΤΡΟΓΛΟΥ",
    "Employee First Name": "ΓΙΑΝΝΗΣ",
    "TimeToWorkEmployeeID": 1,
    "3dPartyID": "111"
}, {
    "success": true,
    "message": "No changes made - Nothing to Change!",
    "Employee Last Name": "ΑΝΤΩΝΙΟΥ",
    "Employee First Name": "ΝΙΚΟΣ",
    "TimeToWorkEmployeeID": 2,
    "3dPartyID": "112"
}]

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                            

γ. Διαγραφή Εργαζομένου


Σημ. Ο εργαζόμενος δεν διαγράφεται ποτέ από το σύστημα TimeToWork. Απλά εμφανίζεται ότι δεν εργάζεται πλέον στην επιχείρηση και απενεργοποιείται η κάρτα ωρομέτρησης του.

 

Για την διαγραφή Εργαζόμενου μέσω API χρειάζεται : 

  • το connectionToken

  • το ID του εξωτερικού χρήστη του συνεργαζόμενου προγράμματος 

 

Τρόπος σύνδεσης : POST 

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Employees.php

Bearer token:  connectionToken

 

Content-Type: application/json

 


{
    "CompanyApiKey" : "_your_api_key_here_",
    "action": "disable",
    "Emp3dPartyID" : "_your_3dParty_EmployeeID_"
}
                                            

 

 

Επιτυχής απάντηση σύνδεσης:


{
    "success": true,
    "message": "Deletion success.",
    "EmployeeID": 2,
    "Employee Last Name": "ΠΑΝΑΓΟΠΟΥΛΟΣ",
    "EmployeeFirst Name": "ΓΙΩΡΓΟΣ",
    "Disabled Card Number": "11432-30645" //Αν στην εγκατάσταση υπάρχουν κάρτες
}
                                                

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}
                                                

δ. Πίνακας σφαλμάτων Εργαζομένων

Μήνυμα σφάλματος

Περιγραφή προβλήματος

Missing Employee LastName 

Δεν καταχωρήσατε το Επώνυμο του Εργαζομένου

Access Card already declared in past 

Η κάρτα εργασίας έχει ήδη καταχωρηθεί στο παρελθόν σε άλλο Εργαζόμενο. Δεν μπορείτε να την καταχωρήσετε ξανά σε άλλο Εργαζόμενο. Μόνο να τροποποιήσετε τα στοιχεία του παλαιού Εργαζόμενου στα στοιχεία του νέου.

Emp3dPartyID already connected to another Employee ID

Το ID εξωτερικού χρήστη που καταχωρήσατε είναι ήδη συνδεδεμένο με άλλο Εργαζόμενο

Steady shift but missing timeshift ID

Ο Εργαζόμενος ορίστηκε ότι εργάζεται με σταθερό ωράριο αλλά δεν επιλέχθηκε το σχετιζόμενο ωράριο του

Employee TaxNumber -  wrong format

Το ΑΦΜ του εργαζομένου δεν είναι σωστό (πχ. το προσωπικό ΑΦΜ για την Ελλάδα είναι 9 αριθμητικά ψηφία)

This card is already connected to another Employee

Η κάρτα εργασίας έχει ήδη αποδοθεί σε άλλο Εργαζόμενο. Οι κάρτες συνδέονται με κάθε Εργαζόμενο και δεν μπορούν να συνδέονται και μεταξύ άλλων (ενεργών η μη) εργαζομένων.

Missing CardNumber1 Data

Ο εργαζόμενος ορίστηκε ότι εργάζεται σε σύστημα με κάρτες αλλά δεν καταχωρήσατε τα πρώτα 5 ψηφία της

CardNumber2 is in wrong format

Τα τελευταία 5 ψηφία της κάρτας δεν είναι σωστά (ο αριθμός των 5 πρώτων ή τελευταίων ψηφίων απ είναι 00000-65535)

Card Number1 is correct but Card Number2 is empty

Καταχωρήσατε μόνο το 1ο τμήμα της κάρτας

Card Number2 is correct but Card Number1 is empty

Καταχωρήσατε μόνο το 2ο τμήμα της κάρτας

Manager can NOT create an Employee in this Department ID

‘Εχετε συνδεθεί ως Προϊστάμενος και δε μπορείτε να εισάγετε Εργαζόμενο σε αυτό το Τμήμα εργασίας

Access Point ID is missing

Δεν καταχωρήσατε ID πρόσβασης εργαζομένου. Το πεδίο είναι υποχρεωτικό ακόμα και αν υπάρχει μόνο ένα πεδίο πρόσβασης

Requested Access PointID is not in correct format

Έχετε επιλέξει ένα ή παραπάνω ID πρόσβασης εργαζομένου με λάθος στοιχεία

Employee should be connected with a Department ID

Ο εργαζόμενος πρέπει να ανήκει σε κάποιο Τμήμα εργασίας

Employee timeshift type - Wrong format 

Ο τύπος εργασίας του Εργαζόμενου (EmpTimeShiftType) μπορεί να είναι είτε S (Σταθερό ωράριο είτε W (βάρδια σε εβδομαδιαία βάση)

You have reached your current Employee Max Limit. You cannot create any more Employees. Please upgrade your current subscription plan.

Η τρέχουσα συνδρομή σας δεν σας επιτρέπει να δημιουργήσετε νέους εργαζόμενους διότι έχει φτάσει το ανώτατο όριο εργαζομένων. Παρακαλούμε αναβαθμίστε τη συνδρομή σας σε μεγαλύτερο όριο.

Σημ. Υπολογίζονται πάντα οι ΕΝΕΡΓΟΙ εργαζόμενοι και όχι όποιοι έχουν αποχωρήσει από την Επιχείρηση/Οργανισμό.




Άδειες


Για την δημιουργία αδείας χρειάζονται τα εξής στοιχεία : 

  • το ID του εξωτερικού χρήστη του συνεργαζόμενου προγράμματος

  • Τη περίπτωση (create/update/delete)

  • Το ApiKey που της εταιρείας

  • Η επιλογή μεταξύ άδειας 24 ωρών ή άδεια ωρών

  • Το ID της αιτίας άδειας (δείτε το σχετικό §11α )

  • Την ημερομηνία που θα ξεκινήσει η άδεια

  • Την ημερομηνία που θα λήξει 

  • (αν είναι ολίγων ωρών θα αγνοηθεί)

  • Την ώρα έναρξης (αν είναι 24ωρών θα αγνοηθεί)

  • Την ώρα λήξης (αν είναι 24ωρών θα αγνοηθεί)

  • Αν θα είναι επιβεβαιωμένη άδεια ή απλά αίτηση 

    (Τη παρούσα χρονική στιγμή δεν υποστηρίζεται μέσω RestAPI η δημιουργία αίτησης αδείας αλλά μόνο η επιβεβαιωμένη)

Προσοχή : Οι Προϊστάμενοι μπορούν να δημιουργούν άδειες μόνο για εργαζόμενους που ανήκουν στο(α) Τμήμα(τα) που έχουν δικαιοδοσία. Οι Διαχειριστές δεν έχουν κανένα περιορισμό.


α. Εισαγωγή άδειας

 

Τρόπος σύνδεσης : POST

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Vacations.php

Bearer token:  connectionToken

 

Content-Type: application/json

 


{
  "CompanyApiKey" : "_your_api_key_here_",
  "Emp3dPartyID" : "_EmployeeID_",
  "action" : "create",
  "VacationLengthType" : "AllDay/PartDay",
  "VacationReasonID" : "xx",
  "StartDate" : "xxxx-xx-xx",
  "EndDate" : "xxxx-xx-xx",
  "StartTime" : "xx:xx",
  "EndTime" : "xx:xx",
  "ConfirmedStatus" : true
}

_____________________________________________________

 

Παράδειγμα άδειας 24ωρών

 

{
  "CompanyApiKey" : "_your_api_key_here_",
              "Emp3dPartyID": "111",     
  "action" : "create",
 "VacationLengthType":"AllDay",
  "VacationReasonID":"4",
  "StartDate": "2024-02-15",
  "EndDate": "2024-02-19",
  "ConfirmedStatus":true
}

 

Παράδειγμα άδειας ωρών

 

{
  "CompanyApiKey" : "_your_api_key_here_",
              "Emp3dPartyID": "112",     
  "action" : "create",
  "VacationLengthType":" PartDay",
  "VacationReason":"20",
  "StartDate": "2024-08-19",
  "StartTime" : "08:30",
  "EndTime" : "11:30",
  "ConfirmedStatus":true
}

 

 

Επιτυχής απάντηση σύνδεσης:


- Απάντηση για άδεια εντός του ίδιου έτους

{
    "success": true,
    "EmployeeID": 11,
    "VacationApplyDate": "14/01/2024 14:13",
    "ManagerID": 312,
    "ManagerFullName": "ΝΙΚΟΛΟΠΟΥΛΟΣ ΑΝΤΩΝΗΣ",
    "EmployeeFullName": "ΠΕΤΡΟΓΛΟΥ ΙΩΑΝΝΗΣ",
    "VacationID": 1001,
    "VacationRealDays": "32"
}

- Απάντηση για άδεια που ξεκινάει και ολοκληρώνεται σε διαφορετικό έτος

{
    "success": true,
    "split": true,
    "VacationIDs": [1, 2],
    "VacationApplyDates": ["09/01/2026 13:59", "09/01/2026 13:59"],
    "EmployeeID": 11,
    "ManagerID": 312,
    "ManagerFullName": "ΝΙΚΟΛΟΠΟΥΛΟΣ ΑΝΤΩΝΗΣ",
    "EmployeeFullName": "ΠΕΤΡΟΓΛΟΥ ΙΩΑΝΝΗΣ",
    "VacationRealDays": 16,
    "Parts": [
    {
        "VacationID": 1,
        "StartDate": "2025-12-26",
        "EndDate": "2025-12-31",
        "RealDays": 6
    }, 
    {
        "VacationID": 2,
        "StartDate": "2026-01-01",
        "EndDate": "2026-01-11",
        "RealDays": 10
    }
    ]
}

** VacationRealDays = Οι ημέρες απουσίας χωρίς τις επίσημες αργίες, τις μη αναμενόμενες ημέρες εργασίας και τα ΡΕΠΟ.

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}

 

Μήνυμα σφάλματος

Περιγραφή προβλήματος

Invalid holiday reason ID for chosen Vacation length type.

Δόθηκε περίοδος αδείας μίας ή περισσότερης ημέρας αλλά  η αιτία αδείας ανήκει σε άδεια ολιγόωρη ή το αντίστροφο δόθηκε άδεια ολιγόωρη με αιτία αδείας που ανήκει σε άδεια ημερών.

Overlapping vacations days for same time period

Υπάρχουν ήδη άδειες που συμπίπτουν στο ίδιο χρονικό διάστημα για τον Εργαζόμενο

Employee is not active working in Company

Ο εργαζόμενος έχει αποχωρήσει από την επιχείρηση

VacationID not available in your Country

Η Αιτία αδείας που έχετε επιλέξει δεν είναι διαθέσιμη στη χώρα σας.

Manager Cant create a Vacation for this Employee

‘Εχετε συνδεθεί ως Προιστάμενος και δε μπορείτε να δημιουργήσει άδεια για τον συγκεκριμένο Εργαζόμενο (προφανώς βρίσκεται σε Τμήμα εκτός δικαιοδοσίας του)

No VacationLengthType chosen

Πρέπει να επιλέξετε το τύπο της άδειας 

//AllDay : ολοήμερη, PartDay: ολιγόωρη

No employee found with the provided ID

Δεν βρέθηκε εργαζόμενος στη συγκεκριμένη επιχείρηση με το δηλωμένο EmployeeID

Missing or wrong format of StartTime

Επιλέχθηκε ολιγόωρη άδεια εργαζομένου και δεν καταχωρήθηκε η ώρα έναρξης της άδειας

Missing or wrong format of EndTime

Επιλέχθηκε ολιγόωρη άδεια εργαζομένου και δεν καταχωρήθηκε η ώρα λήξης της άδειας

Start date cannot be later than end date

Η ημερ/νια έναρξης της άδειας πρέπει να είναι ίδια ή προγενέστερη της ημερ/νιας λήξης της.

VacationLengthType Incorrect. Please choose either AllDay or PartDay.

Πρέπει να επιλέξετε μεταξύ AllDay (ολοήμερου τύπου άδεια) ή PartDay (ολιγόωρη εντός της ίδιας ημέρας)

β. Επεξεργασία άδειας


Για τη παρούσα φάση οι άδειες δέχονται επεξεργασία μόνο ως προς τον λόγο που δόθηκε η άδεια. Για την επεξεργασία Άδειας μέσω API χρειάζεται : 

  • το connectionToken

  • Το ApiKey που της εταιρείας

  • το ID της άδειας

Τρόπος σύνδεσης : POST

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Vacations.php

Bearer token:  connectionToken

Content-Type: application/json

 

{ 
    "CompanyApiKey" : "_your_api_key_here_",
    "action": "update",
    "VacationLengthType":"AllDay/PartDay",
    "VacationID": "xx",
    "VacationNewReasonID": "xx" 
}

 

 

Επιτυχής απάντηση σύνδεσης:

 


{
    "success": true,
    "VacationID": 1001,
    "VacationNewReason": " Monitoring child development in school"
}

γ. Διαγραφή άδειας


Για την διαγραφή Άδειας μέσω API χρειάζεται : 

  • το connectionToken

  • Το ApiKey που της εταιρείας

  • το ID της άδειας

Τρόπος σύνδεσης : POST

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/Vacations.php

 

Bearer token:  connectionToken

 

Content-Type: application/json


{ 
    "CompanyApiKey" : "_your_api_key_here_",
    "action": "delete",
    "VacationID": "place_your_VacationID_here"
}

 

Επιτυχής απάντηση σύνδεσης:

 

{
   "success": true,
   "VacationID":”15”
}

 

 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}

 

Μήνυμα σφάλματος

Περιγραφή προβλήματος

Manager Cant delete a Vacation for this Employee

‘Εχετε συνδεθεί ως Προϊστάμενος και δε μπορείτε να διαγράψετε άδεια για τον συγκεκριμένο Εργαζόμενο (προφανώς βρίσκεται σε Τμήμα εκτός δικαιοδοσίας του)

Vacation ID not found.

Δεν βρέθηκε κάποια άδεια εργαζομένου με τέτοιο αριθμό (VacationID).

δ. Πίνακας σφαλμάτων αδειών

Μήνυμα σφάλματος

Περιγραφή προβλήματος

Invalid action specified

Η ενέργεια που επιλέξατε καταχωρήθηκε λάθος. Επιλέξτε μεταξύ create,  updatedelete αναλόγως της περίπτωσης που σας ενδιαφέρει

Invalid request method or action not specified.

Έχετε επιλέξει λάθος τρόπο αποστολής/ λήψης αποτελεσμάτων (POST/GET κτλ) είτε δεν επιλέξατε την σωστή ενέργεια μεταξύ create/update/delete

This VacationReasonID is not available. Please try another one.

Ο αριθμός VacationReasonID Που αντιστοιχεί στην αιτία αδείας δεν είναι σωστός. Επιλέξτε το σωστό αριθμό αιτίας.

Company ApiKey is required.

Δεν καταχωρήσατε το APIKEY της επιχείρησης σας μέσα στην εντολή.

Wrong ApiKey_xxx

Καταχωρήσατε εσφαλμένο ApiKey




Ωρομέτρηση

Η ωρομέτρηση στο TimeToWork μπορεί να πραγματοποιείται μέσω :

 

·        MobileApp (Android – IOS)

·        Tablet (KIOSK) Μεχρήση QRCode – Coming Soon NFC cards

·        Hardware Ωρομετρητή  με χρήση καρτών προσέγγισης RF

·        Rest API (3rd Party software)

 

H διαδικασία ωρομέτρησης μέσω Rest API (3rd Party software) στη παρούσα φάση υποστηρίζει μόνο τη ωρομέτρηση με την καταχώρηση του αριθμό της κάρτας ωρομέτρησης ή του Εργανη QRCode του εργαζόμενου και μόνο πλήρως CLOUD εγκαταστάσεις (χωρίς hardware συσκευές ωρομετρησης

Τρόπος σύνδεσης :POST

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/CreateEvent.php

Bearer token:  connectionToken

 

Content-Type: application/json


- Με την καταχώρηση των στοιχείων της κάρτας ωρομέτρησης

                                                
{
  "CompanyApiKey": "_your_company_api_key_",
  "EventWay": {
    "EntryExit": "_Entry or Exit_",
    "EventDateTime":"2023-10-26 10:12:13",
    "type": "card_digits",
    "value": {
      "CardNumberPart1": "_Employees_first_5_card_digits",
      "CardNumberPart2": "_Employees_last_5_card_digits"
    }
  }
}
                                                
                                            

- Με την καταχώρηση των στοιχείων του κειμένου QRCode του Εργανη του Εργαζόμενου

                                                
{
  "CompanyApiKey": "_your_company_api_key_",
  "EventWay": {
    "EntryExit":"_Entry or Exit_",
    "EventDateTime":"2025-10-24 13:12:13",
    "type": "ErganiQR",
    "value": {
      "ErganiQrCode": "_input_here_Ergani_QrCode_Employee_text_"
    }
  }
}
                                                
                                            
Σημ: Το QrCode του ΕΡΓΑΝΗ είναι της μορφής erg|nm:..........


Επιτυχής απάντηση σύνδεσης:

   


{
    "success": true,
    "message": "Cloud Event Created Correctly",
    "EventID": 31
}
                                            

 
 


 

Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :


{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}

// Δείτε τον σχετικό Πίνακα σφαλμάτων

β. Πίνακας σφαλμάτων Εισαγωγής δεδομένων

Μήνυμα σφάλματος

Περιγραφή προβλήματος

 

Invalid Card

Ο αριθμός της κάρτας που καταχωρήσατε δεν αντιστοιχεί σε κάποιο Εργαζόμενο της επιχείρησης. 

 

CardNumber2 is in wrong format

 

Ο αριθμός κάρτας έχει καταχωρηθεί λάθος. Η αρίθμηση είτε για τα πρώτα 5 ψηφία είτε για τα τελευταία είναι αριθμός 5 ψηφίων από το 00001 έως το 65535.

Invalid EventWay type.

 

Τη παρούσα χρονική στιγμή ο μοναδικός τρόπος εισαγωγής δεδομένων είναι μέσω του αριθμού της κάρτας του εργαζόμενου.  

Διαθέσιμες επιλογές  για το πεδίο type :  [“card digits"]

 

Invalid JSON data

 

Κάτι καταχωρήσατε λάθος στην εντολή Json.

 

Wrong ApiKey_C112

Ο αριθμός APIKEY είναι λάθος. Βεβαιωθείτε ότι καταχωρήσατε το σωστό apikey της επιχείρησης.

 

You are not allowed to create attendance with Future Datetime value (maximum 5 minutes difference)

Η ημερομηνία και η ώρα του συμβάντος δε μπορεί να έχει διαφορά μεγαλύτερη των 5 λεπτών από την τρέχουσα ώρα και ημέρα

 

You are not allowed to create attendance with Past Datetime value (maximum 5 minutes difference)

Η ημερομηνία και η ώρα του συμβάντος δε μπορεί να έχει διαφορά μεγαλύτερη των 5 λεπτών από την τρέχουσα ώρα και ημέρα

 

This company doesnt allow Employees to attend via 3rd party POSTS.

Η επιχείρηση δεν επιτρέπει την δημιουργία συμβάντων ωρομέτρησης μέσω 3rd party POST API.

 

   

Μαζική διαγραφή δεδομένων


Για την διευκόλυνση των δοκιμών, συνήθως κατά τη διασύνδεση με νέο συνεργαζόμενο πρόγραμμα, προστέθηκε η δυνατότητα της διαγραφής δοκιμαστικών δεδομένων της πλατφόρμας μέσω API.

 

Η διαγραφή αυτή αφορά στη παρούσα έκδοση :

 

·        Τους Εργαζόμενους

·        Τις άδειες

·        Τα ωράρια

·        Το πρόγραμμα εργασίας (βάρδιες)

 

Η διαγραφεί μπορεί να γίνει τμηματικά (μόνο οι άδειες, τα ωράρια ή το πρόγραμμα εργασίας ή και πλήρως με τη διαγραφή όλων των παραπάνω. Οι εργαζόμενοι δε μπορούν να διαγραφούν χωρίς τη διαγραφή των υπολοίπων διότι δημιουργείται πρόβλημα στη διασύνδεση των ‘ορφανών΄ δεδομένων.

 

MassDeletionExtrakey

Ταυτόχρονα με την ενεργοποίηση αυτής της δυνατότητας για την επιχείρηση σας, θα σας αποσταλεί σε εμαιλ το MassDeletionExtrakey που απαιτείται για τη συγκεκριμένη ενέργεια. Το κλειδί αυτό μπορεί να έχει χρονικό ορίζοντα λειτουργίας είτε ενός μηνός από την ώρα αποστολής του είτε απεριόριστο, σύμφωνα με τις ανάγκες του έργου σας.

 

 

 

Για την διαγραφή των δοκιμαστικών δεδομένων  μέσω API χρειάζεται :

 

-        το connectionToken

-        Το ApiKey που της εταιρείας

-        ToMassDeletionExtraKey

 

Τρόπος σύνδεσης :POST

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/MassDeleteData.php

Bearer token:  connectionToken

 

Content-Type: application/json

                                                
{ 
    "CompanyApiKey" : "_your_api_key_here_",
    "MassDeletionExtrakey": "_your_mass_deletion_extrakey_", 
    "action": "_chosen_action_"
}
                                                
                                            

 

chosen action:

 

-        mass_delete_steady_timeshifts

διαγραφή όλων των

- σταθερών ωραρίων ανά ημέρα

- διαφορετικών ωραρίων ανά ημέρα αλλά σταθερών ανά εβδομάδα

-  ελεύθερων ωραρίων.

Η διαγραφή αφορά όλους τους Εργαζόμενους.

Κατά τη διαγραφή όλοι οι εργαζόμενοι ρυθμίζονται να εργάζονται σε εβδομαδιαίο ωράριο προκειμένου να υπάρχει κάποιο ωράριο συσχετισμένο με αυτούς.

 

 

-        mass_delete_timetable

    διαγραφή όλων των προγραμμάτων εργασιών των Εργαζομένων. Η διαγραφή αφορά όλες τις βάρδιες χωρίς χρονικό περιορισμό αλλά δε διαγράφει τις βάρδιες σαν ωράριο.

 

 

-        mass_delete_weekly_shifts

    διαγραφή όλων των βαρδιών των Εργαζομένων. Η διαγραφή αφορά όλες τις βάρδιες χωρίς χρονικό περιορισμό και κατ’ επέκταση και όλα τα υφιστάμενα προγράμματα εργασιών χωρίς χρονικό περιορισμό.

 

 

-        mass_delete_vacations

διαγραφή όλων των αδειών όλων των Εργαζομένων χωρίς χρονικό περιορισμό.

 

 

-        mass_delete_all

διαγραφή όλων των ανωτέρω καθώς και των δεδομένων συσχετισμένα με τους Εργαζόμενους (προσωπικές ρυθμίσεις, πρόσβαση σε καρταναγνώστες, ακύρωση όλων των καρτών πρόσβασης, Ιστορικού αναφοράς τροποποιήσεων), Ιστορικού συμβάντων, Αναφορών εργασιών, Τμημάτων εργασίας, μετρητών/δεικτών εργασίας, ρυθμίσεις αποστολών σε Εργαζομένους)

 

Προσοχή οι διαγραφές αυτές γίνονται μόνο εφόσον είναι απαραίτητο για τις δοκιμές του συστήματος , οριστικά και χωρίς τη δυνατότητα επαναφοράς τους




Παραδείγματα

 

                                                { 
    "CompanyApiKey" : "_your_api_key_here_",
    "MassDeletionExtrakey": "_your_mass_deletion_extrakey_",
    "action": "mass_delete_all"
}
                                            




Επιτυχής απάντηση σύνδεσης:

 


{
    "success": true,
    "message":"The selected deletion was successfully completed. "
}
                                            

 

 


Ανεπιτυχής απάντηση σύνδεσης

Η απόρριψη μπορεί να γίνει για πολλούς λόγους :

                                                
{
    "success": false,
    "message": "xxxxxxx" // Δείτε το παρακάτω πίνακα
}

                                            
// Δείτε τον σχετικό Πίνακα σφαλμάτων

β. Πίνακας σφαλμάτων Μαζικής διαγραφής

Μήνυμα σφάλματος

Περιγραφή προβλήματος

 

You must connect as a Director to mass Delete

‘Έχετε συνδεθεί ως Προϊστάμενος και δε μπορείτε να προβείτε σε μαζικές διαγραφές. Μόνο οι διαχειριστές μπορούν να προβούν σε τέτοιες ενέργειες και πάντα εφόσον έχει ενεργοποιηθεί αυτή η δυνατότητα στη συγκεκριμένη επιχείρηση/πλατφόρμα.

 

Your company is not allowed to mass Delete Data. Contact your Technical supervisor.

 

Δεν έχει ενεργοποιηθεί η δυνατότητα μαζικών διαγραφών για αυτή την επιχείρηση. Επικοινωνήστε με τον τεχνικό σας υπεύθυνο για την αναγκαιότητα μίας τέτοιας ενεργοποίησης.

 

Your mass deletion key is not correct

 

Το κλειδί μαζικής διαγραφής που εισάγατε δεν είναι σωστό.

 

Your mass deletion key is expired.

 

Το κλειδί μαζικής διαγραφής που εισάγατε δεν είναι πλέον ενεργό. Επικοινωνήστε με τον τεχνικό σας υπεύθυνο για την επαν-ενεργοποίηση του.

 

Action not specified.

Δεν επιλέξατε μία αναμενόμενη ενέργεια. Παρακαλούμε επιλέξτε μεταξύ των επιλογών

(mass_delete_steady_timeshifts, mass_delete_timetable, mass_delete_weekly_shifts κτλ.)

 

No data to delete!

 

Δεν υπάρχουν δεδομένα να διαγραφούν για την επιλογή που επιλέξατε

 

Λήψη πληροφοριών (GET)


α. Λήψη ID διαθέσιμών κατηγοριών αδειών

Για να μάθετε το συσχετισμό της περιγραφής της κάθε Άδειας με το σχετικό ID που θα χρειαστείτε για την έκδοση μίας, μπορείτε να λάβετε τις πληροφορίες μέσω GET με τη παρακάτω διαδικασία: 

Τρόπος σύνδεσης : GET

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetVacationIDs.php

Bearer token:  connectionToken

Content-Type: application/json : -

 

Επιτυχής απάντηση σύνδεσης:

{
    "success": true,
    "vacationReasons": [{
        "id": "1",
        "Description": "Vacations",
        "AllDayVacation": "1",
        "Greece": "1",
        "Germany": "1",
        "Cyprus": "1",
        "Ukraine": "1"
    },
…
    {
        "id": "16",
        "Description": " Military Service ",
        "AllDayVacation": "1",
        "Greece": "0,
        "Germany": "0",
        "Cyprus": "1",
        "Ukraine": "1"
    }, 
…
    {
        "id": "19",
        "Description": " Being Parent (Hours)",
        "AllDayVacation": "0",
        "Greece": "1,
       "Germany": "1",
       "Cyprus": "1",
       "Ukraine": "1"
   }, 
}

Οι άδειες αφορούν τις συνήθεις αιτίες άδειας σε Ελλάδα, Γερμανία, Κύπρο και Ουκρανία που εξάγεται, τη παρούσα χρονική στιγμή, το πρόγραμμα. Στο μέλλον μπορούν να προστεθούν επιπλέον χώρες όταν προκύψει ενδιαφέρον από νέες χώρες.


Οι μεταφρασμένοι λόγοι στα Ελληνικά για τις άδειες φαίνονται στο παρακάτω πίνακα:


ID

Αγγλική περιγραφή

Ελληνική περιγραφή

Άδεια ωρών

1

Vacations

Κανονική

2

Maternity

Προστασίας της μητρότητας

3

Paternity

Πατρότητας

4

Getting Married

Γάμου

5

Death Of Close Relative

Θάνατος κοντινού συγγενή

6

Provide assistance (medical or other)

Φροντιστή

7

Educational-Exams

Εκπαιδευτική - Εξετάσεων

8

Being a Parent

Γονική

9

Not being able to reach Job

Αδυναμία προσέλευσης στον εργασιακό χώρο

10

Giving Blood

Αιμοδοσίας

11

Special Leave for Single Parents

Ειδική μονογονεϊκή άδεια

12

Monitoring child development in school

Άδεια παρακολούθησης σχολικής επίδοσης τέκνου

13

Childcare when child is sick

‘Αδεια λόγω ασθένειας παιδιού ή άλλου εξαρτ.μέλους

14

Childcare

Φροντίδας τέκνου

15

COVID

Ειδική άδεια COVID

24

Adopt a child

Άδεια υιοθεσίας 

16

Military Service

Στρατιωτική θητεία

25

Sick

Αναρρωτική

26

NoPayment

‘Ανευ αποδοχών

27

Special Maternity Leave

Ειδική άδειας προστασίας μητρότητας

28

Leave for Election

‘Αδεια εκλογών

29

Leave for Prenatal Examinations and Gynecological Check-up

Άδεια Προγεννητικών Εξετάσεων και Γυναικολογικού Ελέγχου

30

Leave for Persons with Disabilities

‘Αδεια αναπήρων

31

Union Leave

Συνδικαλιστική

17

Sick

Αναρρωτική

18

Childcare (Hours)

Άδεια φροντίδας παιδιού (΄Ωρες)

19

Being Parent (Hours)

Γονική άδεια (΄Ωρες)

20

Flexible work timetables (Hours)

Ευέλικτες ρυθμίσεις εργασίας (Ώρες)

21

Monitoring child development in school (Hours)

Άδεια παρακολούθησης σχολικής επίδοσης τέκνου (Ωρες)

22

Not able to reach Job (Hours)

Αδυναμία προσέλευσης στον εργ.χώρο

23

Other reason

Άλλος λόγος

β. Λήψη σημείων πρόσβασης επιχείρησης (Access Point IDs)

Το ενδιαφέρον αυτής της λήψης αφορά μόνο εγκαταστάσεις που βρίσκονται εγκατεστημένοι HardWare Controllers, προκειμένου να γνωρίζει το σύστημα από ποια σημεία πρόσβασης μπορεί να κάνει ωρομέτρηση ο κάθε Εργαζόμενος. 

Ta σημεία που επιστρέφονται με TimeAttendance : 0 σημαίνει ότι δε μπορεί να γίνει ωρομέτρηση από εκεί γιατί χρησιμοποιούνται αποκλειστικά για χρήση Access Control.

Τρόπος σύνδεσης : GET

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetAccessPoints.php

Bearer token:  connectionToken

Headers

key:  x-api-key value: your_api_key_here

 

Επιτυχής απάντηση σύνδεσης:

 


{
    "success": true,
    "CompanyUsesHardWareControllers": true,
    "AccessPoints": 
     [{
        "id": "1",
        "Description": "MainEntry",
        "TimeAttendance": "1"
     },
     {
        "id": "2",
        "Description": "Warehouse",
        "TimeAttendance": "1"
     },
     {
        "id": "3",
        "Description": "Back Entry",
        "TimeAttendance": "0"
    }]
}

 

 

 Αν η εταιρεία δεν έχει εγκατεστημένα μηχανήματα - ωρομετρητές - Access Control και λειτουργεί αποκλειστικά με softwareUnits (πχ κινητά τηλέφωνα ή Tablet) θα λάβετε την απάντηση  :

 

{
    "success": true,
    "CompanyUsesHardWareControllers": false
}

γ. Λήψη Τμημάτων επιχείρησης (Departments)

Με αυτή την μέθοδο λαμβάνουμε τα ενεργά Τμήματα της επιχείρησης και πληροφορίες για αυτά. 

Τρόπος σύνδεσης : GET

UrLhttps://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetCompanyDepartments.php

Bearer token:  connectionToken

Headers

key:  x-api-key value: your_api_key_here

 

Επιτυχής απάντηση σύνδεσης:


{
    "success": true,
    "Departments": [{
        "id": 1,
        "Name": "SALES",
        "IsThisASubDepartment": 0,
        "ParentDepartmentLevel1": 1,
       "DoesDepartmentHaveSemiHolidayEmployees": 0
    }, {
        "id": 2,
        "Name": "TECHNICAL",
        "IsThisASubDepartment": 0,
        "ParentDepartmentLevel1": 2,
       "DoesDepartmentHaveSemiHolidayEmployees": 0
    }, {
        "id": 3,
        "Name": "ADMINISTRATION",
        "IsThisASubDepartment": 0,
        "ParentDepartmentLevel1": 3,
       "DoesDepartmentHaveSemiHolidayEmployees": 0
    }]
}

Επεξηγήσεις


  1. IsThisASubDepartment

    Αν η τιμή είναι 1 σημαίνει ότι το Τμήμα είναι υποτμήμα άλλου Τμήματος

  2. ParentDepartmentLevel1

    Αυτή η τιμή δείχνει το ID του κυρίως Τμήματος για το συγκεκριμένο Υποτμήμα.

     

  3. DoesDepartmentHaveSemiHolidayEmployees

    Αν η εταιρεία ανήκει στον Δημόσιο Τομέα στην Ελλάδα εμφανίζεται στο σύστημα TimeToWork η επιλογή να υπάρχουν οι ημι-αργίες. Αν οι εργαζόμενοι του Τμήματος έχουν αυτή τη δυνατότητα φαίνεται στη παράμετρο ως τιμή 1. 

     

δ. Λήψη Ωραρίων επιχείρησης (Timeshifts)

Με αυτή την μέθοδο λαμβάνουμε τα διαθέσιμα ωράρια της Επιχείρησης στις 4 κατηγορίες που υπάρχουν : 

Περιγραφή

Υποστηρίζει 2 βάρδιες την ίδια μέρα

Σταθερό με ίδιες ώρες ανά ημέρα 

Σταθερό ανά εβδομάδα με διαφορ.ώρες/ ημέρα

Βάρδια

Ελεύθερο

                                             

Μπορούμε να τα λάβουμε και τα 4 ή ξεχωριστά ανά περίπτωση διαλέγοντας τη κατάλληλη παράμετρο url  - endpoint ανά περίπτωση: 

 

_______________

 

  • Σταθερό με ίδιες ώρες ανά ημέρα

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetCompanyTimeshifts.php?category=steady

_______________

 

  • Σταθερό ανά εβδομάδα με διαφορετικές ώρες ανα ημέρα) 

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetCompanyTimeshifts.php?category=different

 

_______________

 

  • Βάρδια

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetCompanyTimeshifts.php?category=weekly

 

_______________

 

  • Ελεύθερο

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetCompanyTimeshifts.php?category=flexible

 

_______________

 

  • Όλα μαζί

UrL: https://(subdomain).timetowork.gr/Utility/API/3PS/GETData/GetCompanyTimeshifts.php?category=all

 

_______________

 

 

Ανεξάρτητα από το endpoint η υπόλοιπη διαδικασία λήψης πληροφοριών για τα ωράρια είναι η εξής  :

 

URL: (To URL που επιλέξατε παραπάνω)

Τρόπος σύνδεσης : GET

Bearer token:  connectionToken

Headers

key:  x-api-key value: your_api_key_here

 

 

Επιτυχής απάντηση σύνδεσης:


(Αφορά τη περίπτωση της παραμέτρου steady)

 

    
{
    "success": true,
    "message": {
        "Category type": "Steady",
        "Explain": "Same hours every week, same days. Up to 2 shifts per day.",
        "Example": "Monday-Friday 09:00-12:00 & 15:00-20:00",
        "Data": [{
            "id": 6,
            "Chosen_Description": "d-g 9-17",
            "working_days": "Mon,Tue,Wed,Thu,Fri",
            "FirstSessionEntry": "09:00",
            "FirstSessionExit": "17:00",
            "HasTwoShifts": 0,
            "SecondSessionEntry": "",
            "SecondSessionExit": ""
        }]
    }
}
    

 

 

(Αφορά τη περίπτωση της παραμέτρου weekly)

 


{
    "success": true,
    "message": {
        "Category type": "Shifts for weekly needs",
        "Explain": "Shifts created to fill rotating program schedules for employees based on company needs. Up to 2 shifts per day.",
        "Example": "09:00-12:00 or 08:30-14:00 | 18:00-20:00",
        "Data": [{
            "id": 3,
            "Chosen_Description": "09:00-17:00",
            "FirstSessionEntry": "09:00",
            "FirstSessionExit": "17:00",
            "SecondSessionEntry": "",
            "SecondSessionExit": "",
            "DepartmentIDs": "1,2,3",
            "DepartmentNames": "DEEDEFE, ERFERREGERG, ΓΕΝΙΚΟ"
        }, {
            "id": 4,
            "Chosen_Description": "17:00-19:00",
            "FirstSessionEntry": "17:00",
            "FirstSessionExit": "19:00",
            "SecondSessionEntry": "",
            "SecondSessionExit": "",
            "DepartmentIDs": "1,2",
            "DepartmentNames": "DEEDEFE, ΓΕΝΙΚΟ"
        }, {
            "id": 5,
            "Chosen_Description": "15:00-19:00/22:00-23:00",
            "FirstSessionEntry": "15:00",
            "FirstSessionExit": "19:00",
            "SecondSessionEntry": "22:00",
            "SecondSessionExit": "23:00",
            "DepartmentIDs": "1",
            "DepartmentNames": "ΓΕΝΙΚΟ"
        }]
}
}

(Αφορά τη περίπτωση της παραμέτρου all)

{
    "success": true,
    "message": {
        "success": true,
        "categories": {
            "steady": {
                "Category type": "Steady",
                "Explain": "Same hours every week, same days. Up to 2 shifts per day.",
                "Example": "Monday-Friday 09:00-12:00 & 15:00-20:00",
                "Data": [{
                    "id": 6,
                   "Chosen_Description": "d-g 9-17",
                    "working_days": "Mon,Tue,Wed,Thu,Fri",
                   "FirstSessionEntry": "09:00",
                   "FirstSessionExit": "17:00",
                    "HasTwoShifts": 0,
                   "SecondSessionEntry": "",
                   "SecondSessionExit": ""
                }]
            },
            "different": {
                "Category type": "Category: Different days, same weekly pattern",
                "Explain": "Different days each week, but pattern repeats weekly. Up to 2 shifts per day.",
                "Example": "Monday 09:00-12:00, Tuesday 08:30-14:00 & 18:00-20:00",
                "Data": [{
                    "TimeShiftID": 1,
                    "shifts": [{
                        "id": 1,
                        "DAY": "Monday",
                       "FirstSession": "09:00",
                       "FirstSessionExit": "17:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 2,
                        "DAY": "Tuesday",
                       "FirstSession": "08:00",
                       "FirstSessionExit": "14:00",
                       "SecondSessionEntry": "17:00",
                       "SecondSessionExit": null
                    }, {
                        "id": 3,
                        "DAY": "Wednesday",
                       "FirstSession": "09:00",
                       "FirstSessionExit": "17:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 4,
                        "DAY": "Thursday",
                       "FirstSession": "09:00",
                       "FirstSessionExit": "17:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 5,
                        "DAY": "Friday",
                       "FirstSession": "09:00",
                       "FirstSessionExit": "17:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }]
                }, {
                    "TimeShiftID": 2,
                    "shifts": [{
                        "id": 6,
                        "DAY": "Monday",
                       "FirstSession": "07:00",
                       "FirstSessionExit": "15:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 7,
                        "DAY": "Tuesday",
                       "FirstSession": "07:00",
                       "FirstSessionExit": "18:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 8,
                        "DAY": "Wednesday",
                       "FirstSession": "07:00",
                       "FirstSessionExit": "14:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 9,
                        "DAY": "Thursday",
                       "FirstSession": "07:00",
                       "FirstSessionExit": "14:00",
                       "SecondSessionEntry": "",
                       "SecondSessionExit": ""
                    }, {
                        "id": 10,
                        "DAY": "Friday",
                       "FirstSession": "07:00",
                       "FirstSessionExit": "14:00",
                       "SecondSessionEntry": "16:00",
                       "SecondSessionExit": null
                    }]
                }]
            },
            "weekly": {
                "Category type": "Flexible shift",
                "Explain": "Expected hours to work (in hours) in chosen Days",
                "Example": "8 / 7.30",
                "Data": [{
                    "id": 7,
                   "Chosen_Description": "dwewefef",
                   "Daily_Expected_Hours": "8",
                   "ExpectedToComeToWorkDays": "Mon,Wed,Fri"
                }]
            },
            "flexible": {
                "Category type": "Shifts for weekly needs",
                "Explain": "Shifts created to fill rotating program schedules for employees based on company needs. Up to 2 shifts per day.",
                "Example": "09:00-12:00 or 08:30-14:00|18:00-20:00",
                "Data": [{
                    "id": 3,
                   "Chosen_Description": "09:00-17:00",
                    "FirstSessionEntry": "09:00",
                   "FirstSessionExit": "17:00",
                   "SecondSessionEntry": "",
                   "SecondSessionExit": "",
                    "DepartmentIDs": "1,2,3",
                   "DepartmentNames": "DEEDEFE, ERFERREGERG, ΓΕΝΙΚΟ"
                }, {
                    "id": 4,
                   "Chosen_Description": "17:00-19:00",
                   "FirstSessionEntry": "17:00",
                   "FirstSessionExit": "19:00",
                   "SecondSessionEntry": "",
                   "SecondSessionExit": "",
                    "DepartmentIDs": "1,2",
                   "DepartmentNames": "DEEDEFE, ΓΕΝΙΚΟ"
                }, {
                    "id": 5,
                    "Chosen_Description": "15:00-19:00/22:00-23:00",
                   "FirstSessionEntry": "15:00",
                   "FirstSessionExit": "19:00",
                   "SecondSessionEntry": "22:00",
                   "SecondSessionExit": "23:00",
                    "DepartmentIDs": "1",
                   "DepartmentNames": "ΓΕΝΙΚΟ"
                }]
            }
        }
    }
}

Ασφάλεια - Περιορισμοί

Η επικοινωνία με τη πλατφόρμα TimeToWork μέσω της γέφυρας REST API υπόκειται σε περιορισμούς ασφαλείας για την προστασία του τελικού χρήστη. 

Οι περιορισμοί αυτοί γίνονται σταδιακά και επηρεάζονται από την συχνότητα των συνδέσεων, τον αριθμό των προσπαθειών, το χρόνο και τη μέθοδο προσπάθειας πολλαπλών συνδέσεων στη γέφυρα. Οι περιορισμοί αυτοί μπορούν να είναι είτε με τη προσωρινή διακοπή των συνδέσεων για λίγα λεπτά, ώρες ή και μόνιμα με τη προσθήκη blacklist, αναλόγως του τύπου της προσπάθειας.

Αναλόγως της περίπτωσης ,αν κριθεί αναγκαίο, μπορεί να οριοθετηθεί και γεωπεριορισμός των συνδέσεων προς τη πλατφόρμα με βάση την IPσύνδεσης του χρήστη.

Οι λεπτομέρειες περιορισμού δεν είναι προς κοινοποίηση πέραν του ήδη αναφερθέντος χρονικού περιθωρίου για το connectionToken

Το connectionToken όπως προ-αναφέρθηκε έχει διάρκεια ζωής 60 λεπτών και απαιτείται η επανέκδοση του του, μόνο αν λήξει, με τη επανάληψη της προαναφερθείσας διαδικασίας (επαναπιστοποίηση/reauthentication). Η συνεχής και αναίτια λήψη νέων Bearer Token(αν πχ έχουν εκδοθεί τοκεν που δεν έληξαν) μπορεί να ενεργοποιήσει το ημερήσιο όριο τους και να μπλοκαριστεί η επανέκδοση νεότερων για 24ώρες.

Παραδείγματα μηνυμάτων ασφαλείας & Γεωπεριορισμού


Μήνυμα σφάλματος

Περιγραφή προβλήματος

Blocked due to country restrictions.

Προσπαθήσατε να συνδεθείτε στη πλατφόρμα εταιρείας από IP που προέρχεται από μη επιτρεπόμενη Χώρα. Αν είναι ανάγκη να συνδέεστε και από άλλες χώρες μπορείτε είτε να τις δηλώσετε ή να ζητήσετε να απελευθερώσουμε τελείως αυτόν τον περιορισμό.

You are temporarily blocked due to too many requests. Please try in a minute.

Κάνατε πολλές προσπάθειες σύνδεσης και το σύστημα ενεργοποίησε το ratelimit block. Προσπαθήστε ξανά σε ένα λεπτό.

Αν θεωρείτε ότι το μήνυμα αυτό ενεργοποιήθηκε χωρίς να κάνετε πολλές προσπάθειες, μπορείτε να μας ζητήσετε να το βελτιώσουμε.

You are temporarily blocked due to too many requests. Please try again in 10 minutes.

Κάνατε πολλές προσπάθειες σύνδεσης και το σύστημα ενεργοποίησε το ratelimit block. Προσπαθήστε ξανά σε 10 λεπτά.

Αν θεωρείτε ότι το μήνυμα αυτό ενεργοποιήθηκε χωρίς να κάνετε πολλές προσπάθειες, μπορείτε να μας ζητήσετε να το βελτιώσουμε.

You are temporarily blocked due to too many requests. Please try again in 24 Hours.

Κάνατε πολλές προσπάθειες σύνδεσης και το σύστημα ενεργοποίησε το ratelimit block. Προσπαθήστε ξανά σε 24ώρες.

Αν θεωρείτε ότι το μήνυμα αυτό ενεργοποιήθηκε χωρίς να κάνετε πολλές προσπάθειες, μπορείτε να μας ζητήσετε να το βελτιώσουμε.

You have input a wrong username/password/apikey

more than X times. 

You are temporarily blocked. 

Try again in ‘Z’

Κάνατε πολλές αποτυχημένες προσπάθειες σύνδεσης και το σύστημα ενεργοποίησε το blacklist limitblock.

Προσπαθήστε ξανά στο χρονικό διάστημα ‘Z’.

To χρονικό διάστημα Z μπορεί να είναι από 1, λεπτό 10 λεπτά, μία ώρα ή και οριστικό μπλοκάρισμα αναλόγως των προσπαθειών / συχνότητας προσπαθειών / Χώρας προέλευσης κτλ.

Αν θεωρείτε ότι το μήνυμα αυτό ενεργοποιήθηκε χωρίς να κάνετε πολλές προσπάθειες, μπορείτε να μας ζητήσετε να το βελτιώσουμε.

Εκδόσεις (Versioning)

Οποιαδήποτε μεταβολή έκδοσης δε λειτουργεί αντεπίστροφα, ακυρώνοντας αυτομάτως τις προηγούμενες εκδόσεις.


Για σημαντικές αναμενόμενες μεταβολές εκδόσεων ενημερώνεται ο πελάτης στα εμαιλ επικοινωνίας του προτού δοθούν στην πραγματική χρήση, προκειμένου να ολοκληρωθούν οι όποιες αναμενόμενες μεταβολές και από τη πλευρά του.




23 Απριλίου 2026
1.26

ΔΙΟΡΘΩΣΗΔιαγραφή άδειας κατά τη διαγραφή της μέσω του εβδομαδιαίου προγράμματος.

ΝΕΟΝέα παράμετρος (recall_vacation) στον εβδομαδιαίο πίνακα – Δυνατότητα επαναφοράς άδειας μέσω του προγράμματος (αφορά μόνο άδειες που είχαν δοθεί και ακυρώθηκαν μέσω του εβδομαδιαίου προγράμματος).

22 Απριλίου 2026
1.25

ΔΙΟΡΘΩΣΗΜείωση ή διάσπαση άδειας και επαναϋπολογισμός ημερών άδειας στην περίπτωση που δοθεί σε εργαζόμενο εργάσιμη ημέρα στο εβδομαδιαίο του πρόγραμμα, ενώ βρίσκεται ήδη σε άδεια.

16 Απριλίου 2026
1.24

ΝΕΟΔυνατότητα εισαγωγής των πεδίων email και κινητού τηλεφώνου του εργαζόμενου

09 Ιανουαρίου 2026
1.23

ΒΕΛΤΙΩΣΗΌταν υποβάλλεται αίτημα άδειας που ξεκινά και ολοκληρώνεται σε διαφορετικό ημερολογιακό έτος, η άδεια διαχωρίζεται αυτόματα ανά έτος και δημιουργούνται δύο ξεχωριστές άδειες (μία για κάθε έτος).

27 Οκτωβρίου 2025
1.22

ΝΕΟΠροσθήκη δυνατότητας ωρομέτρησης μέσω της εισαγωγής των στοιχείων της κάρτας ωρομέτρησης και του κειμένου QRCODE του Εργάνη του Εργαζόμενου

29 Σεπτεμβρίου 2025
1.21

ΔΙOΡΘΩΣΗΜικρές διορθώσεις σε κενά που υπήρχαν σε κάποια endpoint urls

ΒΕΛΤΙΩΣΗΠροσθήκη επιστροφής ελέγχου δημιουργίας κάρτας

16 Σεπτεμβρίου 2025
1.20

ΝΕΟΔυνατότητα διαγραφής δεδομένων (Data reset) για επιλεγμένες επιχειρήσεις μέσω DeleteKey

15 Σεπτεμβρίου 2025
1.19

ΒΕΛΤΙΩΣΗΒελτίωση κλειδώματος χρηστών με χρήση περιορισμού IP σε επιλεγμένες επιχειρήσεις

23 Ιουλίου 2025
1.18

ΝΕΟΛήψη (GET) ωραρίων

9 Ιουλίου 2025
1.17

ΝΕΟΛήψη (GET) σημείων πρόσβασης (Access Points)

25 Ιουνίου 2025
1.16

ΝΕΟΕπεξεργασία πίνακα βαρδιών

ΒΕΛΤΙΩΣΗΑυτόματη προσθήκη στο πίνακα βαρδιών όταν κάποιος εργαζόμενος παίρνει άδεια

11 Ιουνίου 2025
1.15

ΝΕΟΔημιουργία πίνακα βαρδιών

18 Μαιου 2025
1.14

ΝΕΟΔημιουργία/Επεξεργασία/Διαγραφή ωραρίων

14 Μαιου 2025
1.13

ΝΕΟΔιαγραφή εσφαλμένων δεδομένων ωρομέτρησης για Mobile App

30 Απριλίου 2025
1.12

ΝΕΟΑποστολή αίτησης άδειας Εργαζόμενου (Mobile App)

16 Απριλίου 2025
1.11

ΔΙΟΡΘΩΣΗΔιορθώσεις αποστολής καρτών σε εταιρείες με καρταναγνώστες

2 Απριλίου 2025
1.10

ΝΕΟΔημιουργία εργαζομένων και μέσω εταιρειών/Οργανισμών με κάρτες(Hardware installations)

27 Μαρτίου 2025
1.09

ΝΕΟΔημιουργία τεχνητού συμβάντος (Mobile App)

17 Μαρτίου 2025
1.08

ΝΕΟΛήψη (GET) πληροφοριών Τμημάτων επιχείρησης

19 Φεβρουαρίου 2025
1.07

NEOΔημιουργία/Επεξεργασία/Απόλυση βασικών στοιχείων εργαζομένου

ΒΕΛΤΙΩΣΗΠροσθήκη πεδίων 'ΜΗΤΡΩΝΥΜΟ' στα πεδία εισαγωγής/επεξεργασίας στον Εργαζόμενο

5 Φεβρουαρίου 2025
1.06

NEOΛήψη (GET) ID διαθέσιμων αδειών εργαζομένων

15 Ιανουαρίου 2025
1.05

ΒΕΛΤΙΩΣΗΔημιουργία/Επεξεργασία & διαγραφή αδειών

ΒΕΛΤΙΩΣΗΛήψη (GET) ID διαθέσιμων αδειών / Υποστήριξη αδειών για Γερμανία,Ουκρανία και Κύπρο

23 Μαρτίου 2024
1.04

ΝΕΟΔημιουργία/Επεξεργασία αδειών

ΝΕΟΛήψη (GET) ID διαθέσιμων αδειών

18 Ιουνίου 2024
1.03

ΝΕΟΔημιουργία/Επεξεργασία/Διαγραφή Τμημάτων

3 Ιουνίου 2023
1.02

ΒΕΛΤΙΩΣΗOffline ωρομέτρηση μέσω Mobile app

ΔΙΟΡΘΩΣΗBasic rate limiting - μικρές διορθώσεις

ΔΙΟΡΘΩΣΗBasic georistriction - μικρές διορθώσεις

11 Μαρτίου 2022
1.01

ΝΕΟΑρχική κατασκευή γέφυρας για αυθεντικοποίηση χρηστών

ΝΕΟΑποστολή ωρομετρήσεων μέσω Mobile App

ΝΕΟΛήψη πληροφοριών εταιρείας

ΝεοΛήψη πληροφοριών εργαζόμενου

ΝΕΟBasic rate limiting

ΝΕΟBasic georistriction