IndiceContratti domestici

Contratti domestici

Gestisci i rapporti di lavoro domestico: anagrafica del lavoratore, orario settimanale, configurazione retributiva, impostazioni contrattuali e voci aggiuntive.


GET/v1/domestic-contracts

Restituisce l'elenco dei contratti domestici. Supporta paginazione, ricerca e filtri.

Parametri query

ParametroTipoObbligatorioDescrizione
organizationIdstringSìID dell'organizzazione.
pageintegerNoNumero di pagina (default 1).
limitintegerNoNumero massimo di risultati (default 20, max 100).
searchstringNoTermine di ricerca testuale.
statusstringNoFiltra per stato: draft, active, inactive.
sortFieldstringNoCampo per l'ordinamento.
sortDirectionstringNoDirezione ordinamento: asc o desc.

Risposta

{
  "data": [
    {
      "id": "dc_01H9Y4N",
      "humanReadableId": "DC-2026-001",
      "employerId": "123e4567-e89b-12d3-a456-426614174000",
      "organizationId": "org_01H8X3K",
      "status": "active",
      "termType": "indefinite",
      "employmentDate": "2026-01-15",
      "contractType": "non_livein",
      "contractLevel": "B",
      "paymentType": "bank_transfer",
      "personalInfo": {
        "firstName": "Anna",
        "lastName": "Bianchi",
        "fiscalCode": "BNCHNN90A01H501Z"
      },
      "weekSchedule": {
        "monday": "5",
        "tuesday": "5",
        "wednesday": "5",
        "thursday": "5",
        "friday": "5",
        "saturday": "0",
        "sunday": "0",
        "hoursPerWeek": "25",
        "workingDaysPerWeek": "5"
      },
      "archived": false,
      "createdAt": "2026-01-10T09:00:00Z",
      "updatedAt": "2026-01-10T09:00:00Z"
    }
  ]
}

GET/v1/domestic-contracts/{id}

Restituisce i dettagli completi di un singolo contratto domestico, inclusi orario, retribuzione, impostazioni e voci aggiuntive.

Parametri path

ParametroTipoObbligatorioDescrizione
idstringSìID del contratto domestico.

POST/v1/domestic-contracts

Crea un nuovo contratto domestico.

Parametri body

ParametroTipoObbligatorioDescrizione
employerIdstringSìID del datore di lavoro.
organizationIdstringSìID dell'organizzazione.
termTypestringSìTipo di contratto: indefinite (tempo indeterminato) o fixed (tempo determinato).
employmentDatestringSìData di assunzione (formato YYYY-MM-DD).
expirationDatestringNoData di scadenza (formato YYYY-MM-DD). Obbligatorio per contratti a tempo determinato.
contractTypestringSìTipo di rapporto: non_livein, livein_fulltime, livein_parttime, livein_night_assistance, livein_night_presence, replacement.
contractLevelstringSìLivello CCNL: unique, A, AS, B, BS, C, CS, D, DS.
domesticProfilestringNoDescrizione del profilo lavorativo.
domesticInspCodestringNoCodice ispettorato.
paymentTypestringSìModalità di pagamento: cash, bank_transfer, check.
paymentDetailsstringNoDettagli sul pagamento (es. IBAN).
personalInfoobjectSìDati anagrafici del lavoratore (vedi tabella sotto).
weekScheduleobjectSìOrario settimanale (vedi tabella sotto).
miscobjectSìImpostazioni contrattuali (vedi tabella sotto).
wageConfigobjectSìConfigurazione retributiva (vedi tabella sotto).
priorPayrollobjectNoDati di cedolini precedenti per continuità (vedi tabella sotto).
additionalEntriesarrayNoVoci aggiuntive ricorrenti (vedi tabella sotto).

personalInfo (dati del lavoratore)

Stessa struttura del campo personalInfo dei datori di lavoro: firstName, lastName, fiscalCode, birthDate, address, locality, province, zipCode, phone, email, pec, ecc.

