Salta ai contenuti

Regole di generazione

Questa pagina descrive come ragiona il generatore quando premi Genera o Rigenera in Generazione: quali regole applica, in che ordine, che cosa pesa nella scelta e che cosa succede quando le regole non bastano. È il comportamento in vigore oggi: ogni valore citato è quello che il portale usa davvero.

  1. Prima le assenze approvate: chi è in ferie, malattia, permesso o riposo non lavora.
  2. Per ogni posto da coprire il generatore guarda tutti gli operatori e scarta chi romperebbe una regola.
  3. Tra chi resta sceglie il punteggio più basso: in pratica chi è più indietro con ore, notti e weekend.
  4. Se nessuno è ammesso prova una forzatura: sceglie chi rompe solo regole che si possono derogare, la più leggera, e la segnala.
  5. Se nemmeno così c’è qualcuno, il turno resta scoperto e compare come errore negli Avvisi.
  6. A piano finito un ultimo passaggio riavvicina le ore di ciascuno al proprio contratto, e si calcolano gli avvisi.

Il percorso con cui il generatore decide chi lavora, dai blocchi alla forzatura, fino al turno scoperto

Per rispettare riposi, giorni di fila e weekend a cavallo del periodo, il generatore guarda anche i giorni prima del periodo, se il piano esiste già. Quanti sono lo decide questa regola: vale il più alto tra i Giorni di contesto precedenti della Configurazione e il minimo che le regole richiedono, cioè almeno 7 giorni, i weekend consecutivi massimi più uno moltiplicati per 7 (con il valore di partenza, 2: 21 giorni) e i giorni consecutivi massimi più uno. L’impostazione può alzare questo minimo, mai abbassarlo.

Ogni assenza approvata blocca l’operatore per tutto il giorno: gli orari indicati nella richiesta non contano. Una richiesta in attesa, rifiutata o annullata non blocca nessuno. Nel piano l’assenza compare come riga figurativa (F Ferie, Ma Malattia, Pm Permesso, R Riposo) che non conta nella copertura del turno.

Un giorno libero richiesto e approvato non è un’assenza: non blocca l’operatore, ma il generatore lo evita come preferenza forte. Per quel giorno l’operatore viene messo in turno solo se nessun altro è utilizzabile (anche con una forzatura); in quel caso il turno resta Forzato e negli Avvisi compare “Giorno libero richiesto non rispettato”. Il giorno libero non riduce le ore di contratto: le ore si recuperano negli altri giorni del periodo. Si chiede come le altre assenze, vedi Assenze.

Se la sede lo ha abilitato (interruttore in Sedi), il compleanno di ogni operatore, ricavato dalla sua Data di nascita, vale come un giorno libero richiesto e approvato: il generatore lo evita come preferenza forte, senza ridurre le ore di contratto (si recuperano negli altri giorni). Non compare nella pagina Assenze e non conta nelle ore o nei contatori. Se quel giorno nessun altro è utilizzabile, l’operatore viene messo in turno lo stesso: il turno resta Forzato, il suggerimento dice che “compie gli anni” e negli Avvisi compare “Giorno di riposo per il compleanno non rispettato”. Se nello stesso giorno c’è un’assenza vera (per esempio le ferie), prevale l’assenza.

Di norma i turni si riempiono nell’ordine configurato (Mattina, Pomeriggio, Notte). Con Equa quantità di notti attiva la Notte si riempie per prima, perché è il turno con meno candidati (riposo dopo la notte, limiti di notti): così mattina e pomeriggio non consumano prima chi ha fatto meno notti. Nel piano i turni restano comunque nell’ordine di sempre.

Per ogni posto da coprire il generatore controlla tutte le regole sull’operatore. È ammesso solo chi non ne rompe nessuna: le sole eccezioni sono le tre preferenze (vedi sotto), che non escludono nessuno. Il numero di posti per turno è il fabbisogno del turno, oppure quello specifico della sede per quella data.

