Vai al contenuto

Contratti

Un Contratto definisce le regole su cui si fondano i calcoli del tempo di lavoro per un lavoratore: orario settimanale, giorni di riposo, modalità di calcolo degli straordinari, periodo di quadratura. Si configura una sola volta per tipologia (es. Operatore FT, Part Time 30h, Stagionale) e poi si assegna ai lavoratori dalla guida Utenti.

La sezione Gestione contratti ospita anche tre liste accessorie — Orari di lavoro, Calendari e festività, Rotazione turni — che vengono assegnate al lavoratore dal dialog Modifica utente o richiamate nella pianificazione turni (vedi Turni).

A cosa serve Configurare i Contratti dell'organizzazione e i loro elementi accessori (orari, calendari, rotazioni)
Chi la usa Proprietario · Super Manager
Dove la trovi Impostazioni → Gestione contratti

⚠️ Anche il Manager vi accede (verificato a video 15/08). In produzione il Manager ha la voce Gestione contratti nel menu ingranaggio e può aprire e modificare i contratti dell'organizzazione (lista completa + dialog con Salva attivo). I contratti sono configurazione di organizzazione: che un Manager possa scriverli rientra nel filone permessi Q109 (scritture org-level non ristrette a Proprietario/SM) — domanda al dev “è voluto?”, non un'indicazione operativa.


La schermata Gestione contratti

La schermata si apre sulla tab Contratti, una delle cinque tab che la compongono: Contratti, Orari di lavoro, Calendari e festività, Rotazione turni, Causali. Le ultime quattro contengono elementi accessori che il Contratto può richiamare; la tab Causali è documentata nella guida Richieste e giustificativi.

In alto a destra di ogni tab: il pulsante + per aggiungere un elemento e il campo di ricerca.

Schermata Gestione contratti aperta sulla tab Contratti (selezionata in turchese), con tab strip in alto che mostra le 5 tab Contratti, Orari di lavoro, Calendari e festività, Rotazione turni, Causali


Tab Contratti — la lista

La lista mostra tutti i contratti dell'organizzazione, una riga per contratto. Le colonne (etichette esatte a video) sono: Nome, Tipo (Tempo pieno, Part time, Stagionale, Chiamata), Giorni lavorativi, Min. settimana, Max. settimana (ore settimanali, es. 30 ore), Riposo giornaliero, Riposo settimanale (es. 11 ore / 24 ore), Max giornate annuali, Tag, Pausa.

💡 Prima colonna = ID stabile del contratto La prima colonna numerica non è un progressivo di riga ma l'ID stabile assegnato al contratto alla creazione. Riordinando la lista (es. per Ore settimanali max), i numeri non cambiano e restano attaccati al nome del contratto.

A destra di ogni riga: le icone ✏️ matita (apri Modifica) e 🗑️ cestino (elimina — vedi sezione "Eliminare contratti, orari, calendari e rotazioni").

💡 Tag — creati da HyWork, applicati da te I Tag sono etichette colorate (badge) per marcare contratti e rapporti di lavoro e per pilotare logiche/script personalizzati. L'anagrafica dei tag è gestita solo da HyWork (dal pannello di amministrazione): il cliente non crea i tag, li applica soltanto. Ogni tag ha un contesto fisso (non modificabile) che decide dove si applica: - Contratto → si applica alla definizione del contratto (qui, campo Tag del dialog); - Rapporto contrattuale → si applica al singolo rapporto di lavoro dell'utente (in Utenti → Posizione lavorativa → Nuovo Rapporto di Lavoro).

Nel selettore + Aggiungi tag vedi solo i tag del contesto giusto: nel dialog contratto compaiono solo i tag di contesto Contratto (se non ce ne sono → "Nessun tag disponibile"), nel rapporto di lavoro solo quelli di contesto Rapporto contrattuale. Scelto il tag → Conferma; il badge compare nella colonna Tag.

💡 A cosa serve un tag (esempio reale) Un tag può fare da interruttore per uno script che scrive HyWork: lo script fillReports (generazione report) legge i tag. Es. il tag SenzaSoglia15min (contesto Rapporto contrattuale) dice a fillReports di non arrotondare ai 15 minuti la timbratura in ingresso per quel rapporto. Lo script è lato backend HyWork: non è configurabile dal pannello cliente.