weekSchedule (orario settimanale)

ParametroTipoObbligatorioDescrizione
mondaystringSìOre di lavoro il lunedì.
tuesdaystringSìOre di lavoro il martedì.
wednesdaystringSìOre di lavoro il mercoledì.
thursdaystringSìOre di lavoro il giovedì.
fridaystringSìOre di lavoro il venerdì.
saturdaystringSìOre di lavoro il sabato.
sundaystringSìOre di lavoro la domenica.

wageConfig (configurazione retributiva)

ParametroTipoObbligatorioDescrizione
wageTypeOverwritestringNoTipo di retribuzione: hourly o monthly.
basePaystringNoPaga base (importo decimale).
isBasePayOverwrittenbooleanNoSe true, il valore di basePay sovrascrive il minimo tabellare.
extraMinVariablestringNoSuperminimo variabile.
isExtraMinVariableAutomaticbooleanNoSe true, il superminimo variabile è calcolato automaticamente.
extraMinSetDatestringNoData di impostazione del superminimo variabile (YYYY-MM-DD).
extraMinNonVariablestringNoSuperminimo non variabile.
extraSenioritystringNoScatto di anzianità.
extraSeniorityCountstringNoNumero di scatti maturati.
nextSeniorityIncreaseDatestringNoData del prossimo scatto (YYYY-MM-DD).
isExtraSeniorityOverwrittenbooleanNoSe true, lo scatto è sovrascritto manualmente.
functioningAllowancestringNoIndennità di funzione.
isFunctioningAllowanceOverwrittenbooleanNoSe true, l'indennità di funzione è sovrascritta.
accommodationLunchstringNoIndennità vitto pranzo.
accommodationDinnerstringNoIndennità vitto cena.
accommodationLodgestringNoIndennità alloggio.
isAccommodationOverwrittenbooleanNoSe true, le indennità vitto/alloggio sono sovrascritte.

misc (impostazioni contrattuali)

ParametroTipoObbligatorioDescrizione
isRelativebooleanNoIl lavoratore è un familiare del datore.
isPreschoolChildCarebooleanNoAssistenza a bambini in età prescolare.
isCareForMultipleNotSelfSufficientbooleanNoAssistenza a persone non autosufficienti.
isUniCertificatedbooleanNoLavoratore con certificazione universitaria.
isVacationEnabledbooleanNoMaturazione ferie abilitata.
vacationCalculationTypestringNoCalcolo ferie: hours o days.
isVacationLiquidatedMonthlybooleanNoFerie liquidate mensilmente.
isSeveranceEnabledbooleanNoTFR abilitato.
isSeveranceLiquidatedMonthlybooleanNoTFR liquidato mensilmente.
isSeveranceCalculatedOnAnnualBasebooleanNoTFR calcolato su base annuale.
isThirteenthEnabledbooleanNoTredicesima abilitata.
isThirteenthLiquidatedMonthlybooleanNoTredicesima liquidata mensilmente.
isInpsContributionEnabledbooleanNoContributi INPS abilitati.
isInpsContributionWithheldbooleanNoContributi INPS trattenuti dal netto.
isCassaColfContributionEnabledbooleanNoContributi Cassa Colf abilitati.
isCassaColfContributionWithheldbooleanNoContributi Cassa Colf trattenuti dal netto.
isAccommodationEnabledbooleanNoIndennità vitto/alloggio abilitata.
accommodationDaysMonthstringNoCalcolo giorni vitto: week_schedule, days_26, days_30.

additionalEntries (voci aggiuntive ricorrenti)

ParametroTipoObbligatorioDescrizione
namestringSìDescrizione della voce.
amountstringSìImporto (decimale, es. '100.00').
typestringSìTipo di voce: earning (competenza), withholding (trattenuta), figurative (figurativo).

priorPayroll (dati pregressi)