Tra gli ammessi vince chi ha il punteggio più basso. Il punteggio somma, in modo diverso a seconda delle opzioni, ore già fatte, weekend, notti e un piccolo numero casuale (vedi Equità). Il numero casuale dipende dall’operatore e dal seme della generazione: lo stesso periodo con lo stesso seme dà sempre lo stesso piano, mentre ogni nuova Genera o Rigenera usa un seme nuovo e produce una variante diversa.

Se nessuno è ammesso, il generatore cerca un operatore che romperebbe solo regole forzabili (vedi la tabella sotto). Tra questi sceglie quello con il punteggio più basso, ottenuto sommando le penalità delle regole derogate al punteggio di equità: la forzatura ricade quindi sulla regola più leggera e su chi è più indietro. Il turno viene assegnato con l’etichetta Forzato, vengono registrati il motivo e le ore in deroga, e compare un avviso di tipo Forzatura negli Avvisi.

Se per un posto non c’è nessuno utilizzabile nemmeno con una forzatura, il turno resta scoperto: errore negli Avvisi (“Turno … scoperto: x/y assegnati.”) e il piano non si può confermare finché non lo copri a mano. Per quel turno e per quel giorno il generatore non prova gli altri posti.

Una regola bloccante esclude l’operatore dal posto anche per la forzatura. I nomi sono quelli che leggi nella pagina Decisioni.

RegolaCosa verificaDove si impostaValore di partenza
Operatore disabilitatoL’operatore non è attivo.Operatori (Operatore attivo)-
In malattiaMalattia approvata nel giorno.Assenze-
AssenteFerie, permesso o riposo approvati nel giorno.Assenze-
Turno non abilitatoLa persona non fa quella fascia (mattina, pomeriggio o notte).Configurazione (Abilita turno … di default) e regole personaliIn una nuova azienda tutte e tre spente
Giorno non lavorativoSabato, domenica o festivo (nazionale) che la persona non lavora; il festivo ha la precedenza.Configurazione (Sabato / Domenica / Festivi lavorativi) e regole personaliIn una nuova azienda spenti
Già in turno oggi / Già assegnato al turnoUn solo turno al giorno per persona.Fissa-
Limite ore mensili (con Rispetta ore massime di contratto)Le ore del periodo più quelle del turno supererebbero le ore massime del periodo. Il turno resta scoperto piuttosto che superare il tetto.Contratto e opzione in ConfigurazioneOpzione attiva nelle nuove aziende
Riposo minimo tra turni, sotto le 8 oreTra la fine di un turno e l’inizio del successivo passano meno di 8 ore (turni sovrapposti o troppo vicini).Configurazione (Riposo minimo tra turni)11 ore: tra 8 e 11 la regola si può forzare
Limite ore settimanali (con Rispetta ore massime di contratto)Le ore dei 7 giorni precedenti più il turno supererebbero il tetto settimanale.Configurazione (Ore massime settimanali) e contratto48 ore, e mai oltre quanto consente il contratto della persona
Giorno di riposo settimanaleLa persona ha lavorato i 6 giorni precedenti: il settimo sarebbe di fila (D.Lgs. 66/2003 art. 9).Configurazione (Riposo settimanale obbligatorio)Attivo

Se nessun operatore è ammesso, queste regole possono essere derogate con una forzatura. La colonna Penalità è il peso che entra nella scelta della forzatura: più è bassa, più la regola è considerata leggera.

