oneapi
Autentificare
Utile v1 / Sarbatori

Zile lucrătoare într-un interval

Câte zile lucrătoare are un interval, cu defalcarea: zile calendaristice, weekenduri scoase, sărbători scoase. Pentru termene contractuale şi pentru planificare.

GET
https://oneapi.ro/api/utile/v1/sarbatori/zile-lucratoare

Parametri de interogare

NumeTipDescriereValori acceptate
taraobligatoriu string OBLIGATORIU. Codul țării sau al subdiviziunii. max 12 car.
de_laopțional string | null Prima zi din interval, inclusiv. Implicit azi (ora României) — „câte zile lucrătoare mai sunt până la termen" se cere doar cu pana_la. ex. 2026-01-01ex. 2026-05-01ex. 2024-06-15
pana_laobligatoriu string OBLIGATORIU. Ultima zi din interval, inclusiv. ex. 2026-12-31ex. 2027-12-31ex. 2026-05-31

Cum se comportă

  • Defalcarea e făcută ca să poată fi verificată prin adunare: câmpul verificare conține chiar egalitatea, scrisă. Dacă cifra pare greșită, se vede imediat unde.
  • Sărbătorile care cad în weekend NU se scad de două ori — sarbatori_in_zile_lucratoare numără doar pe cele care chiar iau o zi de lucru. Un total care le-ar amesteca n-ar mai putea fi verificat.
  • Pentru România, cifrele coincid cu cele din modulul Financiar: 252 de zile în 2024, 248 în 2025, 250 în 2026, 252 în 2027. Nu e o coincidență — e aceeași sursă de sărbători.
  • Ambele capete sunt INCLUSIVE. Un interval de la 1 la 1 ianuarie are o zi calendaristică, nu zero.
  • Fără de_la, intervalul începe azi, inclusiv — deci azi se numără dacă e zi lucrătoare. Un pana_la din trecut fără de_la dă 422: intervalul ar fi negativ.

La ce folosește

  • Calculezi normele de lucru ale unei luni sau ale unui an, pentru salarizare.
  • Estimezi durata reală a unui proiect exprimat în zile lucrătoare.
  • Compari doi ani ca să vezi de ce unul a avut capacitate de producție mai mică.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
tara string Ţara la care se referă valoarea.
de_la string Începutul intervalului acoperit de răspuns.
pana_la string Sfârşitul intervalului acoperit de răspuns, inclusiv.
zile_lucratoare integer Rezultatul: zile care nu sunt nici weekend, nici sărbătoare nelucrătoare.
defalcare.calendaristice integer Toate zilele din interval, inclusiv capetele.
defalcare.weekend integer Câte cad în weekendul țării.
defalcare.sarbatori_in_zile_lucratoare integer Sărbători care cad în afara weekendului — doar acestea scad din total.
verificare string Egalitatea scrisă, ca să poți reface calculul.
zile_weekend array Zilele de weekend folosite, ca numere ISO.
sursa string De unde vin zilele, scris explicit.
verificat boolean true doar dacă sursa e textul legii.

Exemple de răspuns

GEThttps://oneapi.ro/api/utile/v1/sarbatori/zile-lucratoare?tara=RO&de_la=2026-01-01&pana_la=2026-12-31
{
    "data": {
        "tara": "RO",
        "de_la": "2026-01-01",
        "pana_la": "2026-12-31",
        "zile_lucratoare": 250,
        "defalcare": {
            "calendaristice": 365,
            "weekend": 104,
            "sarbatori_in_zile_lucratoare": 11
        },
        "verificare": "365 − 104 − 11 = 250",
        "zile_weekend": [
            6,
            7
        ],
        "sursa": "art. 139 din Codul Muncii (Legea 53/2003), prin modulul Financiar",
        "verificat": true
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitȚara nu e acoperită.
422validarepana_la e înaintea lui de_la (ori a zilei de azi, când de_la lipsește), sau formatul datei nu e AAAA-LL-ZZ.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).

Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "pana_la e înaintea lui de_la (ori a zilei de azi, când de_la lipsește), sau formatul datei nu e AAAA-LL-ZZ.",
        "detalii": {
            "tara": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}