Eventi lavorativi

Registra presenze, assenze, ferie, malattia, straordinari e altri eventi lavorativi per ciascun contratto domestico. Gli eventi lavorativi sono la base per il calcolo del cedolino.


GET/v1/work-events

Restituisce l'elenco paginato degli eventi lavorativi per un contratto domestico.

Parametri query

ParametroTipoObbligatorioDescrizione
domesticContractIdstringID del contratto domestico.
pageintegerNoNumero di pagina (default 1).
limitintegerNoNumero massimo di risultati (default 20, max 100).
sortFieldstringNoCampo per l'ordinamento (es. date).
sortDirectionstringNoDirezione ordinamento: asc o desc.

Risposta

{
  "data": [
    {
      "id": "we_01H9Y4M",
      "domesticContractId": "dc_01H9Y4N",
      "date": "2026-03-10",
      "hours": "5",
      "type": "work",
      "subType": "regular_work",
      "multiplier": "1",
      "addsToThirteen": true,
      "addsToSeverance": true,
      "isFromGlobalWage": false,
      "affectsContributions": true,
      "createdAt": "2026-03-10T08:00:00Z",
      "updatedAt": "2026-03-10T08:00:00Z"
    }
  ]
}

GET/v1/work-events/{id}

Restituisce i dettagli di un singolo evento lavorativo.

Parametri path

ParametroTipoObbligatorioDescrizione
idstringID dell'evento lavorativo.

POST/v1/work-events

Crea un nuovo evento lavorativo.

Parametri body

ParametroTipoObbligatorioDescrizione
domesticContractIdstringID del contratto domestico.
datestringData dell'evento (formato YYYY-MM-DD).
hoursstringNumero di ore (tra 0 e 24).
typestringTipo di evento (vedi tabella tipi sotto).
subTypestringSottotipo di evento (vedi tabella sottotipi sotto).
multiplierstringMoltiplicatore retributivo (da 0.01 a 10). Valore 1 per retribuzione ordinaria.
customNamestringNoNome personalizzato per l'evento.
notesstringNoNote aggiuntive.
addsToThirteenbooleanNoContribuisce al calcolo della tredicesima.
addsToSeverancebooleanNoContribuisce al calcolo del TFR.
isFromGlobalWagebooleanNoCalcolato sulla base della retribuzione globale.
affectsContributionsbooleanNoIncide sul calcolo dei contributi.

Esempio

curl -X POST https://api.workledger.it/v1/work-events \
  -H "Authorization: Bearer wl_test_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "domesticContractId": "dc_01H9Y4N",
    "date": "2026-03-10",
    "hours": "5",
    "type": "work",
    "subType": "regular_work",
    "multiplier": "1"
  }'

POST/v1/work-events/batch

Crea più eventi lavorativi in un'unica richiesta per uno stesso contratto.

Parametri query

ParametroTipoObbligatorioDescrizione
domesticContractIdstringID del contratto domestico.

Il body è un array di oggetti evento con la stessa struttura della creazione singola (senza domesticContractId, che è specificato nel parametro query).

Esempio

curl -X POST "https://api.workledger.it/v1/work-events/batch?domesticContractId=dc_01H9Y4N" \
  -H "Authorization: Bearer wl_test_abc123" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "date": "2026-03-10",
      "hours": "5",
      "type": "work",
      "subType": "regular_work",
      "multiplier": "1"
    },
    {
      "date": "2026-03-11",
      "hours": "5",
      "type": "work",
      "subType": "regular_work",
      "multiplier": "1"
    }
  ]'

POST/v1/work-events/auto-fill

Genera automaticamente gli eventi lavorativi per un intervallo di date, basandosi sull'orario settimanale configurato nel contratto.

Parametri body

ParametroTipoObbligatorioDescrizione
domesticContractIdstringID del contratto domestico.
startDatestringData di inizio (formato YYYY-MM-DD).
endDatestringData di fine (formato YYYY-MM-DD).

Esempio

curl -X POST https://api.workledger.it/v1/work-events/auto-fill \
  -H "Authorization: Bearer wl_test_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "domesticContractId": "dc_01H9Y4N",
    "startDate": "2026-03-01",
    "endDate": "2026-03-31"
  }'

L'auto-fill crea un evento lavorativo di tipo work / regular_work per ogni giorno lavorativo previsto dall'orario settimanale del contratto, con le ore corrispondenti. I giorni festivi vengono riconosciuti automaticamente.


PATCH/v1/work-events/{id}

Aggiorna un evento lavorativo esistente.

Parametri path

ParametroTipoObbligatorioDescrizione
idstringID dell'evento lavorativo.

Il body accetta gli stessi campi della creazione; vengono aggiornati solo i campi inclusi.

Esempio

curl -X PATCH https://api.workledger.it/v1/work-events/we_01H9Y4M \
  -H "Authorization: Bearer wl_test_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "hours": "3",
    "type": "sick_leave",
    "subType": "sick_full"
  }'

DELETE/v1/work-events/{id}

Elimina un evento lavorativo.

Parametri path

ParametroTipoObbligatorioDescrizione
idstringID dell'evento lavorativo.

L'eliminazione di eventi lavorativi già inclusi in un cedolino elaborato non modifica il cedolino esistente. Per ricalcolare, eliminare prima il cedolino e poi rielaborarlo.


Tipi di evento

ValoreDescrizione
workLavoro
leavePermesso
public_holidayFestività
vacationFerie
sick_leaveMalattia
work_injuryInfortunio sul lavoro
leave_of_absenceCongedo

Sottotipi di evento

ValoreTipo padreDescrizione
regular_workworkLavoro ordinario
holiday_workworkLavoro festivo
sunday_workworkLavoro domenicale
night_workworkLavoro notturno
other_workworkAltro lavoro
overtimeworkStraordinario
daily_overtimeworkStraordinario giornaliero
night_overtimeworkStraordinario notturno
unpaid_absenceleaveAssenza non retribuita
unpaid_absence_suspendedleaveAssenza non retribuita (sospesa)
paid_permitleavePermesso retribuito
unpaid_permitleavePermesso non retribuito
sick_fullsick_leaveMalattia retribuita al 100%
sick_halfsick_leaveMalattia retribuita al 50%
sick_nonesick_leaveMalattia non retribuita
sick_customsick_leaveMalattia con retribuzione personalizzata
work_injury_fullwork_injuryInfortunio retribuito
work_injury_nonework_injuryInfortunio non retribuito
regular_vacationvacationFerie ordinarie
regular_public_holidaypublic_holidayFestività ordinaria
maternity_leaveleave_of_absenceCongedo di maternità
paternity_leaveleave_of_absenceCongedo di paternità
matrimonial_leaveleave_of_absenceCongedo matrimoniale