RegolaCosa verificaPenalitàDove si impostaValore di partenza
Limite ore mensili (senza Rispetta ore massime)Le ore già assegnate (periodo e giorni di contesto) più il turno superano le ore massime mensili del contratto.80Contratto della persona-
Riposo dopo turno notteIl giorno prima la persona ha fatto una notte.70Configurazione (Riposo obbligatorio dopo notte)Attivo
Limite ore settimanali (senza Rispetta ore massime)Le ore dei 7 giorni precedenti più il turno superano il tetto.75Configurazione (Ore massime settimanali)48 ore
Riposo minimo tra turni, tra 8 ore e il minimoIl riposo è sotto il minimo ma non sotto le 8 ore.75Configurazione (Riposo minimo tra turni)11 ore
Limite notti/settimanaLe notti della settimana (ISO) già assegnate più questa superano il limite.60Configurazione (Max notti a settimana)2
Limite notti/meseLe notti già assegnate (periodo e contesto) più questa superano il limite.55Configurazione (Max notti al mese)8
Giorni consecutivi massimiI giorni di fila prima di questo, più uno, superano il limite (0 = nessun limite).45Configurazione (Max giorni consecutivi)6
Turni consecutivi stesso tipoMattine, pomeriggi o notti di fila oltre il limite (0 = nessun limite).45Configurazione (Max mattine / pomeriggi / notti consecutive)5, 5 e 2
Weekend consecutivi massimiIl weekend lavorato di fila oltre il limite (un weekend è lavorato con un turno di sabato o di domenica).150 per ogni weekend oltre il limiteConfigurazione (Max weekend consecutivi)2

Le regole bloccanti e le forzabili hanno limiti numerici che il portale controlla quando salvi (per esempio le ore settimanali da 0 a 60, le notti a settimana da 0 a 7): i valori ammessi sono nella pagina Configurazione e in Operatori.

Tre regole non escludono nessuno e non sono mai una violazione: sono preferenze.

PreferenzaEffetto sul punteggioDove si imposta
Fascia oraria preferita dell’operatoreTurno preferito: -25. Altro turno: +20.Regole personali dell’operatore
Ruoli richiesti del turnoChi ha un ruolo ancora mancante: -40. Chi non ne copre nessuno: +35.Configurazione (I turni)
Evita festivo se lavorato anno prec.Festivo già lavorato lo stesso giorno dell’anno precedente: +50.Configurazione e regole personali

La copertura dei ruoli (Copertura ruoli) è un controllo a fine turno: se una regola non è rispettata compare un avviso. Non esclude nessuno.

L’opzione “Preferenze e ruoli guidano la scelta”

Sezione intitolata “L’opzione “Preferenze e ruoli guidano la scelta””

In Configurazione, nella Generazione automatica, l’opzione Preferenze e ruoli guidano la scelta decide se preferenze e copertura dei ruoli contano nella scelta normale, tra gli operatori ammessi:

  • Attiva (è il valore di partenza nelle nuove aziende): il punteggio delle tre preferenze si somma al punteggio di equità, e la copertura dei ruoli orienta la scelta. Per ogni regola attiva su quel turno, chi serve a soddisfarla ha un bonus e chi la renderebbe impossibile una penalità: 800 se la regola è obbligatoria, 200 se è preferenziale. Rende impossibile una regola chi non ha il ruolo quando i posti rimasti servono tutti a coprirlo, oppure chi lo ha quando il massimo, o il numero esatto, è già raggiunto.
  • Spenta (le aziende esistenti, finché non la attivi): le preferenze contano solo quando il generatore sceglie una forzatura, e la copertura dei ruoli viene soltanto verificata e segnalata.

Il punteggio di un operatore somma questi termini; vince il più basso.

TermineQuanto pesaQuando
Ore già assegnate10 per ora (40 con Equo carico di lavoro)Sempre. Con Garantisci ore minime di contratto il carico si misura in percentuale delle ore di contratto del periodo, così un part-time e un tempo pieno avanzano alla stessa velocità.
Giorni di filaCrescente con il quadrato dei giorni lavorati di seguito: 25 per giorno al quadrato (100 con Equo carico)Solo con Garantisci ore minime di contratto: serve a far alternare riposi e turni.
Weekend lavorati30 per ogni turno fatto di sabato o domenicaSolo con Equa rotazione weekend
Notti già fatte15 per notteSempre
Equa quantità di notti200 per ogni notte già fatta nel periodo, quando si assegna una notte; 2.000 per ogni notte di ritardo sugli altri quando si assegna un turno di giornoSolo con Equa quantità di notti, e solo tra chi può fare le notti
Preferenze (fascia, ruoli richiesti, festivo)Il loro punteggio (vedi sopra), una voltaSolo con Preferenze e ruoli guidano la scelta
Copertura dei ruoliBonus o penalità di 800 (obbligatoria) o 200 (preferenziale)Solo con Preferenze e ruoli guidano la scelta
Variazione casualeUn numero da 0 a 36, ripetibile (dipende dall’operatore e dal seme)Sempre: evita di favorire sempre gli stessi a parità di condizioni

