Files
ArchiTools/src/modules/registratura/services/deadline-catalog.ts
T
AI Assistant a96dce56a2 feat(registratura): revert intrat full categories + add urbanism deadlines
- Revert: only iesit+cerere/aviz gets full permitting categories
- Urbanism: furnizare date retele (15z cal, doar autoritati publice)
- Urbanism: aviz oportunitate PUZ — verificare (30z) + convocare CTATU
  (30z, chain) + emitere dupa comisie (15z, auto-track)
- Urbanism: aviz arhitect sef PUD/PUZ — convocare CTATU (30z, chain)
  + emitere (15z, auto-track)
- Urbanism: promovare CL (30z) + vot CL (45z dupa dezbatere publica)
- None of the urbanism deadlines have tacit approval

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:45:25 +02:00

869 lines
34 KiB
TypeScript

import type {
DeadlineTypeDef,
DeadlineCategory,
RegistryDirection,
} from "../types";
export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
// ═══════════════════════════════════════════════════════════════
// CERTIFICAT DE URBANISM
// ═══════════════════════════════════════════════════════════════
// ── Auto-tracked (system creates automatically, not user-selectable) ──
{
id: "cu-verificare",
label: "Verificare cerere CU",
description:
"Verificare operativa a documentatiei depuse. Dupa acest termen institutia nu mai are dreptul legal sa solicite clarificari sau sa returneze documentatia.",
days: 10,
dayType: "working",
startDateLabel: "Data depunerii cererii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 50/1991, art. 6^1 alin. (1)",
autoTrack: true,
directionFilter: ["iesit"],
},
{
id: "cu-suport-tehnic",
label: "Suport tehnic interinstitutional",
description:
"Termen in care autoritatile locale acorda suport tehnic de specialitate institutiilor din SNAOPSN — stabilirea cerintelor urbanistice.",
days: 10,
dayType: "working",
startDateLabel: "Data solicitarii",
requiresCustomStartDate: true,
startDateHint: "Data la care institutia SNAOPSN a solicitat suportul tehnic",
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 50/1991, art. 8 alin. (2)",
autoTrack: true,
directionFilter: ["iesit"],
},
// ── CJ sub-deadlines (auto-created when CJ toggle is on) ──
{
id: "cu-cj-solicitare-aviz",
label: "Arhitect-sef solicita aviz primar",
description:
"La depunerea cererii CU la Consiliul Judetean, arhitectul-sef solicita avizul structurii de specialitate a primariei in 3 zile calendaristice.",
days: 3,
dayType: "calendar",
startDateLabel: "Data depunerii cererii CU la CJ",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
chainNextTypeId: "cu-cj-aviz-primar",
chainNextActionLabel: "Adauga termen emitere aviz primar (5 zile)",
category: "certificat",
legalReference: "Legea 50/1991, art. 4 alin. (1^1)",
autoTrack: true,
directionFilter: ["iesit"],
},
{
id: "cu-cj-aviz-primar",
label: "Primar emite aviz",
description:
"Primarul emite avizul structurii de specialitate in 5 zile calendaristice de la solicitarea arhitectului-sef.",
days: 5,
dayType: "calendar",
startDateLabel: "Data solicitarii avizului",
requiresCustomStartDate: true,
startDateHint: "Data la care arhitectul-sef a solicitat avizul",
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 50/1991, art. 4 alin. (1^1)",
autoTrack: true,
directionFilter: ["iesit"],
},
// ── Comunicare — auto-tracked for all deadline types ──
{
id: "comunicare-aviz-beneficiar",
label: "Comunicare documente catre beneficiar",
description:
"Entitatile emitente de avize au obligatia sa transmita beneficiarului avizele, solicitarile de completare sau respingerea prin mijloace electronice, in ziua eliberarii actului.",
days: 1,
dayType: "calendar",
startDateLabel: "Data eliberarii actului",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
autoTrack: true,
directionFilter: ["iesit"],
},
// ── User-selectable CU deadlines ──
{
id: "cu-emitere-l50",
label: "Emitere CU (constructii — L50)",
description:
"Termen de emitere a Certificatului de Urbanism pentru documentatii de constructii. NU se aplica avizarea tacita.",
days: 15,
dayType: "working",
startDateLabel: "Data inregistrarii cererii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 50/1991, art. 6^1 alin. (1)",
directionFilter: ["iesit"],
},
{
id: "cu-emitere-l350",
label: "Emitere CU (urbanism — L350)",
description:
"Termen de emitere a Certificatului de Urbanism pentru documentatii de urbanism (PUG/PUZ/PUD). NU se aplica avizarea tacita.",
days: 30,
dayType: "calendar",
startDateLabel: "Data inregistrarii cererii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 350/2001, art. 29 alin. (2)",
directionFilter: ["iesit"],
},
{
id: "cu-prelungire-emitere",
label: "Emitere prelungire CU",
description:
"Termen de emitere a prelungirii CU de la depunerea cererii de prelungire. Termen din practica administrativa (nu e explicit in lege).",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii cererii de prelungire",
requiresCustomStartDate: true,
startDateHint:
"Data la care s-a depus cererea de prelungire a CU",
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Practica administrativa",
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// AVIZE
// ═══════════════════════════════════════════════════════════════
// ── Auto-tracked avize (system creates automatically) ──
{
id: "aviz-completari-limit",
label: "Limita solicitare completari (fara comisie)",
description:
"Dupa primele 5 zile lucratoare de la depunerea documentatiei, institutia avizatoare nu mai are dreptul sa solicite completari. Se aplica doar pentru avize care NU trec prin comisie de specialitate.",
days: 5,
dayType: "working",
startDateLabel: "Data depunerii documentatiei",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "avize",
legalReference: "Norme metodologice Legea 50/1991",
autoTrack: true,
directionFilter: ["iesit"],
},
{
id: "aviz-emitere-dupa-completari",
label: "Emitere aviz dupa completari",
description:
"Dupa depunerea completarilor/clarificarilor/modificarilor solicitate, institutia are un nou termen maxim de 15 zile calendaristice pentru emiterea (sau respingerea) avizului. Se aplica avizarea tacita.",
days: 15,
dayType: "calendar",
startDateLabel: "Data depunerii completarilor",
requiresCustomStartDate: true,
startDateHint:
"Data la care s-au depus completarile/clarificarile solicitate de institutie (dovada prin comunicare conexa cererii de aviz)",
tacitApprovalApplicable: true,
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
autoTrack: true,
directionFilter: ["iesit"],
},
{
id: "aviz-cultura-depunere-comisie",
label: "Cultura — depunere la comisie",
description:
"In maximum 30 zile calendaristice de la depunerea documentatiei, aceasta trebuie supusa analizei comisiei nationale/zonale a monumentelor istorice. Se inchide cu eveniment de tip 'Convocare sedinta'.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii documentatiei",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3)",
autoTrack: true,
directionFilter: ["iesit"],
},
// ── User-selectable avize ──
{
id: "aviz-ac-15",
label: "Aviz pt AC (standard — L50)",
description:
"Termen de emitere a avizelor si acordurilor necesare Autorizatiei de Construire (Legea 50). Termenul incepe de la data transmiterii documentatiei (se ataseaza dovada: mail, confirmare primire). Se aplica avizarea tacita daca nu se primeste raspuns sau solicitare de completari.",
days: 15,
dayType: "calendar",
startDateLabel: "Data transmiterii documentatiei",
requiresCustomStartDate: false,
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
directionFilter: ["iesit"],
},
{
id: "aviz-urbanism-30",
label: "Aviz pt urbanism (PUG/PUZ/PUD — L350)",
description:
"Termen de emitere a avizelor/acordurilor pentru documentatii de urbanism (Legea 350). Termenul incepe de la data transmiterii documentatiei (se ataseaza dovada). Se aplica avizarea tacita daca nu se primeste raspuns sau solicitare de completari.",
days: 30,
dayType: "calendar",
startDateLabel: "Data transmiterii documentatiei",
requiresCustomStartDate: false,
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
directionFilter: ["iesit"],
},
{
id: "aviz-mediu",
label: "Aviz Protectia Mediului",
description:
"Actul administrativ de mediu se emite in maximum 15 zile calendaristice de la data incheierii procedurilor specifice de mediu. Termenul NU incepe de la depunere, ci de la un eveniment ulterior (sedinta CAT, adresa primita, apel telefonic) care confirma incheierea procedurii. Leaga de un eveniment conex in thread.",
days: 15,
dayType: "calendar",
startDateLabel: "Data finalizare proceduri mediu",
requiresCustomStartDate: true,
startDateHint:
"Data evenimentului care confirma inchiderea procedurii de mediu (sedinta CAT, adresa primita, apel telefonic). Leaga de un eveniment conex in thread.",
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3)",
directionFilter: ["iesit"],
},
{
id: "aviz-cultura-comisie",
label: "Aviz Cultura — emitere dupa comisie",
description:
"Faza 2: Termen de 30 zile calendaristice pentru emiterea avizului, care incepe DUPA primirea convocarii sedintei sau evenimentului completari finale. Se creeaza automat si un termen de 30 zile (faza 1) pentru depunerea la comisia de specialitate.",
days: 30,
dayType: "calendar",
startDateLabel: "Data sedinta comisie / completari finale",
requiresCustomStartDate: true,
startDateHint:
"Data sedintei comisiei monumentelor istorice sau data primirii adresei de completari finale",
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3)",
directionFilter: ["iesit"],
},
{
id: "aviz-cultura-mc",
label: "Aviz Min. Culturii (faza AC)",
description:
"Termen de emitere a avizului Ministerului Culturii la faza de autorizare, de la primirea documentatiei complete.",
days: 30,
dayType: "working",
startDateLabel: "Data primirii documentatiei complete",
requiresCustomStartDate: true,
startDateHint:
"Data la care Min. Culturii a primit documentatia completa",
tacitApprovalApplicable: true,
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3^1)",
directionFilter: ["iesit"],
},
{
id: "aviz-aeronautica",
label: "Aviz Aeronautica Civila",
description:
"Termen de emitere a avizului de la Autoritatea Aeronautica Civila Romana.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii documentatiei",
requiresCustomStartDate: false,
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3)",
directionFilter: ["iesit"],
},
{
id: "aviz-isu",
label: "Aviz ISU (Situatii de Urgenta)",
description:
"Termen de emitere a avizului ISU pentru documentatii de urbanism.",
days: 15,
dayType: "calendar",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3)",
directionFilter: ["iesit"],
},
{
id: "aviz-transport-eu",
label: "Aviz infrastructura transeuropeana",
description:
"Avize/acorduri de principiu sau de amplasament pentru proiecte de infrastructura transeuropeana de transport.",
days: 10,
dayType: "calendar",
startDateLabel: "Data solicitarii",
requiresCustomStartDate: false,
tacitApprovalApplicable: true,
chainNextTypeId: "aviz-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere dupa completari (15 zile cal.)",
category: "avize",
legalReference: "Legea 50/1991, art. 7 alin. (3)",
directionFilter: ["iesit"],
},
{
id: "aviz-comisie-agenda",
label: "Punere pe agenda comisie",
description:
"Institutiile care emit avize prin comisie de specialitate sunt obligate sa introduca documentatia pe agenda si sa o analizeze in acest termen.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii solicitarii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "avize",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
directionFilter: ["iesit"],
},
{
id: "aviz-comisie-emitere",
label: "Emitere dupa comisie (autoritati centrale)",
description:
"Pentru autoritatile centrale, avizul se emite in maximum 15 zile de la data analizarii in comisie.",
days: 15,
dayType: "calendar",
startDateLabel: "Data analizarii in comisie",
requiresCustomStartDate: true,
startDateHint:
"Data la care documentatia a fost analizata in comisia de specialitate",
tacitApprovalApplicable: true,
category: "avize",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
directionFilter: ["iesit"],
},
{
id: "aviz-oportunitate-comisie",
label: "Aviz oportunitate — analiza",
description:
"Termen de analiza in comisia tehnica si/sau verificare completari pentru avizul de oportunitate (initiere PUZ). NU se aplica avizarea tacita!",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "avize",
legalReference: "Legea 350/2001, art. 32 alin. (1^1)",
directionFilter: ["iesit"],
},
{
id: "aviz-oportunitate-emitere",
label: "Aviz oportunitate — emitere",
description:
"Termen de emitere a avizului de oportunitate de la data analizarii in comisie. NU se aplica avizarea tacita!",
days: 15,
dayType: "calendar",
startDateLabel: "Data analizarii in comisie",
requiresCustomStartDate: true,
startDateHint: "Data sedintei comisiei tehnice in care s-a analizat",
tacitApprovalApplicable: false,
category: "avize",
legalReference: "Legea 350/2001, art. 32 alin. (1^1)",
directionFilter: ["iesit"],
},
{
id: "aviz-reconfirmare",
label: "Reconfirmare avize PUZ/PUD",
description:
"Termen de reconfirmare a avizelor (fara modificari la solutia tehnica). Lipsa raspunsului inseamna reconfirmare tacita.",
days: 5,
dayType: "working",
startDateLabel: "Data solicitarii reconfirmarii",
requiresCustomStartDate: true,
startDateHint: "Data la care s-a solicitat reconfirmarea avizelor",
tacitApprovalApplicable: true,
category: "avize",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
directionFilter: ["iesit"],
},
{
id: "aviz-primar",
label: "Aviz primar (cand CJ emite)",
description:
"Cand Consiliul Judetean emite certificatul/autorizatia, arhitectul-sef il solicita in 3 zile, iar primarul il emite in 5 zile.",
days: 5,
dayType: "calendar",
startDateLabel: "Data primirii solicitarii de catre primar",
requiresCustomStartDate: true,
startDateHint: "Data la care primarul a primit solicitarea de aviz",
tacitApprovalApplicable: false,
category: "avize",
legalReference: "Legea 50/1991, art. 4 alin. (1^1)",
directionFilter: ["iesit"],
},
{
id: "aviz-monument-fara-ac",
label: "Acord lucrari minore la monumente",
description:
"Acord scris al serviciului deconcentrat de cultura pentru lucrari minore la monumente ce nu necesita AC. Depasirea termenului = acord tacit.",
days: 30,
dayType: "calendar",
startDateLabel: "Data notificarii",
requiresCustomStartDate: true,
startDateHint:
"Data la care s-a notificat serviciul deconcentrat de cultura",
tacitApprovalApplicable: true,
category: "avize",
legalReference: "Legea 50/1991, art. 11 alin. (1)",
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// COMPLETARI
// ═══════════════════════════════════════════════════════════════
{
id: "completare-notificare-5",
label: "Solicitare completari (fara comisie)",
description:
"Pentru avizele care nu trec prin comisii, solicitarea de completari dupa primele 5 zile lucratoare nu este permisa.",
days: 5,
dayType: "working",
startDateLabel: "Data depunerii documentatiei",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "completari",
legalReference: "Norme metodologice Legea 50/1991",
directionFilter: ["iesit"],
},
{
id: "completare-beneficiar-60",
label: "Termen beneficiar depunere completari",
description:
"Beneficiarul are 60 zile de la primirea notificarii pentru a depune documentatia revizuita. Depasirea inchide dosarul si necesita reluarea procesului.",
days: 60,
dayType: "calendar",
startDateLabel: "Data notificarii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
chainNextTypeId: "completare-emitere-15",
chainNextActionLabel: "Adauga termen emitere dupa completari (15 zile)",
category: "completari",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
directionFilter: ["iesit"],
},
{
id: "completare-emitere-15",
label: "Emitere dupa completari",
description:
"Dupa depunerea completarilor, entitatile emit avizul sau il resping justificat in 15 zile. Depasirea = aviz tacit.",
days: 15,
dayType: "calendar",
startDateLabel: "Data depunerii completarilor",
requiresCustomStartDate: true,
startDateHint: "Data la care beneficiarul a depus completarile",
tacitApprovalApplicable: true,
category: "completari",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
directionFilter: ["iesit"],
},
{
id: "completare-ac-beneficiar",
label: "Completari AC — termen beneficiar",
description:
"Termenul de care dispune solicitantul AC pentru a elabora si depune completarile/modificarile cerute. In caz contrar, documentatia se restituie.",
days: 90,
dayType: "calendar",
startDateLabel: "Data notificarii de completare",
requiresCustomStartDate: true,
startDateHint: "Data primirii notificarii de completare de la autoritate",
tacitApprovalApplicable: false,
category: "completari",
legalReference: "Legea 50/1991, art. 7 alin. (1^1)",
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// URBANISM (PUD/PUZ/PUG) — nu se aplica acordul tacit
// ═══════════════════════════════════════════════════════════════
{
id: "retele-furnizare-date",
label: "Furnizare date detinatori retele",
description:
"Detinatorii de retele tehnico-edilitare furnizeaza gratuit datele solicitate de autoritate, in 15 zile de la solicitare. Aplicabil doar proiectelor cu autoritati publice.",
days: 15,
dayType: "calendar",
startDateLabel: "Data solicitarii de la autoritate",
requiresCustomStartDate: true,
startDateHint:
"Data la care autoritatea a solicitat datele de la detinatorii de retele",
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
},
// ── Aviz de oportunitate (PUZ privat) ──
{
id: "aviz-oportunitate-verificare",
label: "Aviz oportunitate — verificare / completare",
description:
"Autoritatea verifica documentatia si solicita completari in max. 30 de zile de la depunere. Daca nu solicita completari, documentatia intra in comisie.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
},
{
id: "aviz-oportunitate-ctatu",
label: "Aviz oportunitate — convocare CTATU",
description:
"Documentatia trebuie introdusa in Comisia Tehnica (CTATU) in maximum 30 de zile de la depunere. Se inchide cu event de tip Convocare sedinta.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
chainNextTypeId: "aviz-oportunitate-emitere",
chainNextActionLabel:
"Adauga termen emitere aviz oportunitate (15 zile cal.)",
},
{
id: "aviz-oportunitate-emitere",
label: "Aviz oportunitate — emitere dupa comisie",
description:
"Se emite avizul de oportunitate in maximum 15 zile de la analiza favorabila in comisia tehnica CTATU.",
days: 15,
dayType: "calendar",
startDateLabel: "Data analizei in comisie",
requiresCustomStartDate: true,
startDateHint:
"Data la care comisia CTATU a analizat favorabil documentatia",
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
autoTrack: true,
},
// ── Aviz arhitect sef PUD/PUZ ──
{
id: "aviz-arh-sef-ctatu",
label: "Aviz arhitect sef — convocare CTATU",
description:
"Documentatia PUD/PUZ trebuie introdusa in Comisia Tehnica (CTATU) in maximum 30 de zile de la depunere. Se inchide cu event de tip Convocare sedinta.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
chainNextTypeId: "aviz-arh-sef-emitere",
chainNextActionLabel: "Adauga termen emitere aviz arh. sef (15 zile cal.)",
},
{
id: "aviz-arh-sef-emitere",
label: "Aviz arhitect sef — emitere dupa comisie",
description:
"Se emite avizul arhitectului sef in maximum 15 zile de la analiza in comisia tehnica CTATU.",
days: 15,
dayType: "calendar",
startDateLabel: "Data analizei in comisie",
requiresCustomStartDate: true,
startDateHint:
"Data la care comisia CTATU a analizat documentatia PUD/PUZ",
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
autoTrack: true,
},
// ── Consiliul Local ──
{
id: "consiliu-promovare",
label: "Promovare Consiliu Local",
description:
"Primarul promoveaza documentatia completa si avizata catre Consiliul Local in maximum 30 de zile de la inregistrare.",
days: 30,
dayType: "calendar",
startDateLabel: "Data inregistrarii documentatiei complete",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
},
{
id: "consiliu-vot",
label: "Vot Consiliu Local",
description:
"Consiliul Local emite hotararea (aprobare sau respingere) in maximum 45 de zile de la finalizarea dezbaterii publice si inaintarea rapoartelor.",
days: 45,
dayType: "calendar",
startDateLabel: "Data finalizare dezbatere publica",
requiresCustomStartDate: true,
startDateHint:
"Data finalizarii dezbaterii publice si inaintarii rapoartelor catre Consiliu",
tacitApprovalApplicable: false,
category: "urbanism",
legalReference: "Legea 350/2001",
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// AUTORIZARE (AD/AC)
// ═══════════════════════════════════════════════════════════════
{
id: "ac-verificare",
label: "Verificare documentatie AC",
description:
"Autoritatea verifica operativ documentatia depusa pentru AC. Daca e incompleta, notifica solicitantul in scris in acest termen.",
days: 5,
dayType: "working",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
directionFilter: ["iesit"],
},
{
id: "ac-emitere",
label: "Emitere AC (standard)",
description:
"Termen standard de emitere a Autorizatiei de Construire de la data depunerii documentatiei complete.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii documentatiei complete",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
directionFilter: ["iesit"],
},
{
id: "ac-emitere-urgenta",
label: "Emitere AC (urgenta)",
description:
"Termen de emitere a AC in regim de urgenta, la solicitarea beneficiarului si cu perceperea unei taxe suplimentare stabilite de consiliul local/judetean.",
days: 7,
dayType: "working",
startDateLabel: "Data depunerii (urgenta)",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1^2)",
directionFilter: ["iesit"],
},
{
id: "ac-emitere-agricol",
label: "Emitere AC (anexe agricole)",
description:
"Termen de emitere a AC pentru constructii reprezentand anexe gospodaresti ale exploatatiilor agricole.",
days: 15,
dayType: "calendar",
startDateLabel: "Data depunerii",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1^3)",
directionFilter: ["iesit"],
},
{
id: "ac-prelungire",
label: "Depunere prelungire AC",
description:
"Cererea de prelungire trebuie depusa cu minim 45 zile lucratoare INAINTE de expirarea AC. Se calculeaza inapoi.",
days: 45,
dayType: "working",
startDateLabel: "Data expirare AC",
requiresCustomStartDate: true,
startDateHint: "Data de expirare a Autorizatiei de Construire",
tacitApprovalApplicable: false,
category: "autorizare",
isBackwardDeadline: true,
legalReference: "Legea 50/1991, art. 7 alin. (8)",
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// CONTESTATIE
// ═══════════════════════════════════════════════════════════════
{
id: "plangere-prealabila",
label: "Plangere prealabila",
description:
"Inainte de a va adresa instantei, trebuie sa solicitati autoritatii revocarea actului. Procedura este scutita de taxa de timbru.",
days: 30,
dayType: "calendar",
startDateLabel: "Data ultimei publicitati",
requiresCustomStartDate: true,
startDateHint:
"Data la care actul a fost adus la cunostinta publicului (ultima operatiune de publicitate: notare in CF, ziar, panou etc.)",
tacitApprovalApplicable: false,
chainNextTypeId: "contestare-ac",
chainNextActionLabel: "Adauga termen contestare in instanta (60 zile)",
category: "contestatie",
legalReference: "Legea 554/2004, art. 7",
directionFilter: ["intrat"],
},
{
id: "contestare-ac",
label: "Contestare AC in instanta",
description:
"Cererea de anulare/suspendare la instanta de contencios administrativ. Termenul curge de la primirea raspunsului la plangerea prealabila sau de la expirarea termenului de raspuns.",
days: 60,
dayType: "calendar",
startDateLabel: "Data raspuns plangere / expirare termen",
requiresCustomStartDate: true,
startDateHint:
"Data primirii raspunsului la plangerea prealabila (sau data la care a expirat termenul de raspuns)",
tacitApprovalApplicable: false,
category: "contestatie",
legalReference: "Legea 50/1991, art. 12",
directionFilter: ["intrat"],
},
{
id: "contestare-urbanism",
label: "Contestare doc urbanism (5 ani)",
description:
"Dreptul de a ataca in instanta hotararile de aprobare PUG/PUZ/PUD se prescrie in 5 ani de la data aprobarii. Exceptie: 1 an pentru ONG-uri.",
days: 1825,
dayType: "calendar",
startDateLabel: "Data aprobarii HCL/HCJ",
requiresCustomStartDate: true,
startDateHint: "Data hotararii de aprobare a documentatiei de urbanism",
tacitApprovalApplicable: false,
category: "contestatie",
legalReference: "Legea 350/2001, art. 64 alin. (3)",
directionFilter: ["intrat"],
},
{
id: "contestare-contraventie",
label: "Plangere contraventionala",
description:
"Plangere impotriva PV de amenda la judecatorie. Suspenda obligatia platii amenzii, dar NU suspenda masura opririi/desfiintarii lucrarilor.",
days: 15,
dayType: "calendar",
startDateLabel: "Data comunicarii PV",
requiresCustomStartDate: true,
startDateHint:
"Data inmanarii sau comunicarii procesului-verbal de contraventie",
tacitApprovalApplicable: false,
category: "contestatie",
legalReference: "OG 2/2001, art. 31 alin. (1)",
directionFilter: ["intrat"],
},
];
export const CATEGORY_LABELS: Record<DeadlineCategory, string> = {
certificat: "Certificat de Urbanism",
avize: "Avize",
completari: "Completari",
urbanism: "Urbanism (PUD/PUZ/PUG)",
autorizare: "Autorizare (AD/AC)",
contestatie: "Contestatie",
};
/** Full categories available per direction (before doc type filtering) */
export const DIRECTION_CATEGORIES: Record<
RegistryDirection,
DeadlineCategory[]
> = {
iesit: ["certificat", "avize", "urbanism", "autorizare", "completari"],
intrat: ["completari", "contestatie"],
};
/**
* Document types that unlock the full set of construction permitting categories.
* Other doc types (scrisoare, notificare, etc.) only get completari + contestatie.
*/
const FULL_DEADLINE_DOC_TYPES = new Set(["cerere", "aviz"]);
/**
* Get the ordered list of deadline categories for a given direction + document type.
* - iesit + cerere/aviz → full set (certificat, avize, urbanism, autorizare, completari)
* - intrat → completari + contestatie (always, regardless of doc type)
* - iesit + other doc types → only completari
*/
export function getCategoriesForDirection(
direction: RegistryDirection,
documentType?: string,
): DeadlineCategory[] {
const all = DIRECTION_CATEGORIES[direction];
// If doc type triggers full permitting flow, show all categories for this direction
if (!documentType || FULL_DEADLINE_DOC_TYPES.has(documentType)) {
return all;
}
// Otherwise, only completari + contestatie
return all.filter((c) => c === "completari" || c === "contestatie");
}
/**
* Get user-selectable deadlines for a category (excludes autoTrack deadlines).
*/
export function getSelectableDeadlines(
category: DeadlineCategory,
): DeadlineTypeDef[] {
return DEADLINE_CATALOG.filter(
(d) => d.category === category && !d.autoTrack,
);
}
/**
* Get auto-track deadlines that should be created automatically.
*/
export function getAutoTrackDeadlines(
category: DeadlineCategory,
): DeadlineTypeDef[] {
return DEADLINE_CATALOG.filter(
(d) => d.category === category && d.autoTrack === true,
);
}
export function getDeadlineType(typeId: string): DeadlineTypeDef | undefined {
return DEADLINE_CATALOG.find((d) => d.id === typeId);
}
export function getDeadlinesByCategory(
category: DeadlineCategory,
): DeadlineTypeDef[] {
return DEADLINE_CATALOG.filter((d) => d.category === category);
}