Dialog Aggiungi Contratto con il selettore Aggiungi tag aperto: casella di ricerca in alto, messaggio "Nessun tag disponibile" quando HyWork non ha ancora creato tag, e pulsante Conferma

⚠️ Colonna Pausa: visibile ma non editabile La colonna Pausa è ancora presente e mostra sempre : nel dialog Modifica Contratto non c'è un campo per valorizzarla. Le vecchie colonne Tolleranza in difetto e Tolleranza in eccesso sono invece state rimosse dalla lista.

Tab Contratti popolata con i contratti dell'esempio The HyWork Experience ordinati per ID stabile, con le colonne Nome, Tipo, Giorni lavorativi (sett.), Ore settimanali min/max, Riposo giornaliero, Riposo settimanale, Max giornate annuali, Pausa, Tag


Creare e modificare un Contratto

Per crearne uno nuovo, clicca + in alto a destra: si apre il dialog Crea Contratto. Per modificarne uno esistente, clicca la matita sulla sua riga: si apre il dialog Modifica Contratto precompilato con i valori salvati.

Il dialog ha due tab: Definizione (regole di calcolo del tempo di lavoro) e Contatori (set di regole agganciati al contratto). Il titolo del dialog riporta il nome del contratto in modifica (es. Modifica Contratto — Amministrazione BO PT30). I pulsanti in fondo sono Salva e Annulla.

Tab Definizione

Tre campi base in alto e tre fisarmoniche sotto.

Campo Cosa fa
Nome Etichetta del contratto, visibile nella lista e nel dialog Modifica utente al momento dell'assegnazione. Obbligatorio
Tipo Dropdown con quattro valori: Tempo pieno, Part time, Stagionale, Chiamata. Categorizza il contratto
Tag Una o più etichette (badge colorati) scelte tra i tag disponibili creati da HyWork (contesto Contratto). Facoltativo — vedi callout Tag dei contratti sopra

Dialog Modifica Contratto aperto su Amministrazione BO PT30 sul tab Definizione, con i campi Nome del contratto e Tipo di contratto valorizzati e le tre fisarmoniche (Orario di lavoro, Calcolo, Assenze) chiuse

Fisarmonica Orario di lavoro

Definisce i parametri base del tempo di lavoro settimanale.

Campo Cosa fa
Giorni lavorativi (sett.) Numero di giorni lavorati a settimana (es. 5, 6)
Min. settimana / Max. settimana Range di ore settimanali consentite
Riposo giornaliero / Riposo settimanale Ore minime di riposo richieste tra turni e tra settimane
Massimo giornate annuali Numero massimo di giornate lavorabili nell'anno (label Massimo giornate annuali nel dialog ↔ header colonna lista Max giornate annuali, vedi Q43)

HyWork ha una logica permissiva: se in pianificazione assegni un turno che viola un parametro contrattuale (es. ore in eccesso, riposo insufficiente), l'operazione viene comunque accettata e segnalata con un alert visibile in Turni.

Fisarmonica Orario di lavoro espansa, con i 6 campi compilati su un contratto Part Time 30h (Giorni lavorativi 5, Ore settimanali min/max 30/30, Riposo giornaliero 11, Riposo settimanale 24, Massimo giornate annuali non valorizzato)

Fisarmonica Calcolo

Configura come HyWork calcola straordinari e quadratura del periodo. Tre dropdown e un toggle.

Campo Cosa fa
Modalità di gestione degli straordinari Tre valori: Manuale (Manager classifica le ore eccedenti), Automatico (calcolo automatico secondo regole), Disabilitato (nessuno straordinario, contratto forfettario)
Periodo calcolo quadratura Tre valori: Orario, Giornaliero, Settimanale — definisce la finestra su cui si misura la conformità al contratto
Calcolo quadratura su Contratto (ore previste dal contratto), Programmate (ore dei turni pianificati), Entrambe (delta per entrambe le basi) — base di confronto della quadratura
Spezza turni a cavallo della mezzanotte Toggle: divide a mezzanotte i turni notturni che attraversano due giornate, separando le ore prima/dopo la mezzanotte