Le equità sono preferenze del generatore, non garanzie: le regole di legge e le assenze vengono sempre prima, e con pochi operatori qualche scarto resta (vedi Avvisi > Distribuzione ore).

Per ogni operatore il generatore calcola, sul periodo che stai generando:

  • Ore di contratto del periodo = ore settimanali × (giorni del periodo − giorni di assenza) ÷ 7. Senza ore settimanali si usano le ore mensili in proporzione ai giorni.
  • Minimo del periodo = ore di contratto − la durata del turno più breve (6 ore con i turni di partenza). Esiste solo con Garantisci ore minime di contratto.
  • Massimo del periodo = ore massime mensili in proporzione ai giorni del periodo (non ridotto dalle assenze). Esiste solo con Rispetta ore massime di contratto.

Un giorno di ferie vale come un turno corto: 6 ore (la durata del turno più breve configurato). Quelle ore si sommano a quelle dei turni. Per esempio una persona con 60 ore di turni prima delle ferie e 10 giorni di ferie arriva a 60 + 60 = 120 ore (più i turni dopo le ferie, per esempio altre 12 ore: 132h/132,9h in Tabella). Il dettaglio è nel suggerimento sopra il nome (Ore lavorate 72h + ferie 60h).

Le ferie però non possono far superare il tetto, cioè le ore di contratto del periodo. Il tetto si consuma in ordine di data: a ogni giorno di ferie TurniPro guarda quanto ne resta, cioè ore di contratto − ore lavorate fino a quel giorno − ore di ferie già contate. Se ci stanno altre 6 ore il giorno è ferie; quando il tetto è esaurito i giorni di ferie successivi non sono più ferie ma giorni richiesti: compaiono come GL, non danno ore e valgono come una richiesta di giorno libero. Permessi e malattia non danno ore.

Con questa opzione il generatore:

  1. sceglie guardando il carico in percentuale del contratto (vedi sopra);
  2. a piano finito recupera le ore: se qualcuno è ancora sotto il minimo, gli passa turni da chi è più sopra, uno alla volta, finché è possibile. Ogni scambio deve rispettare tutte le regole di chi riceve il turno, anche nei giorni successivi, non può portare chi cede sotto il suo minimo e non può far superare al ricevente la percentuale di chi cede.

Se le coperture richieste valgono meno delle ore di contratto, nessuno può raggiungere il minimo: lo segnala l’avviso “I turni richiesti dal piano … non bastano a coprire le ore di contratto degli operatori” e restano gli avvisi sotto le ore minime.

Con questa opzione il tetto diventa bloccante e uguale per tutti i passaggi: il massimo del periodo e il tetto settimanale non si superano nemmeno con una forzatura; il turno resta scoperto e viene segnalato. Il tetto settimanale è il più basso tra Ore massime settimanali e le ore massime mensili del contratto moltiplicate per 7 e divise per 31 (per esempio 211 ore al mese danno circa 47,6 ore a settimana).

Con Equo carico di lavoro attivo, a piano finito il generatore sposta turni da chi è sopra la propria quota equa a chi è sotto. La quota equa sono le ore del piano ripartite in proporzione alle ore di contratto del periodo (le stesse della scheda Avvisi > Distribuzione ore).

  • Si ferma quando lo scarto è dentro un turno (6 ore con i turni di partenza).
  • Sposta solo turni assegnati automaticamente: non tocca le forzature, i turni inseriti a mano né le lunghe emergenziali.
  • Ogni scambio rispetta le regole di chi riceve il turno (anche nei giorni successivi), non cambia quante persone coprono ogni turno e non disfa l’equità di notti e weekend.
  • Con piani molto fitti può non trovare nessuno scambio valido: gli scarti che restano sono spiegati in Avvisi.