Utilizzare questo oggetto quando si importa un contratto con cedolini già elaborati da un altro sistema, per garantire la continuità nei calcoli di ferie, TFR e tredicesima.

ParametroTipoObbligatorioDescrizione
datestringSìData di riferimento dei dati pregressi (YYYY-MM-DD).
ytdGrossstringNoImponibile lordo da inizio anno.
ytdInpsContributionsstringNoContributi INPS da inizio anno.
ytdCassacolfContributionsstringNoContributi Cassa Colf da inizio anno.
accruedPreviousYearsSeverancestringNoTFR maturato anni precedenti.
accruedThisYearSeverancestringNoTFR maturato anno corrente.
totalLiquidatedSeverancestringNoTFR totale liquidato.
leftPreviousYearsVacationstringNoFerie residue anni precedenti.
accruedThisYearVacationstringNoFerie maturate anno corrente.
usedThisYearVacationstringNoFerie godute anno corrente.
accruedThirteenthstringNoTredicesima maturata.

Esempio

curl -X POST https://api.workledger.it/v1/domestic-contracts \
  -H "Authorization: Bearer wl_test_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "employerId": "123e4567-e89b-12d3-a456-426614174000",
    "organizationId": "org_01H8X3K",
    "termType": "indefinite",
    "employmentDate": "2026-01-15",
    "contractType": "non_livein",
    "contractLevel": "B",
    "paymentType": "bank_transfer",
    "personalInfo": {
      "firstName": "Anna",
      "lastName": "Bianchi",
      "fiscalCode": "BNCHNN90A01H501Z"
    },
    "weekSchedule": {
      "monday": "5",
      "tuesday": "5",
      "wednesday": "5",
      "thursday": "5",
      "friday": "5",
      "saturday": "0",
      "sunday": "0"
    },
    "wageConfig": {},
    "misc": {
      "isVacationEnabled": true,
      "isSeveranceEnabled": true,
      "isThirteenthEnabled": true,
      "isInpsContributionEnabled": true,
      "isCassaColfContributionEnabled": true
    }
  }'

I campi di wageConfig non specificati vengono calcolati automaticamente in base al livello contrattuale e alle tabelle retributive CCNL vigenti.


PATCH/v1/domestic-contracts/{id}

Aggiorna un contratto domestico esistente. Accetta gli stessi campi della creazione; vengono aggiornati solo i campi inclusi nel body.

Parametri path

ParametroTipoObbligatorioDescrizione
idstringSìID del contratto domestico.

Esempio

curl -X PATCH https://api.workledger.it/v1/domestic-contracts/dc_01H9Y4N \
  -H "Authorization: Bearer wl_test_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "contractLevel": "CS",
    "weekSchedule": {
      "monday": "6",
      "tuesday": "6",
      "wednesday": "6",
      "thursday": "6",
      "friday": "6",
      "saturday": "0",
      "sunday": "0"
    }
  }'

DELETE/v1/domestic-contracts/{id}

Elimina un contratto domestico.

Parametri path

ParametroTipoObbligatorioDescrizione
idstringSìID del contratto domestico.

Operazione irreversibile

L'eliminazione rimuove il contratto e tutti i dati associati (eventi lavorativi, cedolini). Verificare attentamente prima di procedere.


Tipi di contratto

ValoreDescrizione
non_liveinNon convivente
livein_fulltimeConvivente a tempo pieno
livein_parttimeConvivente a tempo parziale
livein_night_assistanceConvivente con assistenza notturna
livein_night_presenceConvivente con presenza notturna
replacementSostituzione

Livelli contrattuali CCNL

LivelloDescrizione
uniqueLivello unico
ACollaboratore generico non addetto all'assistenza
ASAddetto alla compagnia
BCollaboratore generico con esperienza
BSAssistente a persone autosufficienti
CCollaboratore con competenze specifiche
CSAssistente a persone non autosufficienti
DCollaboratore con esperienza e responsabilità
DSAssistente formato a persone non autosufficienti