💡 Quando si sceglie cosa per Modalità di gestione degli straordinari - Manuale: quando il Manager vuole controllo umano sulla classificazione, es. turni con ore eccedenti programmate. - Automatico: quando esistono regole replicabili e si vuole eliminare il lavoro manuale di classificazione. - Disabilitato: per contratti forfettari (Stagionale, Chiamata, alcuni Part time) dove non si distinguono ore ordinarie/straordinarie.

📝 Comportamento verificato a video (retest 18/06) — Cambiando Calcolo quadratura su sullo stesso lavoratore, il delta del Foglio presenze cambia base: Contratto → −45:00, Programmate → −00:15, Entrambe → mostra entrambe le righe. Il dropdown incide davvero sui calcoli. La task Q31.C resta comunque aperta su ClickUp, insieme alle altre domande sulla fisarmonica Calcolo (Q31.A/B/D).

⚠️ Modificare un contratto in uso ricalcola retroattivamente, senza avviso Modificare un contratto già assegnato a uno o più lavoratori ricalcola retroattivamente le quadrature dei periodi passati, senza alcun warning all'utente.

Fisarmonica Calcolo espansa con i tre dropdown valorizzati (Modalità di gestione degli straordinari Manuale, Periodo calcolo quadratura Orario, Calcolo quadratura su Contratto) e il toggle Spezza turni a cavallo della mezzanotte in stato OFF

Fisarmonica Assenze

Un solo campo: Tipo di calcolo delle assenze, con due valori: - Contratto: la durata di un'assenza è calcolata sulle ore previste dal contratto per quella giornata - Turni: la durata è calcolata sulle ore dei turni pianificati per quella giornata

Il dettaglio dei calcoli effettivi sul Foglio presenze e l'interazione con i giustificativi sono documentati in Richieste e giustificativi.

Fisarmonica Assenze espansa con il dropdown Tipo di calcolo delle assenze valorizzato su Turni

Tab Contatori

Aggancia al contratto i set di regole dei contatori (es. ferie, permessi, banca ore). Si gestiscono dalla guida dedicata Contatori.

Una barra in alto riassume la gerarchia di priorità con cui HyWork applica le regole — per il dettaglio vedi Contatori.

💡 Messaggio "Nessun set disponibile" Cliccando + Aggiungi set di regole, se non ce ne sono disponibili (nessuno creato in Contatori, oppure tutti già collegati a questo contratto), compare il messaggio: "Nessun set disponibile — Tutti i set attivi risultano già collegati o non ce ne sono nell'organizzazione".

Dialog Modifica Contratto sul tab Contatori aperto su Amministrazione BO PT30, con banner contratto in alto, barra Priorità a tre livelli (Override utente › Override contratto (qui) › Default regola) e set di regole 'Set ferie standard' espanso con due regole: Maturazione ferie mensile ADD +1.67 e Scalo ferie SUBTRACT INPUT

Salvare il dialog

In fondo al dialog: pulsante Salva e pulsante Annulla per chiudere senza salvare.


Tab Orari di lavoro

La tab elenca gli Orari di lavoro dell'organizzazione: template orari riutilizzabili (es. Lun-Ven 9-18, Mar-Sab turni), assegnati ai lavoratori dal dialog Modifica utente. È una sezione opzionale: si usa solo se servono orari fissi da agganciare ai lavoratori.

Per crearne uno nuovo, clicca + in alto a destra: si apre il dialog Aggiungi Orario di lavoro. Per modificarne uno esistente, clicca la matita sulla sua riga.

Il dialog ha questi campi:

Campo Cosa fa
Nome Etichetta dell'orario. Obbligatorio
Giorni / Fasce orarie Per ciascun giorno selezionato, una o più fasce di lavoro (vedi sotto)
Settimane di rotazione Numero di settimane diverse in rotazione (es. settimana A vs settimana B). Vedi sotto

Per salvare, clicca Aggiungi o Modifica.

Anche per gli Orari vale la logica permissiva: assegnare in pianificazione un turno fuori dall'orario configurato (giorno o fascia diversa) è consentito ma genera un alert in Turni.