Finita la generazione il portale calcola gli Avvisi del piano. Quelli che nascono dalle regole di questa pagina sono:

AvvisoGravitàQuando compare
Turno non copertoErroreUn turno ha meno persone di quelle richieste.
ForzaturaAttenzioneUn turno è stato assegnato derogando una regola (con il motivo).
Copertura ruoliErrore se la regola è obbligatoria, attenzione se è preferenzialeUna regola di Copertura ruoli non è rispettata.
Sotto le ore minimeAttenzioneChi è sotto il minimo di ore del periodo.
Ore di contratto non coperteInformazioneI turni richiesti valgono meno delle ore di contratto complessive.
Ore oltre il contrattoAttenzioneChi supera il contratto, o ha turni forzati per qualche ora.
Weekend libero mancanteAttenzioneSolo nella vista mensile, per chi ha la regola Almeno un weekend libero al mese.
Riposo tra turniErroreIl riposo tra due giorni di fila è sotto il minimo.
Ore settimanaliAttenzioneUna settimana supera il tetto di ore.
Weekend consecutiviAttenzionePiù weekend di fila del limite.
Riposo settimanale mancanteErroreSette giorni di fila senza un giorno libero.
Turni minimiAttenzioneMeno turni del minimo garantito dal contratto.

I messaggi esatti sono nella pagina Avvisi.

  • Le regole generali della Configurazione valgono per tutti.
  • Un operatore con Usa regole personalizzate attivo usa i suoi valori al posto di quelli generali. Senza l’interruttore valgono solo le regole generali (e la sua fascia preferita non conta).
  • Il contratto personale (ore settimanali, mensili, minime, massime) vale sempre: se un campo manca, vale il contratto predefinito.
  • Le due opzioni Garantisci ore minime e Rispetta ore massime si possono decidere anche per il singolo operatore: prevale la sua scelta, altrimenti quella generale.

Nelle nuove aziende i valori di partenza sono quelli di legge (D.Lgs. 66/2003) e le ottimizzazioni sono tutte attive: vedi Configurazione.

Per non farti aspettare qualcosa che oggi non succede:

  • Almeno un weekend libero al mese e Turni minimi garantiti non guidano la scelta: producono soltanto un avviso a piano finito.
  • La copertura dei ruoli e le preferenze non sono mai una garanzia. Con Preferenze e ruoli guidano la scelta spenta contano solo nelle forzature e nell’avviso a fine turno; con l’opzione accesa orientano la scelta, ma se i ruoli non bastano il turno compare comunque negli Avvisi.
  • Le assenze valgono sempre per l’intera giornata: gli orari indicati nella richiesta non vengono considerati.
  • Il generatore lavora su una sede alla volta: non guarda se la stessa persona è pianificata altrove.
  • I limiti di notti al mese e a settimana contano le notti già assegnate nei giorni considerati (periodo e contesto), non il mese di calendario.
  • Non cerca scambi mentre riempie il piano: gli spostamenti avvengono solo dopo, con il recupero delle ore minime e il riequilibrio.
  • Gli avvisi di qualità controllano solo i giorni del piano, non il confine con il periodo precedente: il generatore invece lo rispetta grazie ai giorni di contesto.
  • Un operatore non viene mai scelto per un turno. Apri Decisioni: per ogni turno vedi gli operatori esclusi e la regola che li ha fermati. Spesso è una fascia non abilitata, un giorno non lavorativo o il riposo dopo la notte.
  • Troppe forzature. Le forzature nascono quando le regole lasciano troppo pochi operatori ammessi: guarda quale regola compare più spesso nel motivo, per esempio i weekend consecutivi, e valuta se il limite o il numero di operatori è adeguato.
  • Un turno resta scoperto. Nessuno era utilizzabile nemmeno con una forzatura: controlla assenze, fasce abilitate e ore massime di contratto, oppure aggiungi una persona a mano dalla Generazione.
  • Il piano cambia a ogni Genera o Rigenera. È voluto: ogni generazione usa un seme nuovo. Lo stesso piano, finché non lo rigeneri, non cambia.