Dialog Modifica orario di lavoro su PT 30 su 5 giorni (Pellegrini): pannello Settimana 1 sulla sinistra, a destra fascia oraria per ogni giorno della settimana (Lun-Mar-Ven 08:00-14:00, Mer-Gio 14:00-20:00, Sab e Dom vuoti)

Selettore ora

Ogni fascia è composta da inizio > fine, ciascuno nel formato Ora : Minuto con un'icona orologio. Cliccando il campo (o l'orologio) si apre un menu a due colonneOra (a sinistra) e Minuto (a destra) — in cui scorri e selezioni il valore; quello scelto è evidenziato in turchese. Selezionato l'orario, il menu si chiude.

Dialog Modifica Orario di lavoro con il selettore ora aperto sul campo di inizio del Lunedì: due colonne affiancate, Ora (08 selezionata in turchese, poi 09-13) e Minuto (00 selezionato, poi 01-05)

Fasce orarie multiple e settimane di rotazione

Per aggiungere una fascia oraria allo stesso giorno (turni spezzati: es. 9-13 + 15-19), clicca il pulsante + accanto alla riga della fascia. Il 🗑️ cestino rimuove la fascia.

Per gestire rotazioni settimanali, espandi il pannello Settimane sulla sinistra del dialog. Ogni settimana ha una sua configurazione indipendente di giorni e fasce. Aggiungi una settimana col +, rimuovila col cestino. La Settimana 1 non è eliminabile (è la base di rotazione).

Copiare la configurazione di un giorno

Ogni giorno ha una barra di icone per riusare la sua configurazione oraria sugli altri giorni, senza reimpostarla a mano:

Icona Cosa fa
Copia Copia le fasce orarie del giorno
Incolla Incolla le fasce copiate sul giorno corrente
Applica a tutta la settimana Riporta le fasce del giorno su tutti i giorni della settimana
Applica ai giorni Apre il modal Applica ai giorni con le checkbox Lun-Dom: spunti i giorni su cui riportare la configurazione, poi confermi

💡 Utile per orari uguali su più giorni (es. Lun-Ven 08:00-14:00): imposti un giorno, poi Applica ai giorni → spunti Lun-Ven.

Dialog Orario di lavoro con la barra icone del giorno (copia, incolla, applica a tutta la settimana, applica ai giorni) e il modal Applica ai giorni aperto con le checkbox Lun-Dom


Tab Calendari e festività

La tab elenca i Calendari di festività dell'organizzazione: per ciascun anno (range supportato 2021-2035), si configurano quali giorni del calendario sono festivi e/o non lavorativi. Sezione opzionale, utile per gestire festività diverse fra sedi (es. patrono di Bologna ≠ Milano).

Per crearne uno nuovo, clicca +: si apre il dialog Calendario e festività. Per modificarne uno, clicca la matita.

Struttura del dialog

Il dialog si articola su due livelli:

  1. Dialog principale — campo Nome + pannello anni a sinistra + 12 campi mensili compatti a destra. Ogni campo mensile mostra il numero di giorni lavorativi residui del mese (es. Gennaio 25 = 25 giorni lavorativi su 31 totali, dopo aver sottratto domeniche e festività italiane standard ticcate come non lavorative). Cliccando l'icona 📅 di un mese si apre il sotto-dialog di dettaglio.

  2. Sotto-dialog grid mensile — grid Lun-Dom con tutti i giorni del mese. In alto una legenda: FESTIVO (cella turchese) e Non lavorativo. Ogni giorno ha un pulsante Non lavorativo con stato (attivo) o (non attivo). Pulsanti Annulla / Applica in basso (non Salva: il sotto-dialog applica al dialog principale, il salvataggio definitivo è del dialog principale).

Per gestire più anni sullo stesso calendario, clicca + Aggiungi anno in alto a sinistra (pannello Seleziona l'anno).

Sezione "giorni non lavorativi della settimana"

Nel dialog principale, sotto i 12 campi mensili, c'è la sezione "Seleziona i giorni non lavorativi della settimana" con i toggle LUN-DOM: spunti i giorni ricorrentemente non lavorativi (es. Sabato e Domenica) e valgono per tutto l'anno, senza marcarli mese per mese.

Gli stati di ogni giorno + legenda

Nel grid mensile ogni giorno combina due cose: lo sfondo turchese = festivo (festività riconosciuta in automatico) e il toggle Non lavorativo ( / ). Per marcare un giorno come non lavorativo si preme il suo pulsante Non lavorativo nella cella.

Dialog principale Modifica Calendario e festività (es. Bologna) con pannello Seleziona l'anno a sinistra, 12 campi mensili con i giorni lavorativi residui, e in basso la sezione Seleziona i giorni non lavorativi della settimana con i toggle LUN-DOM

Sotto-dialog grid mensile su Gennaio 2026 con legenda in alto e festività italiane standard evidenziate: Gio 1 Capodanno e Mar 6 Epifania e tutte le Domeniche del mese con marcatore festivo, restanti giorni feriali lavorativi


Tab Rotazione turni

La tab elenca le Rotazioni di turni: sequenze cicliche di Modelli di Turno (es. M-M-M-M-M-R-R-P-P-P-P-P-R-R) che HyWork applica in modo ripetitivo al lavoratore in pianificazione. Sezione opzionale, utile per pattern fissi di lavoro su più giorni o settimane (vedi Turni per come la rotazione si applica in pianificazione).

Per crearne una nuova, clicca + in alto a destra. Per modificarne una esistente, clicca la matita: si apre il dialog Modifica Rotazione turni.

Struttura del dialog Modifica Rotazione turni

Il dialog ha:

  • Nome della rotazione (obbligatorio, in alto).
  • Griglia di slot giornalieri raggruppati per settimana (Settimana 1 = Giorno 1-7, Settimana 2 = Giorno 8-14, e così via): Giorno 1 … Giorno 49 (massimo 49 giorni = 7 settimane). Ogni settimana ha un'icona copia per duplicarne la configurazione.

Ogni slot rappresenta un giorno del ciclo di rotazione e può essere: - Compilato con un Modello di Turno — lo slot mostra fascia oraria (es. 08:00–16:30), codice modello (es. CS-M1) e qualifica/spazio del modello. - Vuoto — etichetta Vuoto. Equivale a un giorno di riposo nel ciclo.

Per assegnare un modello a uno slot, clicca + sullo slot: si apre il dialog Quale Modello di Turno? (vedi sotto). Una volta scelto, lo slot viene compilato.

Pulsanti in basso: Annulla (esce senza salvare) e Salva. Il campo nome è etichettato Nome (italiano).

⚠️ Massimo 49 giorni (7 settimane) La rotazione supporta fino a 49 giorni. Se serve un pattern più lungo, non è configurabile da UI.

⚠️ I turni generati da una rotazione non restano legati alla rotazione Una volta applicata a calendario, i turni creati da una rotazione non mantengono il collegamento con la rotazione di origine. Di conseguenza, eliminando o modificando la rotazione non scatta alcun blocco né avviso "in uso": i turni già a calendario restano e vanno gestiti a mano.

Dialog "Quale Modello di Turno?"

Cliccando + su uno slot della griglia rotazione si apre il dialog Quale Modello di Turno?. In alto ci sono delle tab di filtro per qualifica (es. Addetto Amministrazione, Customer & Admin Manager, Customer Support, Operations Manager, Operatore FT, Operatore PT30): selezionandone una la lista mostra solo i modelli di quella qualifica. Ogni riga mostra: fascia oraria, spazio, codice/nome del modello, qualifica.

In fondo alla lista c'è il riquadro "Ti serve un turno diverso? Crea qui il tuo turno" con pulsante + che apre la creazione di un nuovo Modello di Turno senza uscire dal flusso rotazione.

⚠️ Rotazioni con qualifiche miste → avviso Se una rotazione contiene modelli di turno di qualifiche diverse, il dialog mostra l'avviso "Ci sono modelli di turno con diverse qualifiche". Non è un blocco: la rotazione mista è permessa, ma segnalata.

Dialog Quale Modello di Turno? con le tab di filtro per qualifica in alto (Addetto Amministrazione, Customer & Admin Manager, Customer Support, Operations Manager, Operatore FT, Operatore PT30) e la griglia dei modelli di turno con fascia oraria, spazio, codice/nome e qualifica

Tab Rotazione turni con la lista delle rotazioni esistenti + dialog Modifica Rotazione turni aperto su OP-PT30, giorni raggruppati in Settimana 1 (Giorno 1-7) e Settimana 2 (Giorno 8-14) con icona copia per settimana, alcuni slot compilati e altri Vuoto, avviso "Ci sono modelli di turno con diverse qualifiche", pulsanti Annulla e Salva


Causali

La tab Causali raccoglie le motivazioni di assenza usate nelle richieste (es. Ferie, Malattia, ROL). La gestione completa delle causali, dei giustificativi e del flusso di approvazione è documentata nella guida Richieste e giustificativi.


Eliminare contratti, orari, calendari e rotazioni

In tutte le tab di Gestione contratti, l'icona 🗑️ cestino sulla riga apre un dialog di conferma. Confermando, l'elemento viene eliminato definitivamente (breve overlay di caricamento).

A differenza di Spazi di lavoro, Reparti e Qualifiche (vedi Spazi di lavoro, Reparti, Qualifiche) — dove l'archiviazione è reversibile e gli elementi finiscono in una tab Archiviati — qui non c'è recupero: il dato viene cancellato dal sistema.

⚠️ Un elemento in uso NON si può eliminare (blocco) Se provi a eliminare un Contratto, un Orario di lavoro o un Calendario ancora assegnato a dei lavoratori, l'operazione viene bloccata: compare un dialog di errore con l'elenco degli utenti collegati. Prima devi rimuovere l'elemento da quei lavoratori (dalla guida Utenti). - Contratto → titolo "Impossibile eliminare il contratto", corpo "The contract is still linked to active users." - Orario → titolo "Impossibile eliminare l'orario di lavoro", corpo "The working hours profile is still assigned to active users." - Calendario → titolo "Impossibile eliminare il calendario lavorativo", corpo "The working calendar is still assigned to active users."

⚠️ Corpo del messaggio ancora in inglese Nei dialog di blocco il titolo è in italiano ma il corpo del messaggio è in inglese (vedi virgolette sopra). Bug di localizzazione noto.

💡 La Rotazione turni fa eccezione: si elimina sempre La Rotazione turni non ha il blocco "in uso": eliminandola compare solo il dialog di conferma standard "Sicuro? Continua per eliminare la rotazione turni selezionata". Questo conferma che i turni generati da una rotazione non restano legati ad essa.

⚠️ Bug wording: dialog eliminazione Causali Nel dialog di eliminazione di una Causale (tab Causali) il testo dice "Continua per eliminare il giustificativo selezionato" invece di "…la causale selezionata". Wording errato.


Problemi comuni

Problema Causa Soluzione
Ho creato un Contratto ma non lo vedo nelle quadrature di un lavoratore Il contratto non è ancora stato assegnato Vai nella guida Utenti, apri il dialog del lavoratore e assegnagli il contratto
Modifico un campo del Contratto e le ore lavorate del mese scorso cambiano da sole I parametri si applicano retroattivamente alle quadrature già calcolate (bug noto Q31.E) Prima di modificare un contratto in uso, valuta l'impatto sui dati storici; valuta se serve creare un nuovo contratto e riassegnarlo
Provo a eliminare un contratto/orario/calendario e mi esce "Impossibile eliminare…" L'elemento è ancora assegnato a dei lavoratori → l'eliminazione è bloccata (Q1) Rimuovi prima l'elemento dai lavoratori elencati nel dialog (dalla guida Utenti), poi rielimina
Nella lista vedo la colonna Pausa ma è sempre "—" La colonna è visibile ma non ha un campo per valorizzarla (Q31.G aperto) Per ora resta vuota, è un comportamento noto
Ho eliminato un orario/calendario/rotazione non in uso e voglio recuperarlo In Gestione contratti il cestino elimina, non archivia: non c'è tab Archiviati Il dato è perso, va ricreato. Vedi sezione "Eliminare contratti, orari, calendari e rotazioni" sopra