{
    "openapi": "3.1.0",
    "info": {
        "title": "Harmoniq API",
        "version": "1.0",
        "description": "API-ul companiei în Harmoniq. Fiecare cerere se face la adresa companiei dumneavoastră, cu o cheie creată în Harmoniq (Acces → Chei API)."
    },
    "servers": [
        {
            "url": "https://{company}.harmoniq.ro/api/v1",
            "variables": {
                "company": {
                    "default": "compania-mea",
                    "description": "Adresa companiei în Harmoniq (partea dinainte de .harmoniq.ro)."
                }
            }
        }
    ],
    "security": [
        {
            "bearer": []
        }
    ],
    "paths": {
        "/geo-areas": {
            "get": {
                "tags": [
                    "Zone geografice"
                ],
                "summary": "Listă: Zone geografice",
                "security": [
                    {
                        "bearer": [
                            "geo_areas:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "parent_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar zonele aflate direct sub aceasta."
                    },
                    {
                        "name": "roots",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar zonele de nivel superior."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GeoAreas"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Zone geografice"
                ],
                "summary": "Creare: Zone geografice",
                "security": [
                    {
                        "bearer": [
                            "geo_areas:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GeoAreasInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GeoAreas"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/geo-areas/{id}": {
            "get": {
                "tags": [
                    "Zone geografice"
                ],
                "summary": "O înregistrare: Zone geografice",
                "security": [
                    {
                        "bearer": [
                            "geo_areas:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GeoAreas"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Zone geografice"
                ],
                "summary": "Modificare: Zone geografice",
                "security": [
                    {
                        "bearer": [
                            "geo_areas:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GeoAreasInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/GeoAreas"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Zone geografice"
                ],
                "summary": "Ștergere: Zone geografice",
                "security": [
                    {
                        "bearer": [
                            "geo_areas:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/work-units": {
            "get": {
                "tags": [
                    "Unități"
                ],
                "summary": "Listă: Unități",
                "security": [
                    {
                        "bearer": [
                            "work_units:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "CJ01"
                        },
                        "description": "Codul exact (fără diferență între litere mari și mici)."
                    },
                    {
                        "name": "geo_area_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar din această zonă."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/WorkUnits"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Unități"
                ],
                "summary": "Creare: Unități",
                "security": [
                    {
                        "bearer": [
                            "work_units:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/WorkUnitsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkUnits"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/work-units/{id}": {
            "get": {
                "tags": [
                    "Unități"
                ],
                "summary": "O înregistrare: Unități",
                "security": [
                    {
                        "bearer": [
                            "work_units:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkUnits"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Unități"
                ],
                "summary": "Modificare: Unități",
                "security": [
                    {
                        "bearer": [
                            "work_units:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/WorkUnitsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkUnits"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Unități"
                ],
                "summary": "Ștergere: Unități",
                "security": [
                    {
                        "bearer": [
                            "work_units:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/departments": {
            "get": {
                "tags": [
                    "Departamente"
                ],
                "summary": "Listă: Departamente",
                "security": [
                    {
                        "bearer": [
                            "departments:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "FARM"
                        },
                        "description": "Codul exact (fără diferență între litere mari și mici)."
                    },
                    {
                        "name": "parent_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar departamentele aflate direct sub acesta."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Departments"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Departamente"
                ],
                "summary": "Creare: Departamente",
                "security": [
                    {
                        "bearer": [
                            "departments:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DepartmentsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Departments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/departments/{id}": {
            "get": {
                "tags": [
                    "Departamente"
                ],
                "summary": "O înregistrare: Departamente",
                "security": [
                    {
                        "bearer": [
                            "departments:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Departments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Departamente"
                ],
                "summary": "Modificare: Departamente",
                "security": [
                    {
                        "bearer": [
                            "departments:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DepartmentsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Departments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Departamente"
                ],
                "summary": "Ștergere: Departamente",
                "security": [
                    {
                        "bearer": [
                            "departments:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/positions": {
            "get": {
                "tags": [
                    "Funcții"
                ],
                "summary": "Listă: Funcții",
                "security": [
                    {
                        "bearer": [
                            "positions:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "FA"
                        },
                        "description": "Codul exact (fără diferență între litere mari și mici)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Positions"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Funcții"
                ],
                "summary": "Creare: Funcții",
                "security": [
                    {
                        "bearer": [
                            "positions:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PositionsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Positions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/positions/{id}": {
            "get": {
                "tags": [
                    "Funcții"
                ],
                "summary": "O înregistrare: Funcții",
                "security": [
                    {
                        "bearer": [
                            "positions:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Positions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Funcții"
                ],
                "summary": "Modificare: Funcții",
                "security": [
                    {
                        "bearer": [
                            "positions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PositionsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Positions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Funcții"
                ],
                "summary": "Ștergere: Funcții",
                "security": [
                    {
                        "bearer": [
                            "positions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/teams": {
            "get": {
                "tags": [
                    "Echipe"
                ],
                "summary": "Listă: Echipe",
                "security": [
                    {
                        "bearer": [
                            "teams:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar echipele din care face parte acest angajat."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Teams"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Echipe"
                ],
                "summary": "Creare: Echipe",
                "security": [
                    {
                        "bearer": [
                            "teams:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TeamsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Teams"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/teams/{id}": {
            "get": {
                "tags": [
                    "Echipe"
                ],
                "summary": "O înregistrare: Echipe",
                "security": [
                    {
                        "bearer": [
                            "teams:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Teams"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Echipe"
                ],
                "summary": "Modificare: Echipe",
                "security": [
                    {
                        "bearer": [
                            "teams:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TeamsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Teams"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Echipe"
                ],
                "summary": "Ștergere: Echipe",
                "security": [
                    {
                        "bearer": [
                            "teams:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/teams/{id}/add-member": {
            "post": {
                "tags": [
                    "Echipe"
                ],
                "summary": "Adaugă un angajat în echipă (nu se schimbă nimic dacă face deja parte din ea). Corp: {\"employee_id\": 345}.",
                "security": [
                    {
                        "bearer": [
                            "teams:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "employee_id": {
                                        "type": "integer",
                                        "example": 345,
                                        "description": "Angajatul de adăugat (un id din /employees)."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Teams"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/teams/{id}/remove-member": {
            "post": {
                "tags": [
                    "Echipe"
                ],
                "summary": "Scoate un angajat din echipă. Corp: {\"employee_id\": 345}.",
                "security": [
                    {
                        "bearer": [
                            "teams:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "employee_id": {
                                        "type": "integer",
                                        "example": 345,
                                        "description": "Angajatul de scos (un id din /employees)."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Teams"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/custom-fields": {
            "get": {
                "tags": [
                    "Câmpuri proprii"
                ],
                "summary": "Listă: Câmpuri proprii",
                "security": [
                    {
                        "bearer": [
                            "custom_fields:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "entity",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee",
                                "work_unit",
                                "department",
                                "position",
                                "team",
                                "company"
                            ],
                            "example": "employee"
                        },
                        "description": "Doar câmpurile acestui tip de înregistrare."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CustomFields"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/custom-fields/{id}": {
            "get": {
                "tags": [
                    "Câmpuri proprii"
                ],
                "summary": "O înregistrare: Câmpuri proprii",
                "security": [
                    {
                        "bearer": [
                            "custom_fields:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CustomFields"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/employees": {
            "get": {
                "tags": [
                    "Angajați"
                ],
                "summary": "Listă: Angajați",
                "security": [
                    {
                        "bearer": [
                            "employees:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "active",
                                "inactive",
                                "terminated"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Încadrați acum în această unitate."
                    },
                    {
                        "name": "employee_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Marca exactă."
                    },
                    {
                        "name": "email",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "E-mailul exact."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "popescu"
                        },
                        "description": "O parte din nume."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Employees"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Angajați"
                ],
                "summary": "Creare: Angajați",
                "security": [
                    {
                        "bearer": [
                            "employees:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EmployeesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Employees"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/employees/{id}": {
            "get": {
                "tags": [
                    "Angajați"
                ],
                "summary": "O înregistrare: Angajați",
                "security": [
                    {
                        "bearer": [
                            "employees:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Employees"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Angajați"
                ],
                "summary": "Modificare: Angajați",
                "security": [
                    {
                        "bearer": [
                            "employees:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EmployeesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Employees"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Angajați"
                ],
                "summary": "Ștergere: Angajați",
                "security": [
                    {
                        "bearer": [
                            "employees:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/placements": {
            "get": {
                "tags": [
                    "Încadrări"
                ],
                "summary": "Listă: Încadrări",
                "security": [
                    {
                        "bearer": [
                            "placements:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei persoane."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar în această unitate."
                    },
                    {
                        "name": "current",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar încadrările în vigoare azi."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Placements"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Încadrări"
                ],
                "summary": "Creare: Încadrări",
                "security": [
                    {
                        "bearer": [
                            "placements:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlacementsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Placements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/placements/{id}": {
            "get": {
                "tags": [
                    "Încadrări"
                ],
                "summary": "O înregistrare: Încadrări",
                "security": [
                    {
                        "bearer": [
                            "placements:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Placements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Încadrări"
                ],
                "summary": "Ștergere: Încadrări",
                "security": [
                    {
                        "bearer": [
                            "placements:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/placements/{id}/end": {
            "post": {
                "tags": [
                    "Încadrări"
                ],
                "summary": "Încheie încadrarea la valid_to (nu înainte de începutul ei).",
                "security": [
                    {
                        "bearer": [
                            "placements:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "valid_to": {
                                        "type": "string",
                                        "format": "date",
                                        "example": "2026-06-30",
                                        "description": "Ultima zi a încadrării (Y-m-d)."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Placements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/placements/{id}/make-primary": {
            "post": {
                "tags": [
                    "Încadrări"
                ],
                "summary": "O face încadrarea principală; cea principală dinainte devine secundară.",
                "security": [
                    {
                        "bearer": [
                            "placements:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Placements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-types": {
            "get": {
                "tags": [
                    "Tipuri de concediu"
                ],
                "summary": "Listă: Tipuri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LeaveTypes"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/leave-types/{id}": {
            "get": {
                "tags": [
                    "Tipuri de concediu"
                ],
                "summary": "O înregistrare: Tipuri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-requests": {
            "get": {
                "tags": [
                    "Cereri de concediu"
                ],
                "summary": "Listă: Cereri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_requests:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei persoane."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "approved",
                                "rejected",
                                "cancelled"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-07-01"
                        },
                        "description": "Care ating această zi sau una ulterioară."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-07-31"
                        },
                        "description": "Care ating această zi sau una anterioară."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LeaveRequests"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Cereri de concediu"
                ],
                "summary": "Creare: Cereri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_requests:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/LeaveRequestsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-requests/{id}": {
            "get": {
                "tags": [
                    "Cereri de concediu"
                ],
                "summary": "O înregistrare: Cereri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_requests:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-requests/{id}/approve": {
            "post": {
                "tags": [
                    "Cereri de concediu"
                ],
                "summary": "Aprobă pasul curent (comentariu opțional).",
                "security": [
                    {
                        "bearer": [
                            "leave_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "comment": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 1000,
                                        "description": "Comentariu opțional pentru persoană."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-requests/{id}/reject": {
            "post": {
                "tags": [
                    "Cereri de concediu"
                ],
                "summary": "Respinge cererea; comentariul (motivul) este obligatoriu.",
                "security": [
                    {
                        "bearer": [
                            "leave_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "comment": {
                                        "type": "string",
                                        "maxLength": 1000,
                                        "description": "Motivul, arătat persoanei (obligatoriu)."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-requests/{id}/cancel": {
            "post": {
                "tags": [
                    "Cereri de concediu"
                ],
                "summary": "Anulează o cerere în așteptare sau aprobată.",
                "security": [
                    {
                        "bearer": [
                            "leave_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leave-balances": {
            "get": {
                "tags": [
                    "Solduri de concediu"
                ],
                "summary": "Listă: Solduri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_balances:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "year",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "example": 2026
                        },
                        "description": "Anul (implicit: anul curent)."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această persoană."
                    },
                    {
                        "name": "leave_type_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest tip de concediu."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LeaveBalances"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/leave-balances/{id}": {
            "get": {
                "tags": [
                    "Solduri de concediu"
                ],
                "summary": "O înregistrare: Solduri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_balances:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveBalances"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Solduri de concediu"
                ],
                "summary": "Modificare: Solduri de concediu",
                "security": [
                    {
                        "bearer": [
                            "leave_balances:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/LeaveBalancesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LeaveBalances"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/calendar-events": {
            "get": {
                "tags": [
                    "Evenimente în calendar"
                ],
                "summary": "Listă: Evenimente în calendar",
                "security": [
                    {
                        "bearer": [
                            "calendar_events:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-07-01"
                        },
                        "description": "Care se termină în această zi sau după."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-07-31"
                        },
                        "description": "Care încep în această zi sau înainte."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei unități."
                    },
                    {
                        "name": "cancelled",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cele anulate; false: doar celelalte."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CalendarEvents"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Evenimente în calendar"
                ],
                "summary": "Creare: Evenimente în calendar",
                "security": [
                    {
                        "bearer": [
                            "calendar_events:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CalendarEventsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CalendarEvents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/calendar-events/{id}": {
            "get": {
                "tags": [
                    "Evenimente în calendar"
                ],
                "summary": "O înregistrare: Evenimente în calendar",
                "security": [
                    {
                        "bearer": [
                            "calendar_events:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CalendarEvents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Evenimente în calendar"
                ],
                "summary": "Modificare: Evenimente în calendar",
                "security": [
                    {
                        "bearer": [
                            "calendar_events:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CalendarEventsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CalendarEvents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Evenimente în calendar"
                ],
                "summary": "Ștergere: Evenimente în calendar",
                "security": [
                    {
                        "bearer": [
                            "calendar_events:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/calendar-events/{id}/cancel": {
            "post": {
                "tags": [
                    "Evenimente în calendar"
                ],
                "summary": "Anulează această apariție; participanții sunt anunțați.",
                "security": [
                    {
                        "bearer": [
                            "calendar_events:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CalendarEvents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/kpi-metrics": {
            "get": {
                "tags": [
                    "Indicatori KPI"
                ],
                "summary": "Listă: Indicatori KPI",
                "security": [
                    {
                        "bearer": [
                            "kpi_metrics:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "key",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "sales.actual"
                        },
                        "description": "Cheia exactă (fără diferență între litere mari și mici)."
                    },
                    {
                        "name": "source_type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "manual",
                                "import",
                                "module",
                                "derived",
                                "api",
                                "objective",
                                "review"
                            ]
                        },
                        "description": "Doar indicatorii cu această sursă."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/KpiMetrics"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/kpi-metrics/{id}": {
            "get": {
                "tags": [
                    "Indicatori KPI"
                ],
                "summary": "O înregistrare: Indicatori KPI",
                "security": [
                    {
                        "bearer": [
                            "kpi_metrics:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/KpiMetrics"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/metric-values": {
            "get": {
                "tags": [
                    "Valori KPI"
                ],
                "summary": "Listă: Valori KPI",
                "security": [
                    {
                        "bearer": [
                            "metric_values:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "metric",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "sales.actual"
                        },
                        "description": "Doar valorile acestui indicator (cheia lui)."
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "2026-09"
                        },
                        "description": "Doar această perioadă (împreună cu metric)."
                    },
                    {
                        "name": "subject_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest subiect."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MetricValues"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Valori KPI"
                ],
                "summary": "Creare: Valori KPI",
                "security": [
                    {
                        "bearer": [
                            "metric_values:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetricValuesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MetricValues"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/metric-values/{id}": {
            "get": {
                "tags": [
                    "Valori KPI"
                ],
                "summary": "O înregistrare: Valori KPI",
                "security": [
                    {
                        "bearer": [
                            "metric_values:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MetricValues"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/kpi-scorecards": {
            "get": {
                "tags": [
                    "Fișe de performanță"
                ],
                "summary": "Listă: Fișe de performanță",
                "security": [
                    {
                        "bearer": [
                            "kpi_scorecards:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "draft",
                                "published",
                                "archived"
                            ]
                        },
                        "description": "Doar versiunile cu această stare."
                    },
                    {
                        "name": "family",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Doar versiunile acestei fișe."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/KpiScorecards"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/kpi-scorecards/{id}": {
            "get": {
                "tags": [
                    "Fișe de performanță"
                ],
                "summary": "O înregistrare: Fișe de performanță",
                "security": [
                    {
                        "bearer": [
                            "kpi_scorecards:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/KpiScorecards"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/kpi-results": {
            "get": {
                "tags": [
                    "Rezultate KPI"
                ],
                "summary": "Listă: Rezultate KPI",
                "security": [
                    {
                        "bearer": [
                            "kpi_results:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "scorecard_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această versiune a fișei."
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-09-01"
                        },
                        "description": "Prima zi a perioadei (Y-m-d)."
                    },
                    {
                        "name": "subject_type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "employee",
                                "team",
                                "department",
                                "work_unit",
                                "geo_area",
                                "company"
                            ]
                        },
                        "description": "Doar acest fel de subiect."
                    },
                    {
                        "name": "subject_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest subiect."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/KpiResults"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/kpi-results/{id}": {
            "get": {
                "tags": [
                    "Rezultate KPI"
                ],
                "summary": "O înregistrare: Rezultate KPI",
                "security": [
                    {
                        "bearer": [
                            "kpi_results:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/KpiResults"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/objectives": {
            "get": {
                "tags": [
                    "Obiective"
                ],
                "summary": "Listă: Obiective",
                "security": [
                    {
                        "bearer": [
                            "objectives:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "rule_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar după această regulă."
                    },
                    {
                        "name": "period_start",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-09-01"
                        },
                        "description": "Prima zi a perioadei (Y-m-d)."
                    },
                    {
                        "name": "external_ref",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Referința exactă."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Objectives"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Obiective"
                ],
                "summary": "Creare: Obiective",
                "security": [
                    {
                        "bearer": [
                            "objectives:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ObjectivesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Objectives"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/objectives/{id}": {
            "get": {
                "tags": [
                    "Obiective"
                ],
                "summary": "O înregistrare: Obiective",
                "security": [
                    {
                        "bearer": [
                            "objectives:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Objectives"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Obiective"
                ],
                "summary": "Modificare: Obiective",
                "security": [
                    {
                        "bearer": [
                            "objectives:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ObjectivesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Objectives"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Obiective"
                ],
                "summary": "Ștergere: Obiective",
                "security": [
                    {
                        "bearer": [
                            "objectives:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/objectives/{id}/record": {
            "post": {
                "tags": [
                    "Obiective"
                ],
                "summary": "Păstrează ce au realizat subiecții: măsurile lor înlocuiesc ce era înregistrat; măsurile goale șterg înregistrarea (din nou fără date).",
                "security": [
                    {
                        "bearer": [
                            "objectives:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "achievements": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        },
                                        "example": [
                                            {
                                                "subject_id": 345,
                                                "measures": {
                                                    "pieces": "34"
                                                }
                                            }
                                        ],
                                        "description": "O listă de {subject_id, measures: {numele măsurii: număr}}; subiecți la nivelul regulii, din unitățile cu ținte."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Objectives"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/reviews": {
            "get": {
                "tags": [
                    "Evaluări"
                ],
                "summary": "Listă: Evaluări",
                "security": [
                    {
                        "bearer": [
                            "reviews:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "submitted",
                                "cancelled"
                            ]
                        },
                        "description": "submitted sau cancelled."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această persoană."
                    },
                    {
                        "name": "form_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această versiune a grilei."
                    },
                    {
                        "name": "period_start",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-09-01"
                        },
                        "description": "Prima zi a perioadei (Y-m-d)."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Reviews"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/reviews/{id}": {
            "get": {
                "tags": [
                    "Evaluări"
                ],
                "summary": "O înregistrare: Evaluări",
                "security": [
                    {
                        "bearer": [
                            "reviews:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Reviews"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/courses": {
            "get": {
                "tags": [
                    "Cursuri"
                ],
                "summary": "Listă: Cursuri",
                "security": [
                    {
                        "bearer": [
                            "courses:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "draft",
                                "published",
                                "archived"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar din această categorie."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "incendiu"
                        },
                        "description": "O parte din titlu."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Courses"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Cursuri"
                ],
                "summary": "Creare: Cursuri",
                "security": [
                    {
                        "bearer": [
                            "courses:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CoursesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Courses"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/courses/{id}": {
            "get": {
                "tags": [
                    "Cursuri"
                ],
                "summary": "O înregistrare: Cursuri",
                "security": [
                    {
                        "bearer": [
                            "courses:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Courses"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Cursuri"
                ],
                "summary": "Modificare: Cursuri",
                "security": [
                    {
                        "bearer": [
                            "courses:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CoursesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Courses"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Cursuri"
                ],
                "summary": "Ștergere: Cursuri",
                "security": [
                    {
                        "bearer": [
                            "courses:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/learning-assignments": {
            "get": {
                "tags": [
                    "Alocări de instruire"
                ],
                "summary": "Listă: Alocări de instruire",
                "security": [
                    {
                        "bearer": [
                            "learning_assignments:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "course_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar pentru acest curs."
                    },
                    {
                        "name": "test_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar pentru acest test."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/LearningAssignments"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Alocări de instruire"
                ],
                "summary": "Creare: Alocări de instruire",
                "security": [
                    {
                        "bearer": [
                            "learning_assignments:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/LearningAssignmentsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LearningAssignments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/learning-assignments/{id}": {
            "get": {
                "tags": [
                    "Alocări de instruire"
                ],
                "summary": "O înregistrare: Alocări de instruire",
                "security": [
                    {
                        "bearer": [
                            "learning_assignments:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/LearningAssignments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Alocări de instruire"
                ],
                "summary": "Ștergere: Alocări de instruire",
                "security": [
                    {
                        "bearer": [
                            "learning_assignments:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/enrollments": {
            "get": {
                "tags": [
                    "Înscrieri"
                ],
                "summary": "Listă: Înscrieri",
                "security": [
                    {
                        "bearer": [
                            "enrollments:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această persoană."
                    },
                    {
                        "name": "course_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest curs."
                    },
                    {
                        "name": "test_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest test."
                    },
                    {
                        "name": "assignment_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această alocare."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "assigned",
                                "in_progress",
                                "awaiting_grading",
                                "completed",
                                "failed",
                                "excused"
                            ]
                        },
                        "description": "Doar cu această stare."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Enrollments"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/enrollments/{id}": {
            "get": {
                "tags": [
                    "Înscrieri"
                ],
                "summary": "O înregistrare: Înscrieri",
                "security": [
                    {
                        "bearer": [
                            "enrollments:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Enrollments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/enrollments/{id}/extend": {
            "post": {
                "tags": [
                    "Înscrieri"
                ],
                "summary": "Stabilește un termen mai târziu.",
                "security": [
                    {
                        "bearer": [
                            "enrollments:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "due_on": {
                                        "type": "string",
                                        "format": "date",
                                        "example": "2026-06-30",
                                        "description": "Noul termen, nu înainte de deschiderea înscrierii."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Enrollments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/enrollments/{id}/grant-attempt": {
            "post": {
                "tags": [
                    "Înscrieri"
                ],
                "summary": "Permite încă o încercare la test (nu după promovare).",
                "security": [
                    {
                        "bearer": [
                            "enrollments:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Enrollments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/enrollments/{id}/excuse": {
            "post": {
                "tags": [
                    "Înscrieri"
                ],
                "summary": "Scutește persoana (doar înainte să înceapă).",
                "security": [
                    {
                        "bearer": [
                            "enrollments:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Enrollments"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/certificates": {
            "get": {
                "tags": [
                    "Certificate"
                ],
                "summary": "Listă: Certificate",
                "security": [
                    {
                        "bearer": [
                            "certificates:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această persoană."
                    },
                    {
                        "name": "course_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest curs."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Certificates"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/certificates/{id}": {
            "get": {
                "tags": [
                    "Certificate"
                ],
                "summary": "O înregistrare: Certificate",
                "security": [
                    {
                        "bearer": [
                            "certificates:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Certificates"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/audits": {
            "get": {
                "tags": [
                    "Audituri"
                ],
                "summary": "Listă: Audituri",
                "security": [
                    {
                        "bearer": [
                            "audits:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această unitate."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "draft",
                                "completed"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "conducted_from",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Făcut la această dată sau după."
                    },
                    {
                        "name": "conducted_to",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Făcut la această dată sau înainte."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Audits"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/audits/{id}": {
            "get": {
                "tags": [
                    "Audituri"
                ],
                "summary": "O înregistrare: Audituri",
                "security": [
                    {
                        "bearer": [
                            "audits:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Audits"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/audit-action-plans": {
            "get": {
                "tags": [
                    "Acțiuni corective"
                ],
                "summary": "Listă: Acțiuni corective",
                "security": [
                    {
                        "bearer": [
                            "audit_action_plans:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "audit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar pentru acest audit."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "done",
                                "verified",
                                "cancelled"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "responsible_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar pentru această persoană."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AuditActionPlans"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/audit-action-plans/{id}": {
            "get": {
                "tags": [
                    "Acțiuni corective"
                ],
                "summary": "O înregistrare: Acțiuni corective",
                "security": [
                    {
                        "bearer": [
                            "audit_action_plans:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AuditActionPlans"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/audit-action-plans/{id}/mark-done": {
            "post": {
                "tags": [
                    "Acțiuni corective"
                ],
                "summary": "Marchează o acțiune deschisă ca rezolvată.",
                "security": [
                    {
                        "bearer": [
                            "audit_action_plans:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "note": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 2000,
                                        "description": "Ce s-a făcut."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AuditActionPlans"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/audit-action-plans/{id}/verify": {
            "post": {
                "tags": [
                    "Acțiuni corective"
                ],
                "summary": "Acceptă o acțiune rezolvată.",
                "security": [
                    {
                        "bearer": [
                            "audit_action_plans:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AuditActionPlans"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/audit-action-plans/{id}/reopen": {
            "post": {
                "tags": [
                    "Acțiuni corective"
                ],
                "summary": "Trimite înapoi o acțiune rezolvată, cu motivul.",
                "security": [
                    {
                        "bearer": [
                            "audit_action_plans:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "description": "De ce nu este acceptată."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AuditActionPlans"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/audit-action-plans/{id}/cancel": {
            "post": {
                "tags": [
                    "Acțiuni corective"
                ],
                "summary": "Anulează o acțiune deschisă sau rezolvată.",
                "security": [
                    {
                        "bearer": [
                            "audit_action_plans:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AuditActionPlans"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ssm-types": {
            "get": {
                "tags": [
                    "Tipuri SSM"
                ],
                "summary": "Listă: Tipuri SSM",
                "security": [
                    {
                        "bearer": [
                            "ssm_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SsmTypes"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/ssm-types/{id}": {
            "get": {
                "tags": [
                    "Tipuri SSM"
                ],
                "summary": "O înregistrare: Tipuri SSM",
                "security": [
                    {
                        "bearer": [
                            "ssm_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SsmTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ssm-records": {
            "get": {
                "tags": [
                    "Înregistrări SSM"
                ],
                "summary": "Listă: Înregistrări SSM",
                "security": [
                    {
                        "bearer": [
                            "ssm_records:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această persoană."
                    },
                    {
                        "name": "type_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest tip."
                    },
                    {
                        "name": "valid_until_before",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-12-31"
                        },
                        "description": "Valabil până la această dată sau mai devreme."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SsmRecords"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Înregistrări SSM"
                ],
                "summary": "Creare: Înregistrări SSM",
                "security": [
                    {
                        "bearer": [
                            "ssm_records:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SsmRecordsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SsmRecords"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/ssm-records/{id}": {
            "get": {
                "tags": [
                    "Înregistrări SSM"
                ],
                "summary": "O înregistrare: Înregistrări SSM",
                "security": [
                    {
                        "bearer": [
                            "ssm_records:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SsmRecords"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Înregistrări SSM"
                ],
                "summary": "Ștergere: Înregistrări SSM",
                "security": [
                    {
                        "bearer": [
                            "ssm_records:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/document-categories": {
            "get": {
                "tags": [
                    "Categorii de documente"
                ],
                "summary": "Listă: Categorii de documente",
                "security": [
                    {
                        "bearer": [
                            "document_categories:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "scope",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "company",
                                "unit"
                            ]
                        },
                        "description": "Doar categoriile companiei sau doar ale unităților."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/DocumentCategories"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/document-categories/{id}": {
            "get": {
                "tags": [
                    "Categorii de documente"
                ],
                "summary": "O înregistrare: Categorii de documente",
                "security": [
                    {
                        "bearer": [
                            "document_categories:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DocumentCategories"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/documents": {
            "get": {
                "tags": [
                    "Documente"
                ],
                "summary": "Listă: Documente",
                "security": [
                    {
                        "bearer": [
                            "documents:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar documentele acestei unități."
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această categorie."
                    },
                    {
                        "name": "company",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar documentele companiei; false: doar ale unităților."
                    },
                    {
                        "name": "expires_before",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date",
                            "example": "2026-12-31"
                        },
                        "description": "Care expiră până la această dată, inclusiv."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Documents"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Documente"
                ],
                "summary": "Creare: Documente",
                "security": [
                    {
                        "bearer": [
                            "documents:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DocumentsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Documents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/documents/{id}": {
            "get": {
                "tags": [
                    "Documente"
                ],
                "summary": "O înregistrare: Documente",
                "security": [
                    {
                        "bearer": [
                            "documents:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Documents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Documente"
                ],
                "summary": "Modificare: Documente",
                "security": [
                    {
                        "bearer": [
                            "documents:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DocumentsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Documents"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documente"
                ],
                "summary": "Ștergere: Documente",
                "security": [
                    {
                        "bearer": [
                            "documents:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/service-categories": {
            "get": {
                "tags": [
                    "Categorii de solicitări"
                ],
                "summary": "Listă: Categorii de solicitări",
                "security": [
                    {
                        "bearer": [
                            "service_categories:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ServiceCategories"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/service-categories/{id}": {
            "get": {
                "tags": [
                    "Categorii de solicitări"
                ],
                "summary": "O înregistrare: Categorii de solicitări",
                "security": [
                    {
                        "bearer": [
                            "service_categories:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ServiceCategories"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/service-requests": {
            "get": {
                "tags": [
                    "Solicitări"
                ],
                "summary": "Listă: Solicitări",
                "security": [
                    {
                        "bearer": [
                            "service_requests:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "awaiting_approval",
                                "open",
                                "in_progress",
                                "resolved",
                                "unresolved",
                                "rejected",
                                "cancelled"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această categorie."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această unitate."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ServiceRequests"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Solicitări"
                ],
                "summary": "Creare: Solicitări",
                "security": [
                    {
                        "bearer": [
                            "service_requests:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ServiceRequestsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ServiceRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/service-requests/{id}": {
            "get": {
                "tags": [
                    "Solicitări"
                ],
                "summary": "O înregistrare: Solicitări",
                "security": [
                    {
                        "bearer": [
                            "service_requests:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ServiceRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/service-requests/{id}/move": {
            "post": {
                "tags": [
                    "Solicitări"
                ],
                "summary": "Mută solicitarea în altă stare (in_progress, resolved, unresolved, open, cancelled), cum poate cel care a creat cheia. Nerezolvată și redeschiderea cer un comentariu.",
                "security": [
                    {
                        "bearer": [
                            "service_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "awaiting_approval",
                                            "open",
                                            "in_progress",
                                            "resolved",
                                            "unresolved",
                                            "rejected",
                                            "cancelled"
                                        ],
                                        "description": "Starea nouă."
                                    },
                                    "comment": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 2000,
                                        "description": "De ce (obligatoriu pentru nerezolvată și la redeschidere)."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ServiceRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/materials": {
            "get": {
                "tags": [
                    "Materiale"
                ],
                "summary": "Listă: Materiale",
                "security": [
                    {
                        "bearer": [
                            "materials:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Materials"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/materials/{id}": {
            "get": {
                "tags": [
                    "Materiale"
                ],
                "summary": "O înregistrare: Materiale",
                "security": [
                    {
                        "bearer": [
                            "materials:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Materials"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/material-requests": {
            "get": {
                "tags": [
                    "Cereri de materiale"
                ],
                "summary": "Listă: Cereri de materiale",
                "security": [
                    {
                        "bearer": [
                            "material_requests:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "new",
                                "taken",
                                "completed",
                                "cancelled"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această unitate."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MaterialRequests"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Cereri de materiale"
                ],
                "summary": "Creare: Cereri de materiale",
                "security": [
                    {
                        "bearer": [
                            "material_requests:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MaterialRequestsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MaterialRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/material-requests/{id}": {
            "get": {
                "tags": [
                    "Cereri de materiale"
                ],
                "summary": "O înregistrare: Cereri de materiale",
                "security": [
                    {
                        "bearer": [
                            "material_requests:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MaterialRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/material-requests/{id}/take": {
            "post": {
                "tags": [
                    "Cereri de materiale"
                ],
                "summary": "Preia o cerere nouă.",
                "security": [
                    {
                        "bearer": [
                            "material_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MaterialRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/material-requests/{id}/complete": {
            "post": {
                "tags": [
                    "Cereri de materiale"
                ],
                "summary": "O finalizează: stocul materialelor urmărite scade.",
                "security": [
                    {
                        "bearer": [
                            "material_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MaterialRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/material-requests/{id}/cancel": {
            "post": {
                "tags": [
                    "Cereri de materiale"
                ],
                "summary": "Anulează o cerere încă nefinalizată.",
                "security": [
                    {
                        "bearer": [
                            "material_requests:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MaterialRequests"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/surveys": {
            "get": {
                "tags": [
                    "Chestionare"
                ],
                "summary": "Listă: Chestionare",
                "security": [
                    {
                        "bearer": [
                            "surveys:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "published",
                                "closed"
                            ]
                        },
                        "description": "published sau closed."
                    },
                    {
                        "name": "is_anonymous",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Surveys"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/surveys/{id}": {
            "get": {
                "tags": [
                    "Chestionare"
                ],
                "summary": "O înregistrare: Chestionare",
                "security": [
                    {
                        "bearer": [
                            "surveys:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Surveys"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/survey-responses": {
            "get": {
                "tags": [
                    "Răspunsuri la chestionare"
                ],
                "summary": "Listă: Răspunsuri la chestionare",
                "security": [
                    {
                        "bearer": [
                            "survey_responses:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "survey_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar răspunsurile acestui chestionar."
                    },
                    {
                        "name": "employee_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar răspunsurile acestei persoane."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SurveyResponses"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/survey-responses/{id}": {
            "get": {
                "tags": [
                    "Răspunsuri la chestionare"
                ],
                "summary": "O înregistrare: Răspunsuri la chestionare",
                "security": [
                    {
                        "bearer": [
                            "survey_responses:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SurveyResponses"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/posts": {
            "get": {
                "tags": [
                    "Postări"
                ],
                "summary": "Listă: Postări",
                "security": [
                    {
                        "bearer": [
                            "posts:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "post",
                                "news",
                                "announcement",
                                "promotion",
                                "contest"
                            ]
                        },
                        "description": "Doar acest tip."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Posts"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Postări"
                ],
                "summary": "Creare: Postări",
                "security": [
                    {
                        "bearer": [
                            "posts:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PostsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Posts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/posts/{id}": {
            "get": {
                "tags": [
                    "Postări"
                ],
                "summary": "O înregistrare: Postări",
                "security": [
                    {
                        "bearer": [
                            "posts:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Posts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/knowledge-articles": {
            "get": {
                "tags": [
                    "Articole din baza de cunoștințe"
                ],
                "summary": "Listă: Articole din baza de cunoștințe",
                "security": [
                    {
                        "bearer": [
                            "knowledge_articles:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar acest subiect."
                    },
                    {
                        "name": "is_featured",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true sau false."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/KnowledgeArticles"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/knowledge-articles/{id}": {
            "get": {
                "tags": [
                    "Articole din baza de cunoștințe"
                ],
                "summary": "O înregistrare: Articole din baza de cunoștințe",
                "security": [
                    {
                        "bearer": [
                            "knowledge_articles:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/KnowledgeArticles"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-contacts": {
            "get": {
                "tags": [
                    "Clienți"
                ],
                "summary": "Listă: Clienți",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Nume, email sau telefon care conține textul."
                    },
                    {
                        "name": "email",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Exact acest email (literele mari nu contează)."
                    },
                    {
                        "name": "phone",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Acest număr de telefon (se compară doar cifrele)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "lead",
                                "customer",
                                "inactive"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ai acestei unități."
                    },
                    {
                        "name": "owner_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ai acestui utilizator."
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ai acestei organizații."
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Doar cu această etichetă."
                    },
                    {
                        "name": "consent",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cei care acceptă marketing; false: doar cei care nu acceptă."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CrmContacts"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Clienți"
                ],
                "summary": "Creare: Clienți",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmContactsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmContacts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-contacts/{id}": {
            "get": {
                "tags": [
                    "Clienți"
                ],
                "summary": "O înregistrare: Clienți",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmContacts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Clienți"
                ],
                "summary": "Modificare: Clienți",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmContactsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmContacts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Clienți"
                ],
                "summary": "Ștergere: Clienți",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-contacts/{id}/consent": {
            "post": {
                "tags": [
                    "Clienți"
                ],
                "summary": "Înregistrează că persoana și-a dat sau și-a retras acordul de marketing, și cum.",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "granted": {
                                        "type": "boolean",
                                        "example": true,
                                        "description": "true: dat; false: retras."
                                    },
                                    "channel": {
                                        "type": "string",
                                        "enum": [
                                            "form",
                                            "verbal",
                                            "email",
                                            "import",
                                            "api",
                                            "other"
                                        ],
                                        "example": "api",
                                        "description": "Cum: form, verbal, email, import, api sau other (api, dacă lipsește)."
                                    },
                                    "note": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 255,
                                        "description": "O notă (de exemplu unde se păstrează formularul)."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmContacts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-contacts/{id}/erase": {
            "post": {
                "tags": [
                    "Clienți"
                ],
                "summary": "Șterge datele persoanei la cererea ei (GDPR). Ireversibil.",
                "security": [
                    {
                        "bearer": [
                            "crm_contacts:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmContacts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-accounts": {
            "get": {
                "tags": [
                    "Organizații client"
                ],
                "summary": "Listă: Organizații client",
                "security": [
                    {
                        "bearer": [
                            "crm_accounts:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Denumire care conține textul."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei unități."
                    },
                    {
                        "name": "owner_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui utilizator."
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Doar cu această etichetă."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CrmAccounts"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Organizații client"
                ],
                "summary": "Creare: Organizații client",
                "security": [
                    {
                        "bearer": [
                            "crm_accounts:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmAccountsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmAccounts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-accounts/{id}": {
            "get": {
                "tags": [
                    "Organizații client"
                ],
                "summary": "O înregistrare: Organizații client",
                "security": [
                    {
                        "bearer": [
                            "crm_accounts:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmAccounts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Organizații client"
                ],
                "summary": "Modificare: Organizații client",
                "security": [
                    {
                        "bearer": [
                            "crm_accounts:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmAccountsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmAccounts"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Organizații client"
                ],
                "summary": "Ștergere: Organizații client",
                "security": [
                    {
                        "bearer": [
                            "crm_accounts:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-pipelines": {
            "get": {
                "tags": [
                    "Fluxuri de vânzare"
                ],
                "summary": "Listă: Fluxuri de vânzare",
                "security": [
                    {
                        "bearer": [
                            "crm_pipelines:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CrmPipelines"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/crm-pipelines/{id}": {
            "get": {
                "tags": [
                    "Fluxuri de vânzare"
                ],
                "summary": "O înregistrare: Fluxuri de vânzare",
                "security": [
                    {
                        "bearer": [
                            "crm_pipelines:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmPipelines"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-deals": {
            "get": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Listă: Oportunități",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "won",
                                "lost"
                            ]
                        },
                        "description": "Doar în lucru, câștigate sau pierdute."
                    },
                    {
                        "name": "pipeline_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar din acest flux."
                    },
                    {
                        "name": "stage_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar din această etapă."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei unități."
                    },
                    {
                        "name": "owner_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui utilizator."
                    },
                    {
                        "name": "contact_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui client."
                    },
                    {
                        "name": "account_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei organizații."
                    },
                    {
                        "name": "closed_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Încheiate la această dată sau după."
                    },
                    {
                        "name": "closed_until",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Încheiate la această dată sau înainte."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CrmDeals"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Creare: Oportunități",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmDealsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-deals/{id}": {
            "get": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "O înregistrare: Oportunități",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Modificare: Oportunități",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmDealsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Ștergere: Oportunități",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-deals/{id}/move": {
            "post": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Mută oportunitatea în altă etapă (a fluxului ei sau a altuia — oportunitatea se mută odată cu ea).",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "stage_id": {
                                        "type": "integer",
                                        "example": 4,
                                        "description": "Etapa în care se mută."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-deals/{id}/win": {
            "post": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Marchează oportunitatea câștigată (etapa câștigată a fluxului).",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-deals/{id}/lose": {
            "post": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Marchează oportunitatea pierdută (etapa pierdută a fluxului), cu motivul.",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "lost_reason": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 255,
                                        "example": "Price",
                                        "description": "De ce a fost pierdută."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-deals/{id}/reopen": {
            "post": {
                "tags": [
                    "Oportunități"
                ],
                "summary": "Readuce o oportunitate încheiată în ultima etapă în lucru a fluxului.",
                "security": [
                    {
                        "bearer": [
                            "crm_deals:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmDeals"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-activities": {
            "get": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "Listă: Activități cu clienții",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "call",
                                "meeting",
                                "visit",
                                "email",
                                "task",
                                "note",
                                "purchase"
                            ]
                        },
                        "description": "Doar de acest tip."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei unități."
                    },
                    {
                        "name": "owner_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui utilizator."
                    },
                    {
                        "name": "contact_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui client."
                    },
                    {
                        "name": "deal_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei oportunități."
                    },
                    {
                        "name": "done",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cele făcute; false: doar cele de făcut."
                    },
                    {
                        "name": "due_before",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Cu termen înainte de acest moment."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CrmActivities"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "Creare: Activități cu clienții",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmActivitiesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmActivities"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-activities/{id}": {
            "get": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "O înregistrare: Activități cu clienții",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmActivities"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "Modificare: Activități cu clienții",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmActivitiesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmActivities"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "Ștergere: Activități cu clienții",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-activities/{id}/complete": {
            "post": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "Marchează o sarcină ca făcută (acum).",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmActivities"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-activities/{id}/reopen": {
            "post": {
                "tags": [
                    "Activități cu clienții"
                ],
                "summary": "O marchează din nou ca nefăcută (nu și pentru cumpărări).",
                "security": [
                    {
                        "bearer": [
                            "crm_activities:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmActivities"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-feedback": {
            "get": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "Listă: Păreri ale clienților",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "kind",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "feedback",
                                "complaint"
                            ]
                        },
                        "description": "Doar păreri sau doar reclamații."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "resolved"
                            ]
                        },
                        "description": "Doar deschise sau doar rezolvate."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei unități."
                    },
                    {
                        "name": "contact_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui client."
                    },
                    {
                        "name": "received_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Primite la această dată sau după."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CrmFeedback"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "Creare: Păreri ale clienților",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmFeedbackInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmFeedback"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-feedback/{id}": {
            "get": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "O înregistrare: Păreri ale clienților",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmFeedback"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "Modificare: Păreri ale clienților",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CrmFeedbackInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmFeedback"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "Ștergere: Păreri ale clienților",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-feedback/{id}/resolve": {
            "post": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "Rezolvă o reclamație, spunând ce s-a făcut.",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "resolution": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 5000,
                                        "example": "Called the customer and refunded the delivery.",
                                        "description": "Ce s-a făcut."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmFeedback"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/crm-feedback/{id}/reopen": {
            "post": {
                "tags": [
                    "Păreri ale clienților"
                ],
                "summary": "Redeschide o reclamație rezolvată.",
                "security": [
                    {
                        "bearer": [
                            "crm_feedback:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CrmFeedback"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-partners": {
            "get": {
                "tags": [
                    "Parteneri"
                ],
                "summary": "Listă: Parteneri",
                "security": [
                    {
                        "bearer": [
                            "merch_partners:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Nume care conține textul."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar activii; false: doar inactivii."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MerchPartners"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Parteneri"
                ],
                "summary": "Creare: Parteneri",
                "security": [
                    {
                        "bearer": [
                            "merch_partners:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MerchPartnersInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchPartners"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-partners/{id}": {
            "get": {
                "tags": [
                    "Parteneri"
                ],
                "summary": "O înregistrare: Parteneri",
                "security": [
                    {
                        "bearer": [
                            "merch_partners:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchPartners"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Parteneri"
                ],
                "summary": "Modificare: Parteneri",
                "security": [
                    {
                        "bearer": [
                            "merch_partners:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MerchPartnersInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchPartners"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/space-zone-types": {
            "get": {
                "tags": [
                    "Tipuri de zone"
                ],
                "summary": "Listă: Tipuri de zone",
                "security": [
                    {
                        "bearer": [
                            "space_zone_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cele folosite; false: doar cele scoase din uz."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SpaceZoneTypes"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Tipuri de zone"
                ],
                "summary": "Creare: Tipuri de zone",
                "security": [
                    {
                        "bearer": [
                            "space_zone_types:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SpaceZoneTypesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SpaceZoneTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/space-zone-types/{id}": {
            "get": {
                "tags": [
                    "Tipuri de zone"
                ],
                "summary": "O înregistrare: Tipuri de zone",
                "security": [
                    {
                        "bearer": [
                            "space_zone_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SpaceZoneTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Tipuri de zone"
                ],
                "summary": "Modificare: Tipuri de zone",
                "security": [
                    {
                        "bearer": [
                            "space_zone_types:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SpaceZoneTypesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SpaceZoneTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/space-zones": {
            "get": {
                "tags": [
                    "Zone din locații"
                ],
                "summary": "Listă: Zone din locații",
                "security": [
                    {
                        "bearer": [
                            "space_zones:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei locații."
                    },
                    {
                        "name": "zone_type_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar de acest tip."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "active",
                                "unavailable"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "is_display",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar spațiile de expunere."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SpaceZones"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Zone din locații"
                ],
                "summary": "Creare: Zone din locații",
                "security": [
                    {
                        "bearer": [
                            "space_zones:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SpaceZonesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SpaceZones"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/space-zones/{id}": {
            "get": {
                "tags": [
                    "Zone din locații"
                ],
                "summary": "O înregistrare: Zone din locații",
                "security": [
                    {
                        "bearer": [
                            "space_zones:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SpaceZones"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Zone din locații"
                ],
                "summary": "Modificare: Zone din locații",
                "security": [
                    {
                        "bearer": [
                            "space_zones:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SpaceZonesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/SpaceZones"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Zone din locații"
                ],
                "summary": "Ștergere: Zone din locații",
                "security": [
                    {
                        "bearer": [
                            "space_zones:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shelf-fixture-types": {
            "get": {
                "tags": [
                    "Mobilier și tarife"
                ],
                "summary": "Listă: Mobilier și tarife",
                "security": [
                    {
                        "bearer": [
                            "shelf_fixture_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cele folosite."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ShelfFixtureTypes"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Mobilier și tarife"
                ],
                "summary": "Creare: Mobilier și tarife",
                "security": [
                    {
                        "bearer": [
                            "shelf_fixture_types:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ShelfFixtureTypesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfFixtureTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shelf-fixture-types/{id}": {
            "get": {
                "tags": [
                    "Mobilier și tarife"
                ],
                "summary": "O înregistrare: Mobilier și tarife",
                "security": [
                    {
                        "bearer": [
                            "shelf_fixture_types:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfFixtureTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Mobilier și tarife"
                ],
                "summary": "Modificare: Mobilier și tarife",
                "security": [
                    {
                        "bearer": [
                            "shelf_fixture_types:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ShelfFixtureTypesInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfFixtureTypes"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shelf-planograms": {
            "get": {
                "tags": [
                    "Planograme"
                ],
                "summary": "Listă: Planograme",
                "security": [
                    {
                        "bearer": [
                            "shelf_planograms:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "fixture_type_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar cu acest mobilier."
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cele active."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ShelfPlanograms"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Planograme"
                ],
                "summary": "Creare: Planograme",
                "security": [
                    {
                        "bearer": [
                            "shelf_planograms:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ShelfPlanogramsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfPlanograms"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shelf-planograms/{id}": {
            "get": {
                "tags": [
                    "Planograme"
                ],
                "summary": "O înregistrare: Planograme",
                "security": [
                    {
                        "bearer": [
                            "shelf_planograms:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfPlanograms"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Planograme"
                ],
                "summary": "Modificare: Planograme",
                "security": [
                    {
                        "bearer": [
                            "shelf_planograms:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ShelfPlanogramsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfPlanograms"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shelf-placements": {
            "get": {
                "tags": [
                    "Planograme amplasate"
                ],
                "summary": "Listă: Planograme amplasate",
                "security": [
                    {
                        "bearer": [
                            "shelf_placements:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar din această locație."
                    },
                    {
                        "name": "planogram_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar această planogramă."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "active",
                                "removed"
                            ]
                        },
                        "description": "Doar cu această stare."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ShelfPlacements"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Planograme amplasate"
                ],
                "summary": "Creare: Planograme amplasate",
                "security": [
                    {
                        "bearer": [
                            "shelf_placements:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ShelfPlacementsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfPlacements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shelf-placements/{id}": {
            "get": {
                "tags": [
                    "Planograme amplasate"
                ],
                "summary": "O înregistrare: Planograme amplasate",
                "security": [
                    {
                        "bearer": [
                            "shelf_placements:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfPlacements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Planograme amplasate"
                ],
                "summary": "Modificare: Planograme amplasate",
                "security": [
                    {
                        "bearer": [
                            "shelf_placements:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ShelfPlacementsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ShelfPlacements"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Planograme amplasate"
                ],
                "summary": "Ștergere: Planograme amplasate",
                "security": [
                    {
                        "bearer": [
                            "shelf_placements:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-campaigns": {
            "get": {
                "tags": [
                    "Campanii"
                ],
                "summary": "Listă: Campanii",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "module",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "spaces",
                                "shelf"
                            ]
                        },
                        "description": "Doar acest modul."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "draft",
                                "launched",
                                "cancelled"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "partner_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestui partener."
                    },
                    {
                        "name": "active_on",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Doar cele care țin în această zi (YYYY-MM-DD)."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MerchCampaigns"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            },
            "post": {
                "tags": [
                    "Campanii"
                ],
                "summary": "Creare: Campanii",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:write"
                        ]
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MerchCampaignsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchCampaigns"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "Prea multe cereri."
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-campaigns/{id}": {
            "get": {
                "tags": [
                    "Campanii"
                ],
                "summary": "O înregistrare: Campanii",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchCampaigns"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Campanii"
                ],
                "summary": "Modificare: Campanii",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MerchCampaignsInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchCampaigns"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Campanii"
                ],
                "summary": "Ștergere: Campanii",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted"
                    },
                    "409": {
                        "description": "Folosită în altă parte.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "410": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "411": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Prea multe cereri."
                    },
                    "413": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-campaigns/{id}/launch": {
            "post": {
                "tags": [
                    "Campanii"
                ],
                "summary": "Lansează ciorna: verifică locul și o trimite fiecărei locații.",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchCampaigns"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-campaigns/{id}/cancel": {
            "post": {
                "tags": [
                    "Campanii"
                ],
                "summary": "Anulează o campanie lansată: nu mai pornește unde nu a fost pusă, iar unde este pusă trebuie scoasă.",
                "security": [
                    {
                        "bearer": [
                            "merch_campaigns:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchCampaigns"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-executions": {
            "get": {
                "tags": [
                    "Implementarea în locații"
                ],
                "summary": "Listă: Implementarea în locații",
                "security": [
                    {
                        "bearer": [
                            "merch_executions:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "-id"
                        },
                        "description": "id, created_at sau updated_at; cu minus în față pentru descrescător."
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "description": "Înregistrările modificate după acest moment (ISO 8601)."
                    },
                    {
                        "name": "campaign_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar ale acestei campanii."
                    },
                    {
                        "name": "work_unit_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Doar din această locație."
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "waiting",
                                "pending",
                                "done",
                                "refused",
                                "removing",
                                "removed",
                                "cancelled"
                            ]
                        },
                        "description": "Doar cu această stare."
                    },
                    {
                        "name": "module",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "spaces",
                                "shelf"
                            ]
                        },
                        "description": "Doar acest modul."
                    },
                    {
                        "name": "late",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "true: doar cele întârziate."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/MerchExecutions"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/Links"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/merch-executions/{id}": {
            "get": {
                "tags": [
                    "Implementarea în locații"
                ],
                "summary": "O înregistrare: Implementarea în locații",
                "security": [
                    {
                        "bearer": [
                            "merch_executions:read"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchExecutions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-executions/{id}/confirm": {
            "post": {
                "tags": [
                    "Implementarea în locații"
                ],
                "summary": "Confirmă că este pusă (cu fotografii, dacă se cer).",
                "security": [
                    {
                        "bearer": [
                            "merch_executions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "photos": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "object"
                                        },
                                        "example": [
                                            {
                                                "name": "raft.jpg",
                                                "content_base64": "/9j/4AAQ…"
                                            }
                                        ],
                                        "description": "Fotografii: [{name, content_base64}], JPEG/PNG/WebP, cel mult 10 MB fiecare, cel mult 10."
                                    },
                                    "note": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 2000,
                                        "description": "Observații."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchExecutions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-executions/{id}/refuse": {
            "post": {
                "tags": [
                    "Implementarea în locații"
                ],
                "summary": "Spune că nu se poate pune, cu motivul.",
                "security": [
                    {
                        "bearer": [
                            "merch_executions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "example": "Afișele nu au ajuns în locație.",
                                        "description": "Motivul."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchExecutions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-executions/{id}/reopen": {
            "post": {
                "tags": [
                    "Implementarea în locații"
                ],
                "summary": "Cere din nou unei locații care a refuzat (cine conduce campania).",
                "security": [
                    {
                        "bearer": [
                            "merch_executions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchExecutions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/merch-executions/{id}/removed": {
            "post": {
                "tags": [
                    "Implementarea în locații"
                ],
                "summary": "Confirmă că materialele au fost scoase.",
                "security": [
                    {
                        "bearer": [
                            "merch_executions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "photos": {
                                        "type": [
                                            "array",
                                            "null"
                                        ],
                                        "items": {
                                            "type": "object"
                                        },
                                        "example": [
                                            {
                                                "name": "raft.jpg",
                                                "content_base64": "/9j/4AAQ…"
                                            }
                                        ],
                                        "description": "Fotografii după scoatere (opțional): [{name, content_base64}]."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/MerchExecutions"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Înregistrarea nu există în compania dumneavoastră.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "205": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/metrics": {
            "get": {
                "tags": [
                    "Valori KPI"
                ],
                "summary": "Metricile care acceptă valori prin API",
                "security": [
                    {
                        "bearer": [
                            "metrics:write"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    }
                }
            }
        },
        "/metrics/{key}/values": {
            "post": {
                "tags": [
                    "Valori KPI"
                ],
                "summary": "Trimiterea valorilor unei metrici pentru o perioadă",
                "security": [
                    {
                        "bearer": [
                            "metrics:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "period",
                                    "values"
                                ],
                                "properties": {
                                    "period": {
                                        "type": "string",
                                        "example": "2026-09"
                                    },
                                    "values": {
                                        "type": "array",
                                        "maxItems": 1000,
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "subject": {
                                                    "type": "string",
                                                    "example": "CJ01"
                                                },
                                                "value": {
                                                    "type": [
                                                        "number",
                                                        "string",
                                                        "null"
                                                    ],
                                                    "example": 1234.5
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "201": {
                        "description": "Cheie lipsă, necunoscută sau a altei companii.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Cheie suspendată sau expirată, drept lipsă, adresă nepermisă.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "203": {
                        "description": "Prea multe cereri."
                    },
                    "204": {
                        "description": "Date invalide. Nu s-a salvat nimic.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationError"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Error": {
                "type": "object",
                "required": [
                    "error",
                    "message"
                ],
                "properties": {
                    "error": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    }
                }
            },
            "ValidationError": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "errors": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "Meta": {
                "type": "object",
                "properties": {
                    "page": {
                        "type": "integer"
                    },
                    "per_page": {
                        "type": "integer"
                    },
                    "total": {
                        "type": "integer"
                    },
                    "last_page": {
                        "type": "integer"
                    }
                }
            },
            "Links": {
                "type": "object",
                "properties": {
                    "next": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "prev": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "GeoAreas": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 3,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 160,
                        "example": "Nord-Vest",
                        "description": "Nume, unic între zonele cu același părinte."
                    },
                    "level_label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "regiune",
                        "description": "Cum se numește nivelul (țară, regiune, zonă)."
                    },
                    "parent_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 1,
                        "description": "Zona din care face parte; null pentru o zonă de nivel superior. Niciodată ea însăși sau una dintre subzonele ei."
                    },
                    "sort": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 0,
                        "description": "Ordinea între zonele surori."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "GeoAreasInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 160,
                        "example": "Nord-Vest",
                        "description": "Nume, unic între zonele cu același părinte."
                    },
                    "level_label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "regiune",
                        "description": "Cum se numește nivelul (țară, regiune, zonă)."
                    },
                    "parent_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 1,
                        "description": "Zona din care face parte; null pentru o zonă de nivel superior. Niciodată ea însăși sau una dintre subzonele ei."
                    },
                    "sort": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 0,
                        "description": "Ordinea între zonele surori."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "WorkUnits": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 12,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 160,
                        "example": "Farmacia Verde Centru",
                        "description": "Nume, unic în companie."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "CJ01",
                        "description": "Codul dumneavoastră, unic în companie (folosit la potrivirea valorilor KPI)."
                    },
                    "geo_area_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 3,
                        "description": "Zona geografică (regiune, țară) din care face parte."
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "example": "Str. Memorandumului 10",
                        "description": "Adresa."
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Cluj-Napoca",
                        "description": "Localitatea (din lista oficială, pentru unitățile din România)."
                    },
                    "county": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Cluj",
                        "description": "Județul sau regiunea."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "description": "Telefon."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 160,
                        "description": "E-mail."
                    },
                    "opened_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2016-03-01",
                        "description": "Data deschiderii."
                    },
                    "closed_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Data închiderii."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "WorkUnitsInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 160,
                        "example": "Farmacia Verde Centru",
                        "description": "Nume, unic în companie."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "CJ01",
                        "description": "Codul dumneavoastră, unic în companie (folosit la potrivirea valorilor KPI)."
                    },
                    "geo_area_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 3,
                        "description": "Zona geografică (regiune, țară) din care face parte."
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "example": "Str. Memorandumului 10",
                        "description": "Adresa."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "description": "Telefon."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 160,
                        "description": "E-mail."
                    },
                    "opened_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2016-03-01",
                        "description": "Data deschiderii."
                    },
                    "closed_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Data închiderii."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "Departments": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Farmacie",
                        "description": "Nume, unic în companie."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "FARM",
                        "description": "Codul dumneavoastră, unic în companie (folosit la potrivirea valorilor KPI)."
                    },
                    "parent_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Departamentul din care face parte; niciodată el însuși sau unul dintre subdepartamentele lui."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "DepartmentsInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Farmacie",
                        "description": "Nume, unic în companie."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "FARM",
                        "description": "Codul dumneavoastră, unic în companie (folosit la potrivirea valorilor KPI)."
                    },
                    "parent_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Departamentul din care face parte; niciodată el însuși sau unul dintre subdepartamentele lui."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "Positions": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 7,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Farmacist",
                        "description": "Nume, unic în companie."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "FA",
                        "description": "Codul dumneavoastră, unic în companie."
                    },
                    "level": {
                        "type": "integer",
                        "example": 2,
                        "description": "Nivelul, de la 0 la 100."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Descriere."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "PositionsInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Farmacist",
                        "description": "Nume, unic în companie."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "FA",
                        "description": "Codul dumneavoastră, unic în companie."
                    },
                    "level": {
                        "type": "integer",
                        "example": 2,
                        "description": "Nivelul, de la 0 la 100."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Descriere."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    }
                },
                "required": [
                    "name",
                    "level"
                ]
            },
            "Teams": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Proiect inventar",
                        "description": "Nume, unic în companie."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Descriere."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "member_ids": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            345,
                            346
                        ],
                        "description": "Angajații din echipă (doar citire; se schimbă cu add-member / remove-member)."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "TeamsInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Proiect inventar",
                        "description": "Nume, unic în companie."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Descriere."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id-ul câmpului (vedeți /custom-fields)."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "CustomFields": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 12,
                        "description": "Identificator; cheia din custom_fields al unei înregistrări."
                    },
                    "entity": {
                        "type": "string",
                        "enum": [
                            "employee",
                            "work_unit",
                            "department",
                            "position",
                            "team",
                            "company"
                        ],
                        "readOnly": true,
                        "example": "employee",
                        "description": "Tipul de înregistrare căruia îi aparține."
                    },
                    "label": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Mărime uniformă",
                        "description": "Numele, în limba cererii (Accept-Language)."
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "text",
                            "textarea",
                            "number",
                            "date",
                            "boolean",
                            "select",
                            "multiselect",
                            "url"
                        ],
                        "readOnly": true,
                        "example": "select",
                        "description": "Ce conține: text, textarea, number, date (Y-m-d), boolean, select, multiselect sau url."
                    },
                    "options": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "id": "m",
                                "label": "M"
                            }
                        ],
                        "description": "Variantele unui select sau multiselect: id și etichetă; valoarea păstrată este id-ul."
                    },
                    "is_required": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false,
                        "description": "Dacă valoarea este obligatorie."
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "reach",
                            "sensitive"
                        ],
                        "readOnly": true,
                        "example": "reach",
                        "description": "reach (toți cei care văd angajatul) sau sensitive."
                    },
                    "is_active": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "Employees": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Identificator."
                    },
                    "employee_number": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "FV0012",
                        "description": "Marca, unică în companie (folosită la potrivirea valorilor KPI)."
                    },
                    "first_name": {
                        "type": "string",
                        "maxLength": 80,
                        "example": "Ana",
                        "description": "Prenume."
                    },
                    "last_name": {
                        "type": "string",
                        "maxLength": 80,
                        "example": "Popescu",
                        "description": "Nume."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 160,
                        "example": "ana.popescu@example.com",
                        "description": "E-mail de serviciu."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "description": "Telefon."
                    },
                    "birth_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Data nașterii."
                    },
                    "hire_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2024-02-01",
                        "description": "Data angajării (de la ea începe prima încadrare)."
                    },
                    "termination_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Data plecării."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "inactive",
                            "terminated"
                        ],
                        "example": "active",
                        "description": "active, inactive sau terminated."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea încadrării principale de acum; obligatorie la creare, doar citire după."
                    },
                    "department_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Departamentul încadrării principale (doar la creare)."
                    },
                    "position_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Funcția încadrării principale (doar la creare)."
                    },
                    "has_login": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Dacă persoana se poate autentifica."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id; cele sensibile doar cu dreptul sensitive."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "EmployeesInput": {
                "type": "object",
                "properties": {
                    "employee_number": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 32,
                        "example": "FV0012",
                        "description": "Marca, unică în companie (folosită la potrivirea valorilor KPI)."
                    },
                    "first_name": {
                        "type": "string",
                        "maxLength": 80,
                        "example": "Ana",
                        "description": "Prenume."
                    },
                    "last_name": {
                        "type": "string",
                        "maxLength": 80,
                        "example": "Popescu",
                        "description": "Nume."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 160,
                        "example": "ana.popescu@example.com",
                        "description": "E-mail de serviciu."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "description": "Telefon."
                    },
                    "birth_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Data nașterii."
                    },
                    "hire_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2024-02-01",
                        "description": "Data angajării (de la ea începe prima încadrare)."
                    },
                    "termination_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Data plecării."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "inactive",
                            "terminated"
                        ],
                        "example": "active",
                        "description": "active, inactive sau terminated."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea încadrării principale de acum; obligatorie la creare, doar citire după."
                    },
                    "department_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Departamentul încadrării principale (doar la creare)."
                    },
                    "position_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Funcția încadrării principale (doar la creare)."
                    },
                    "custom_fields": {
                        "type": "object",
                        "example": {
                            "12": "XL"
                        },
                        "description": "Câmpurile proprii ale companiei, după id; cele sensibile doar cu dreptul sensitive."
                    }
                },
                "required": [
                    "first_name",
                    "last_name",
                    "work_unit_id"
                ]
            },
            "Placements": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 901,
                        "description": "Identificator."
                    },
                    "employee_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Persoana."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea."
                    },
                    "department_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Departamentul."
                    },
                    "position_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Funcția."
                    },
                    "is_primary": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este încadrarea principală a persoanei."
                    },
                    "valid_from": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-03-01",
                        "description": "Prima zi."
                    },
                    "valid_to": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Ultima zi (gol: încă în vigoare)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creată."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "PlacementsInput": {
                "type": "object",
                "properties": {
                    "employee_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Persoana."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea."
                    },
                    "department_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Departamentul."
                    },
                    "position_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Funcția."
                    },
                    "is_primary": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este încadrarea principală a persoanei."
                    },
                    "valid_from": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-03-01",
                        "description": "Prima zi."
                    },
                    "valid_to": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Ultima zi (gol: încă în vigoare)."
                    }
                },
                "required": [
                    "employee_id",
                    "work_unit_id",
                    "valid_from"
                ]
            },
            "LeaveTypes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 1,
                        "description": "Identificator."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "CO",
                        "description": "Cod scurt."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Concediu de odihnă",
                        "description": "Numele, în limba cererii (Accept-Language), altfel în limba companiei."
                    },
                    "uses_balance": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă zilele se scad dintr-un sold anual."
                    },
                    "default_entitlement": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 21,
                        "description": "Zile pe an pentru un an întreg lucrat."
                    },
                    "is_paid": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Concediu plătit."
                    },
                    "requires_attachment": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Cere un document atașat (asemenea cereri se depun în aplicație)."
                    },
                    "requires_reference": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Cere un număr de referință."
                    },
                    "requires_replacement": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Cere un coleg care înlocuiește."
                    },
                    "is_active": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Dacă poate fi cerut."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "LeaveRequests": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 77,
                        "description": "Identificator."
                    },
                    "employee_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Persoana în concediu."
                    },
                    "leave_type_id": {
                        "type": "integer",
                        "example": 1,
                        "description": "Tipul de concediu."
                    },
                    "starts_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-07-06",
                        "description": "Prima zi."
                    },
                    "ends_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-07-10",
                        "description": "Ultima zi."
                    },
                    "days": {
                        "type": "number",
                        "readOnly": true,
                        "example": 5,
                        "description": "Zilele numărate (lucrătoare, fără sărbători)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "approved",
                            "rejected",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "pending",
                        "description": "pending, approved, rejected sau cancelled."
                    },
                    "replacement_employee_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Colegul care înlocuiește."
                    },
                    "reference": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 100,
                        "description": "Număr de referință (de exemplu certificatul medical)."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Observații."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Depusă."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "LeaveRequestsInput": {
                "type": "object",
                "properties": {
                    "employee_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Persoana în concediu."
                    },
                    "leave_type_id": {
                        "type": "integer",
                        "example": 1,
                        "description": "Tipul de concediu."
                    },
                    "starts_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-07-06",
                        "description": "Prima zi."
                    },
                    "ends_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-07-10",
                        "description": "Ultima zi."
                    },
                    "replacement_employee_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Colegul care înlocuiește."
                    },
                    "reference": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 100,
                        "description": "Număr de referință (de exemplu certificatul medical)."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Observații."
                    }
                },
                "required": [
                    "employee_id",
                    "leave_type_id",
                    "starts_on",
                    "ends_on"
                ]
            },
            "LeaveBalances": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 55,
                        "description": "Identificator."
                    },
                    "employee_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Persoana."
                    },
                    "leave_type_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 1,
                        "description": "Tipul de concediu."
                    },
                    "year": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2026,
                        "description": "Anul."
                    },
                    "entitlement": {
                        "type": "number",
                        "example": 21,
                        "description": "Zilele anului (0–365)."
                    },
                    "adjustment": {
                        "type": "number",
                        "example": 0,
                        "description": "Zile adăugate sau scăzute (−365–365)."
                    },
                    "carried_over": {
                        "type": "number",
                        "example": 3,
                        "description": "Zile reportate din anul trecut."
                    },
                    "carried_over_expires_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-03-31",
                        "description": "Până când se pot folosi zilele reportate."
                    },
                    "carried_usable": {
                        "type": "number",
                        "readOnly": true,
                        "example": 3,
                        "description": "Zile reportate încă folosibile azi."
                    },
                    "earlier": {
                        "type": "number",
                        "readOnly": true,
                        "example": 0,
                        "description": "Zile rămase din anii dinaintea celui precedent, încă folosibile azi."
                    },
                    "earlier_expires_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "description": "Până când se pot lua cele mai vechi dintre aceste zile."
                    },
                    "used": {
                        "type": "number",
                        "readOnly": true,
                        "example": 5,
                        "description": "Zile luate (aprobate)."
                    },
                    "pending": {
                        "type": "number",
                        "readOnly": true,
                        "example": 2,
                        "description": "Zile cerute, în așteptarea aprobării."
                    },
                    "available": {
                        "type": "number",
                        "readOnly": true,
                        "example": 17,
                        "description": "Zile rămase."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "description": "Observații."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Deschis."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "LeaveBalancesInput": {
                "type": "object",
                "properties": {
                    "entitlement": {
                        "type": "number",
                        "example": 21,
                        "description": "Zilele anului (0–365)."
                    },
                    "adjustment": {
                        "type": "number",
                        "example": 0,
                        "description": "Zile adăugate sau scăzute (−365–365)."
                    },
                    "carried_over": {
                        "type": "number",
                        "example": 3,
                        "description": "Zile reportate din anul trecut."
                    },
                    "carried_over_expires_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-03-31",
                        "description": "Până când se pot folosi zilele reportate."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "description": "Observații."
                    }
                }
            },
            "CalendarEvents": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 410,
                        "description": "Identificator."
                    },
                    "event_type_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Tipul evenimentului."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Inventar trimestrial",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 100000,
                        "example": "<p>Toată echipa.</p>",
                        "description": "Descriere (HTML; curățată ca orice text scris în aplicație)."
                    },
                    "location": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 200,
                        "description": "Locul."
                    },
                    "starts_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2026-07-06T15:00:00Z",
                        "description": "Început (ISO 8601)."
                    },
                    "ends_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2026-07-06T17:00:00Z",
                        "description": "Sfârșit (ISO 8601)."
                    },
                    "all_day": {
                        "type": "boolean",
                        "description": "Toată ziua."
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "everyone",
                            "unit",
                            "participants"
                        ],
                        "example": "everyone",
                        "description": "everyone, unit (oamenii unității) sau participants."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Unitatea, pentru vizibilitatea unit."
                    },
                    "participants": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            345,
                            346
                        ],
                        "description": "Id-urile angajaților invitați."
                    },
                    "rsvp": {
                        "type": "boolean",
                        "description": "Întreabă cine vine."
                    },
                    "recurrence": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "weekly",
                            "biweekly",
                            "monthly",
                            "yearly"
                        ],
                        "description": "Doar la creare: weekly, biweekly, monthly sau yearly."
                    },
                    "recurrence_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Doar la creare: ultima zi a seriei (cel mult doi ani înainte)."
                    },
                    "series_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Seria din care face parte."
                    },
                    "cancelled_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost anulat."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "CalendarEventsInput": {
                "type": "object",
                "properties": {
                    "event_type_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Tipul evenimentului."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Inventar trimestrial",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 100000,
                        "example": "<p>Toată echipa.</p>",
                        "description": "Descriere (HTML; curățată ca orice text scris în aplicație)."
                    },
                    "location": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 200,
                        "description": "Locul."
                    },
                    "starts_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2026-07-06T15:00:00Z",
                        "description": "Început (ISO 8601)."
                    },
                    "ends_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2026-07-06T17:00:00Z",
                        "description": "Sfârșit (ISO 8601)."
                    },
                    "all_day": {
                        "type": "boolean",
                        "description": "Toată ziua."
                    },
                    "visibility": {
                        "type": "string",
                        "enum": [
                            "everyone",
                            "unit",
                            "participants"
                        ],
                        "example": "everyone",
                        "description": "everyone, unit (oamenii unității) sau participants."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Unitatea, pentru vizibilitatea unit."
                    },
                    "participants": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            345,
                            346
                        ],
                        "description": "Id-urile angajaților invitați."
                    },
                    "rsvp": {
                        "type": "boolean",
                        "description": "Întreabă cine vine."
                    },
                    "recurrence": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "weekly",
                            "biweekly",
                            "monthly",
                            "yearly"
                        ],
                        "description": "Doar la creare: weekly, biweekly, monthly sau yearly."
                    },
                    "recurrence_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "description": "Doar la creare: ultima zi a seriei (cel mult doi ani înainte)."
                    }
                },
                "required": [
                    "title",
                    "starts_at",
                    "ends_at",
                    "visibility"
                ]
            },
            "KpiMetrics": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 7,
                        "description": "Identificator."
                    },
                    "key": {
                        "type": "string",
                        "readOnly": true,
                        "example": "sales.actual",
                        "description": "Cheia indicatorului, folosită în formule și la trimiterea valorilor."
                    },
                    "label": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Sales",
                        "description": "Numele, în limba companiei."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Ce măsoară."
                    },
                    "unit": {
                        "type": "string",
                        "enum": [
                            "currency",
                            "percent",
                            "count",
                            "score",
                            "days",
                            "hours",
                            "ratio"
                        ],
                        "readOnly": true,
                        "example": "currency",
                        "description": "Unitatea: currency, percent, count, score, days, hours sau ratio."
                    },
                    "value_type": {
                        "type": "string",
                        "enum": [
                            "decimal",
                            "integer",
                            "percent",
                            "boolean"
                        ],
                        "readOnly": true,
                        "example": "decimal",
                        "description": "Felul valorii: decimal, integer, percent sau boolean."
                    },
                    "grain": {
                        "type": "string",
                        "enum": [
                            "employee",
                            "team",
                            "department",
                            "work_unit",
                            "geo_area",
                            "company"
                        ],
                        "readOnly": true,
                        "example": "employee",
                        "description": "Pentru cine se măsoară: employee, team, department, work_unit, geo_area sau company."
                    },
                    "period": {
                        "type": "string",
                        "enum": [
                            "day",
                            "week",
                            "month",
                            "quarter",
                            "year"
                        ],
                        "readOnly": true,
                        "example": "month",
                        "description": "Cât de des: day, week, month, quarter sau year."
                    },
                    "aggregation": {
                        "type": "string",
                        "enum": [
                            "sum",
                            "avg",
                            "last",
                            "min",
                            "max",
                            "count"
                        ],
                        "readOnly": true,
                        "example": "sum",
                        "description": "Cum se adună valorile pe o perioadă mai lungă."
                    },
                    "source_type": {
                        "type": "string",
                        "enum": [
                            "manual",
                            "import",
                            "module",
                            "derived",
                            "api",
                            "objective",
                            "review"
                        ],
                        "readOnly": true,
                        "example": "api",
                        "description": "De unde vin valorile (manual, import, api, un modul…)."
                    },
                    "is_higher_better": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă o valoare mai mare e mai bună."
                    },
                    "is_active": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă este în folosință."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "MetricValues": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 5120,
                        "description": "Identificator."
                    },
                    "metric": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "sales.api",
                        "description": "Cheia indicatorului."
                    },
                    "subject_type": {
                        "type": "string",
                        "enum": [
                            "employee",
                            "team",
                            "department",
                            "work_unit",
                            "geo_area",
                            "company"
                        ],
                        "readOnly": true,
                        "example": "employee",
                        "description": "Felul subiectului (nivelul indicatorului)."
                    },
                    "subject_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Id-ul subiectului (angajat, unitate, departament, zonă sau echipă; 0 pentru companie)."
                    },
                    "period": {
                        "type": "string",
                        "maxLength": 16,
                        "example": "2026-09",
                        "description": "Cheia perioadei: 2026-09 (lună), 2026-W38 (săptămână), 2026-Q3, 2026, 2026-09-14 (zi)."
                    },
                    "period_start": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-01",
                        "description": "Prima zi a perioadei."
                    },
                    "period_end": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-30",
                        "description": "Ultima zi a perioadei."
                    },
                    "value": {
                        "type": [
                            "string",
                            "number",
                            "boolean",
                            "null"
                        ],
                        "example": "1234.5",
                        "description": "Valoarea, ca număr sau text („1234.5”, „1.234,5”, „87%”, true/false); null pentru fără date. Se păstrează ca șir zecimal."
                    },
                    "source": {
                        "type": "string",
                        "enum": [
                            "manual",
                            "import",
                            "module",
                            "derived",
                            "api",
                            "objective",
                            "review"
                        ],
                        "readOnly": true,
                        "example": "api",
                        "description": "De unde provine."
                    },
                    "recorded_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost scrisă."
                    }
                }
            },
            "MetricValuesInput": {
                "type": "object",
                "properties": {
                    "metric": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "sales.api",
                        "description": "Cheia indicatorului."
                    },
                    "subject_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Id-ul subiectului (angajat, unitate, departament, zonă sau echipă; 0 pentru companie)."
                    },
                    "period": {
                        "type": "string",
                        "maxLength": 16,
                        "example": "2026-09",
                        "description": "Cheia perioadei: 2026-09 (lună), 2026-W38 (săptămână), 2026-Q3, 2026, 2026-09-14 (zi)."
                    },
                    "value": {
                        "type": [
                            "string",
                            "number",
                            "boolean",
                            "null"
                        ],
                        "example": "1234.5",
                        "description": "Valoarea, ca număr sau text („1234.5”, „1.234,5”, „87%”, true/false); null pentru fără date. Se păstrează ca șir zecimal."
                    }
                },
                "required": [
                    "metric",
                    "subject_id",
                    "period"
                ]
            },
            "KpiScorecards": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Identificatorul acestei versiuni."
                    },
                    "family": {
                        "type": "string",
                        "readOnly": true,
                        "example": "9b2e0c1e-0f0a-4b47-9f3a-2c1d7e8a1b20",
                        "description": "Fișa, de-a lungul versiunilor ei."
                    },
                    "version": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2,
                        "description": "Numărul versiunii."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Pharmacist performance",
                        "description": "Nume."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Descriere."
                    },
                    "grain": {
                        "type": "string",
                        "enum": [
                            "employee",
                            "team",
                            "department",
                            "work_unit",
                            "geo_area",
                            "company"
                        ],
                        "readOnly": true,
                        "example": "employee",
                        "description": "Pe cine notează."
                    },
                    "period": {
                        "type": "string",
                        "enum": [
                            "day",
                            "week",
                            "month",
                            "quarter",
                            "year"
                        ],
                        "readOnly": true,
                        "example": "month",
                        "description": "Cât de des notează."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "draft",
                            "published",
                            "archived"
                        ],
                        "readOnly": true,
                        "example": "published",
                        "description": "draft, published sau archived."
                    },
                    "effective_from": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "description": "În vigoare de la."
                    },
                    "effective_to": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "description": "În vigoare până la."
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost publicată această versiune."
                    },
                    "components": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "key": "sales",
                                "label": "Sales achievement",
                                "weight": "0.55"
                            }
                        ],
                        "description": "Părțile: cheie, etichetă, pondere (0–1), țintă, format de afișare, dacă o vede angajatul."
                    },
                    "levels": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "name": "Good",
                                "min_score": "85",
                                "color": "#2B6CB0"
                            }
                        ],
                        "description": "Nivelurile: nume, cel mai mic scor care îl atinge, culoare."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "KpiResults": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 9811,
                        "description": "Identificator."
                    },
                    "scorecard_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Versiunea fișei care l-a calculat."
                    },
                    "scorecard": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Pharmacist performance",
                        "description": "Numele ei."
                    },
                    "subject_type": {
                        "type": "string",
                        "enum": [
                            "employee",
                            "team",
                            "department",
                            "work_unit",
                            "geo_area",
                            "company"
                        ],
                        "readOnly": true,
                        "example": "employee",
                        "description": "Felul subiectului."
                    },
                    "subject_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Id-ul subiectului."
                    },
                    "subject": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Ana Popescu",
                        "description": "Numele subiectului."
                    },
                    "period": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-01",
                        "description": "Prima zi a perioadei."
                    },
                    "total": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "92.40",
                        "description": "Scorul, ca șir zecimal; null când nu sunt date."
                    },
                    "level": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Good",
                        "description": "Nivelul atins."
                    },
                    "level_color": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "#2B6CB0",
                        "description": "Culoarea nivelului."
                    },
                    "bonus": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Bonusul, când fișa îl calculează."
                    },
                    "parts": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "key": "sales",
                                "label": "Sales achievement",
                                "value": "104.2",
                                "points": "57.31"
                            }
                        ],
                        "description": "Fiecare parte: cheie, etichetă, valoare și punctele aduse (șiruri zecimale; null pentru fără date)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost calculat."
                    }
                }
            },
            "Objectives": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 31,
                        "description": "Identificator."
                    },
                    "rule_id": {
                        "type": "integer",
                        "example": 2,
                        "description": "Regula care îl punctează (doar la creare)."
                    },
                    "rule": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Focus products",
                        "description": "Numele regulii."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Vitamin C 1000",
                        "description": "Nume."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Descriere."
                    },
                    "period": {
                        "type": "string",
                        "maxLength": 16,
                        "example": "2026-09",
                        "description": "Cheia perioadei, în perioada regulii (doar la creare), de exemplu 2026-09."
                    },
                    "period_start": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-01",
                        "description": "Prima zi."
                    },
                    "period_end": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-30",
                        "description": "Ultima zi."
                    },
                    "params": {
                        "type": "object",
                        "example": {
                            "bonus": "2"
                        },
                        "description": "Valorile parametrilor regulii, după nume (celelalte se ignoră); lipsă: valorile implicite ale regulii."
                    },
                    "targets": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "work_unit_id": 12,
                                "target": "30"
                            }
                        ],
                        "description": "Țintele pe unități: o listă de {work_unit_id, target}. Când are ținte, obiectivul este doar pentru acele unități."
                    },
                    "external_ref": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 100,
                        "example": "CAMP-2026-09",
                        "description": "Referința dumneavoastră (doar la creare)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "ObjectivesInput": {
                "type": "object",
                "properties": {
                    "rule_id": {
                        "type": "integer",
                        "example": 2,
                        "description": "Regula care îl punctează (doar la creare)."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Vitamin C 1000",
                        "description": "Nume."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Descriere."
                    },
                    "period": {
                        "type": "string",
                        "maxLength": 16,
                        "example": "2026-09",
                        "description": "Cheia perioadei, în perioada regulii (doar la creare), de exemplu 2026-09."
                    },
                    "params": {
                        "type": "object",
                        "example": {
                            "bonus": "2"
                        },
                        "description": "Valorile parametrilor regulii, după nume (celelalte se ignoră); lipsă: valorile implicite ale regulii."
                    },
                    "targets": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "work_unit_id": 12,
                                "target": "30"
                            }
                        ],
                        "description": "Țintele pe unități: o listă de {work_unit_id, target}. Când are ținte, obiectivul este doar pentru acele unități."
                    },
                    "external_ref": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 100,
                        "example": "CAMP-2026-09",
                        "description": "Referința dumneavoastră (doar la creare)."
                    }
                },
                "required": [
                    "rule_id",
                    "name",
                    "period"
                ]
            },
            "Reviews": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 812,
                        "description": "Identificator."
                    },
                    "form_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 3,
                        "description": "Versiunea grilei."
                    },
                    "form": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Monthly evaluation",
                        "description": "Numele grilei."
                    },
                    "employee_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Persoana evaluată."
                    },
                    "evaluator_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 12,
                        "description": "Contul celui care a evaluat."
                    },
                    "period_start": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-01",
                        "description": "Prima zi a perioadei."
                    },
                    "period_end": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-09-30",
                        "description": "Ultima zi."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "submitted",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "submitted",
                        "description": "submitted sau cancelled."
                    },
                    "total_points": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "8.00",
                        "description": "Punctele obținute."
                    },
                    "max_points": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "10.00",
                        "description": "Punctele posibile."
                    },
                    "result": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "80",
                        "description": "Rezultatul (puncte sau procent, când grila dă procent)."
                    },
                    "comment": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Comentariul evaluatorului, ca text simplu."
                    },
                    "submitted_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost trimisă."
                    },
                    "cancelled_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost anulată."
                    },
                    "answers": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "criterion_key": "attitude",
                                "selected": [
                                    "teamwork"
                                ],
                                "value": null,
                                "points": "2.00",
                                "comment": null
                            }
                        ],
                        "description": "Fiecare criteriu: cheie, variantele alese, o valoare, punctele și un comentariu."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "Courses": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 7,
                        "description": "Identificator."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Siguranța la incendiu",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Descriere scurtă, text simplu."
                    },
                    "category_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Categoria."
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Obligatorii",
                        "description": "Numele categoriei."
                    },
                    "author": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 160,
                        "description": "Autor."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "draft",
                            "published",
                            "archived"
                        ],
                        "example": "published",
                        "description": "draft, published sau archived; doar cursurile publicate pot fi alocate."
                    },
                    "estimated_minutes": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 20,
                        "description": "Durata estimată, în minute."
                    },
                    "validity_months": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Câte luni rămâne valabil certificatul; gol: nu expiră."
                    },
                    "issues_certificate": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă la final se emite un certificat."
                    },
                    "recertifies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Dacă oamenii sunt reînscriși înainte să expire certificatul."
                    },
                    "points": {
                        "type": "integer",
                        "example": 10,
                        "description": "Punctele primite la final."
                    },
                    "chapters_count": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Numărul de capitole."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "CoursesInput": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Siguranța la incendiu",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Descriere scurtă, text simplu."
                    },
                    "category_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Categoria."
                    },
                    "author": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 160,
                        "description": "Autor."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "draft",
                            "published",
                            "archived"
                        ],
                        "example": "published",
                        "description": "draft, published sau archived; doar cursurile publicate pot fi alocate."
                    },
                    "estimated_minutes": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 20,
                        "description": "Durata estimată, în minute."
                    },
                    "validity_months": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Câte luni rămâne valabil certificatul; gol: nu expiră."
                    },
                    "issues_certificate": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă la final se emite un certificat."
                    },
                    "recertifies": {
                        "type": "boolean",
                        "example": false,
                        "description": "Dacă oamenii sunt reînscriși înainte să expire certificatul."
                    },
                    "points": {
                        "type": "integer",
                        "example": 10,
                        "description": "Punctele primite la final."
                    }
                },
                "required": [
                    "title",
                    "status",
                    "points"
                ]
            },
            "LearningAssignments": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 31,
                        "description": "Identificator."
                    },
                    "course_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 7,
                        "description": "Cursul (sau test_id)."
                    },
                    "test_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Un test de sine stătător (sau course_id)."
                    },
                    "available_from": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-05-01",
                        "description": "De când poate fi parcurs."
                    },
                    "due_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-05-31",
                        "description": "Termen."
                    },
                    "enrolls_newcomers": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă cei care corespund mai târziu sunt înscriși automat."
                    },
                    "targets": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "type": "work_unit",
                                "id": 12
                            }
                        ],
                        "description": "Cui: o listă de {type, id}; type este all, employee, position, work_unit, department sau geo_area (id gol pentru all)."
                    },
                    "enrollments_count": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 14,
                        "description": "Oameni înscriși."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "LearningAssignmentsInput": {
                "type": "object",
                "properties": {
                    "course_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 7,
                        "description": "Cursul (sau test_id)."
                    },
                    "test_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Un test de sine stătător (sau course_id)."
                    },
                    "available_from": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-05-01",
                        "description": "De când poate fi parcurs."
                    },
                    "due_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-05-31",
                        "description": "Termen."
                    },
                    "enrolls_newcomers": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă cei care corespund mai târziu sunt înscriși automat."
                    },
                    "targets": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "type": "work_unit",
                                "id": 12
                            }
                        ],
                        "description": "Cui: o listă de {type, id}; type este all, employee, position, work_unit, department sau geo_area (id gol pentru all)."
                    }
                },
                "required": [
                    "available_from",
                    "targets"
                ]
            },
            "Enrollments": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 501,
                        "description": "Identificator."
                    },
                    "assignment_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 31,
                        "description": "Alocarea din care provine."
                    },
                    "employee_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Persoana."
                    },
                    "course_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 7,
                        "description": "Cursul."
                    },
                    "test_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Testul."
                    },
                    "available_from": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "description": "Disponibil de la."
                    },
                    "due_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-05-31",
                        "description": "Termen."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "assigned",
                            "in_progress",
                            "awaiting_grading",
                            "completed",
                            "failed",
                            "excused"
                        ],
                        "readOnly": true,
                        "example": "completed",
                        "description": "assigned, in_progress, awaiting_grading, completed, failed sau excused."
                    },
                    "started_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Început."
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Terminat."
                    },
                    "score": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 90,
                        "description": "Scorul la test (%)."
                    },
                    "passed": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Dacă testul a fost promovat."
                    },
                    "extra_attempts": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 0,
                        "description": "Încercări suplimentare acordate."
                    },
                    "is_overdue": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false,
                        "description": "Trecut de termen și neterminat."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "Certificates": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 88,
                        "description": "Identificator."
                    },
                    "enrollment_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 501,
                        "description": "Înscrierea care l-a adus."
                    },
                    "employee_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Persoana."
                    },
                    "course_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 7,
                        "description": "Cursul."
                    },
                    "number": {
                        "type": "string",
                        "readOnly": true,
                        "example": "FV-2026-0042",
                        "description": "Numărul certificatului."
                    },
                    "verification_code": {
                        "type": "string",
                        "readOnly": true,
                        "example": "K7Q2M9XA",
                        "description": "Codul public de verificare."
                    },
                    "issued_on": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-05-12",
                        "description": "Emis la."
                    },
                    "expires_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "example": "2027-05-12",
                        "description": "Valabil până la; gol: nu expiră."
                    },
                    "is_valid": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Valabil azi."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "Audits": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 19,
                        "description": "Identificator."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 12,
                        "description": "Unitatea auditată."
                    },
                    "template_name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Verificare lunară farmacie",
                        "description": "Lista de verificare folosită."
                    },
                    "auditor_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine l-a făcut (utilizator)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "draft",
                            "completed"
                        ],
                        "readOnly": true,
                        "example": "completed",
                        "description": "draft sau completed."
                    },
                    "conducted_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a avut loc."
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost finalizat."
                    },
                    "score": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 88.89,
                        "description": "Scor (%)."
                    },
                    "pass_score": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 80,
                        "description": "Prag (%)."
                    },
                    "passed": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Promovat (doar auditurile finalizate)."
                    },
                    "critical_findings": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 0,
                        "description": "Puncte critice neîndeplinite."
                    },
                    "is_self_check": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Făcut de cineva care lucrează în unitate sau o conduce (nu intră în KPI-urile de audit)."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Observații."
                    },
                    "findings": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "section": "Frigider",
                                "item": "Termometrul este calibrat",
                                "weight": 2,
                                "critical": true,
                                "result": "not_ok",
                                "comment": "Ultima calibrare în martie."
                            }
                        ],
                        "description": "Fiecare punct: {id, section, item, weight, critical, result (ok, not_ok, na), comment}."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "AuditActionPlans": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Identificator."
                    },
                    "audit_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 19,
                        "description": "Auditul."
                    },
                    "result_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Constatarea la care răspunde."
                    },
                    "description": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Calibrați termometrul frigiderului și păstrați certificatul.",
                        "description": "Ce trebuie făcut."
                    },
                    "responsible_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine trebuie să o facă (utilizator)."
                    },
                    "due_on": {
                        "type": "string",
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-05-20",
                        "description": "Termen."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "open",
                            "done",
                            "verified",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "open",
                        "description": "open, done, verified sau cancelled."
                    },
                    "is_overdue": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Deschisă și trecută de termen."
                    },
                    "done_note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Ce s-a făcut (și de ce a fost redeschisă)."
                    },
                    "done_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Marcată rezolvată."
                    },
                    "verified_by": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine a verificat-o (utilizator)."
                    },
                    "verified_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Verificată."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "SsmTypes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Instruire periodică",
                        "description": "Nume."
                    },
                    "validity_months": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 6,
                        "description": "Câte luni rămâne valabil; gol: nu expiră."
                    },
                    "is_required": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "Obligatoriu pentru toți."
                    },
                    "is_active": {
                        "type": "boolean",
                        "readOnly": true,
                        "description": "În folosință."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "SsmRecords": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 120,
                        "description": "Identificator."
                    },
                    "employee_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Persoana."
                    },
                    "type_id": {
                        "type": "integer",
                        "example": 2,
                        "description": "Instruirea sau controlul."
                    },
                    "done_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-04-15",
                        "description": "Când a fost efectuat (nu în viitor)."
                    },
                    "valid_until": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-10-15",
                        "description": "Valabil până la (din tip)."
                    },
                    "state": {
                        "type": "string",
                        "enum": [
                            "valid",
                            "expiring",
                            "expired",
                            "missing",
                            "none"
                        ],
                        "readOnly": true,
                        "example": "valid",
                        "description": "Azi: valid, expiring, expired."
                    },
                    "trainer": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 200,
                        "description": "Instructor sau medic."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 500,
                        "description": "Observații."
                    },
                    "recorded_by": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine l-a înregistrat (utilizator)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "SsmRecordsInput": {
                "type": "object",
                "properties": {
                    "employee_id": {
                        "type": "integer",
                        "example": 345,
                        "description": "Persoana."
                    },
                    "type_id": {
                        "type": "integer",
                        "example": 2,
                        "description": "Instruirea sau controlul."
                    },
                    "done_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-04-15",
                        "description": "Când a fost efectuat (nu în viitor)."
                    },
                    "trainer": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 200,
                        "description": "Instructor sau medic."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 500,
                        "description": "Observații."
                    }
                },
                "required": [
                    "employee_id",
                    "type_id",
                    "done_on"
                ]
            },
            "DocumentCategories": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Autorizații",
                        "description": "Nume, în limba cerută."
                    },
                    "scope": {
                        "type": "string",
                        "enum": [
                            "company",
                            "unit"
                        ],
                        "readOnly": true,
                        "example": "company",
                        "description": "company (documente ale companiei) sau unit (documente ale unităților)."
                    },
                    "sort": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 1,
                        "description": "Poziția în liste."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "Documents": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 31,
                        "description": "Identificator."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Autorizație sanitară de funcționare",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Descriere."
                    },
                    "category_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 4,
                        "description": "Categoria (vedeți /document-categories)."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea căreia îi aparține; gol pentru un document al companiei. Se alege doar la creare."
                    },
                    "is_internal": {
                        "type": "boolean",
                        "example": false,
                        "description": "Îl văd doar cei care administrează documentele."
                    },
                    "expires_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-12-31",
                        "description": "Data expirării."
                    },
                    "expiry_state": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "valid",
                            "expiring",
                            "expired"
                        ],
                        "readOnly": true,
                        "example": "valid",
                        "description": "valid, expiring sau expired (gol fără dată de expirare)."
                    },
                    "repeat_months": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Se reînnoiește la acest număr de luni."
                    },
                    "alert_days": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            30,
                            7
                        ],
                        "description": "Cu câte zile înainte de expirare pleacă mementourile (cel mult 6)."
                    },
                    "versions": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2,
                        "description": "Câte versiuni ale fișierului există."
                    },
                    "file_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "autorizatie.pdf",
                        "description": "Numele fișierului curent."
                    },
                    "file_size": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 184220,
                        "description": "Mărimea, în octeți."
                    },
                    "file_mime": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "application/pdf",
                        "description": "Tipul."
                    },
                    "version_note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "description": "O notă pentru versiunea fișierului (se citește nota versiunii curente)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "DocumentsInput": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Autorizație sanitară de funcționare",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Descriere."
                    },
                    "category_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 4,
                        "description": "Categoria (vedeți /document-categories)."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea căreia îi aparține; gol pentru un document al companiei. Se alege doar la creare."
                    },
                    "is_internal": {
                        "type": "boolean",
                        "example": false,
                        "description": "Îl văd doar cei care administrează documentele."
                    },
                    "expires_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-12-31",
                        "description": "Data expirării."
                    },
                    "repeat_months": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Se reînnoiește la acest număr de luni."
                    },
                    "alert_days": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            30,
                            7
                        ],
                        "description": "Cu câte zile înainte de expirare pleacă mementourile (cel mult 6)."
                    },
                    "file": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "content_base64": {
                                "type": "string"
                            }
                        },
                        "description": "Fișierul: {\"name\": \"…\", \"content_base64\": \"…\"}. Obligatoriu la creare; la modificare adaugă o versiune."
                    },
                    "version_note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "description": "O notă pentru versiunea fișierului (se citește nota versiunii curente)."
                    }
                },
                "required": [
                    "title",
                    "file"
                ]
            },
            "ServiceCategories": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Mentenanță și reparații",
                        "description": "Nume, în limba cerută."
                    },
                    "is_active": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă se pot face solicitări în ea."
                    },
                    "needs_approval": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false,
                        "description": "Dacă o solicitare așteaptă aprobarea înainte să se deschidă."
                    },
                    "sort": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 1,
                        "description": "Poziția în liste."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "ServiceRequests": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 88,
                        "description": "Identificator."
                    },
                    "category_id": {
                        "type": "integer",
                        "example": 2,
                        "description": "Categoria (vedeți /service-categories)."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea pentru care este."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Frigiderul de vaccinuri nu mai răcește",
                        "description": "Titlu scurt."
                    },
                    "description": {
                        "type": "string",
                        "maxLength": 5000,
                        "description": "Ce nu merge sau ce trebuie."
                    },
                    "requested_by": {
                        "type": "integer",
                        "example": 17,
                        "description": "Utilizatorul pentru care se depune (o persoană din companie); cel care a creat cheia, dacă lipsește."
                    },
                    "employee_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Fișa de angajat a celui care a depus-o."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "awaiting_approval",
                            "open",
                            "in_progress",
                            "resolved",
                            "unresolved",
                            "rejected",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "open",
                        "description": "awaiting_approval, open, in_progress, resolved, unresolved, rejected sau cancelled."
                    },
                    "assigned_to": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Utilizatorul care a preluat-o."
                    },
                    "closed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost închisă."
                    },
                    "history": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "status_from": "open",
                                "status_to": "in_progress",
                                "comment": "Vine tehnicianul mâine.",
                                "user_id": 9,
                                "at": "2026-05-04T08:00:00Z"
                            }
                        ],
                        "description": "Fiecare mutare: din, în, comentariu, de cine, când."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "ServiceRequestsInput": {
                "type": "object",
                "properties": {
                    "category_id": {
                        "type": "integer",
                        "example": 2,
                        "description": "Categoria (vedeți /service-categories)."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea pentru care este."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Frigiderul de vaccinuri nu mai răcește",
                        "description": "Titlu scurt."
                    },
                    "description": {
                        "type": "string",
                        "maxLength": 5000,
                        "description": "Ce nu merge sau ce trebuie."
                    },
                    "requested_by": {
                        "type": "integer",
                        "example": 17,
                        "description": "Utilizatorul pentru care se depune (o persoană din companie); cel care a creat cheia, dacă lipsește."
                    }
                },
                "required": [
                    "category_id",
                    "work_unit_id",
                    "title",
                    "description"
                ]
            },
            "Materials": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 7,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Mănuși nitril",
                        "description": "Nume."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Descriere."
                    },
                    "unit": {
                        "type": "string",
                        "readOnly": true,
                        "example": "cutie",
                        "description": "Unitatea de măsură."
                    },
                    "track_stock": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă se urmărește stocul."
                    },
                    "stock": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 35,
                        "description": "Stocul de acum (gol dacă nu se urmărește)."
                    },
                    "is_active": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă se poate cere."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "MaterialRequests": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 51,
                        "description": "Identificator."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea pentru care este."
                    },
                    "requested_by": {
                        "type": "integer",
                        "example": 17,
                        "description": "Utilizatorul pentru care se depune; cel care a creat cheia, dacă lipsește."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "new",
                            "taken",
                            "completed",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "new",
                        "description": "new, taken, completed sau cancelled."
                    },
                    "handled_by": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Utilizatorul care o rezolvă."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "O notă."
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "material_id": 7,
                                "quantity": 5
                            }
                        ],
                        "description": "Ce se cere: [{\"material_id\": 7, \"quantity\": 5}] (cel puțin o poziție)."
                    },
                    "completed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost finalizată."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "MaterialRequestsInput": {
                "type": "object",
                "properties": {
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Unitatea pentru care este."
                    },
                    "requested_by": {
                        "type": "integer",
                        "example": 17,
                        "description": "Utilizatorul pentru care se depune; cel care a creat cheia, dacă lipsește."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "O notă."
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "material_id": 7,
                                "quantity": 5
                            }
                        ],
                        "description": "Ce se cere: [{\"material_id\": 7, \"quantity\": 5}] (cel puțin o poziție)."
                    }
                },
                "required": [
                    "work_unit_id",
                    "items"
                ]
            },
            "Surveys": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 5,
                        "description": "Identificator."
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Climatul de lucru",
                        "description": "Titlu."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Descriere."
                    },
                    "is_anonymous": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă răspunsurile sunt anonime."
                    },
                    "is_mandatory": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false,
                        "description": "Dacă răspunsul este obligatoriu."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "published",
                            "closed"
                        ],
                        "readOnly": true,
                        "example": "closed",
                        "description": "published sau closed."
                    },
                    "opens_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când se deschide."
                    },
                    "closes_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când se închide."
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost publicat."
                    },
                    "questions": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "id": 11,
                                "type": "single",
                                "text": "Ați recomanda compania?",
                                "is_required": true,
                                "options": [
                                    {
                                        "id": 31,
                                        "label": "Da"
                                    }
                                ]
                            }
                        ],
                        "description": "Întrebările: id, tip (single, multiple, scale, text), text, obligatorie, variante."
                    },
                    "results": {
                        "type": "object",
                        "readOnly": true,
                        "example": {
                            "hidden": false,
                            "responses": 14,
                            "questions": [
                                {
                                    "question_id": 11,
                                    "answered": 14,
                                    "counts": {
                                        "31": 11
                                    },
                                    "average": null
                                }
                            ]
                        },
                        "description": "Totaluri: hidden, sealed, responses, assigned, completed și, pe întrebare, câți au răspuns, numărul pe variantă sau pe valoare a scalei, media."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "SurveyResponses": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "9b2f4c1e-6f0a-4e7c-9a51-3c2d1e0f7a88",
                        "description": "Identificator (un UUID)."
                    },
                    "survey_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 5,
                        "description": "Chestionarul."
                    },
                    "employee_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 345,
                        "description": "Cine a răspuns."
                    },
                    "submitted_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când."
                    },
                    "answers": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "question_id": 11,
                                "option_id": 31,
                                "value": null,
                                "text": null
                            }
                        ],
                        "description": "Răspunsurile: întrebarea, varianta aleasă, valoarea (scală) sau textul."
                    }
                }
            },
            "Posts": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 120,
                        "description": "Identificator."
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "post",
                            "news",
                            "announcement",
                            "promotion",
                            "contest"
                        ],
                        "example": "announcement",
                        "description": "post, news, announcement, promotion sau contest."
                    },
                    "title": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 200,
                        "example": "Program de sărbători",
                        "description": "Titlu (opțional)."
                    },
                    "body": {
                        "type": "string",
                        "maxLength": 200000,
                        "example": "Între 24 și 26 decembrie programul este 9–14.",
                        "description": "Textul (simplu, la citire)."
                    },
                    "author": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Maria Matei",
                        "description": "Cine a scris-o."
                    },
                    "comments_enabled": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se pot face comentarii."
                    },
                    "comments_count": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 3,
                        "description": "Câte comentarii are."
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "Când se publică; un moment viitor o programează."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "PostsInput": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "post",
                            "news",
                            "announcement",
                            "promotion",
                            "contest"
                        ],
                        "example": "announcement",
                        "description": "post, news, announcement, promotion sau contest."
                    },
                    "title": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 200,
                        "example": "Program de sărbători",
                        "description": "Titlu (opțional)."
                    },
                    "body": {
                        "type": "string",
                        "maxLength": 200000,
                        "example": "Între 24 și 26 decembrie programul este 9–14.",
                        "description": "Textul (simplu, la citire)."
                    },
                    "comments_enabled": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se pot face comentarii."
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "Când se publică; un moment viitor o programează."
                    }
                },
                "required": [
                    "type",
                    "body"
                ]
            },
            "KnowledgeArticles": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 9,
                        "description": "Identificator."
                    },
                    "category_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 2,
                        "description": "Subiectul."
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "example": "Operațiuni",
                        "description": "Numele subiectului."
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Recepția mărfii",
                        "description": "Titlu."
                    },
                    "summary": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Rezumat."
                    },
                    "body": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Articolul, ca text simplu."
                    },
                    "is_featured": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă este evidențiat."
                    },
                    "published_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Prima publicare."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Ultima modificare."
                    }
                }
            },
            "CrmContacts": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 120,
                        "description": "Identificator."
                    },
                    "first_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Ioana",
                        "description": "Prenume."
                    },
                    "last_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Pop",
                        "description": "Nume."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "example": "ioana.pop@example.com",
                        "description": "Adresa de email (unică în companie, păstrată cu litere mici)."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "0722 111 222",
                        "description": "Telefon, așa cum a fost scris."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 31,
                        "description": "Organizația din care face parte (vezi /crm-accounts)."
                    },
                    "job_title": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "description": "Rolul său acolo."
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Cluj-Napoca",
                        "description": "Localitate."
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2,
                        "example": "RO",
                        "description": "Țara, cod ISO din două litere."
                    },
                    "locale": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2,
                        "example": "ro",
                        "description": "Limba în care i se scrie (ro, en…)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "lead",
                            "customer",
                            "inactive"
                        ],
                        "example": "customer",
                        "description": "lead (potențial), customer (client) sau inactive. O cumpărare sau o oportunitate câștigată face dintr-un potențial client un client."
                    },
                    "source": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "walk_in",
                            "website",
                            "phone",
                            "referral",
                            "campaign",
                            "event",
                            "partner",
                            "other"
                        ],
                        "example": "walk_in",
                        "description": "De unde a venit: walk_in, website, phone, referral, campaign, event, partner sau other."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            "loyalty"
                        ],
                        "description": "Etichete (litere mici, cel mult 20)."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    },
                    "marketing_consent": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă acceptă acum comunicări de marketing (doar citire — se schimbă prin acțiunea consent)."
                    },
                    "consent_updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când s-a schimbat ultima dată acordul."
                    },
                    "last_activity_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când s-a făcut ultima dată ceva cu el."
                    },
                    "erased_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când i-au fost șterse datele la cerere (înregistrarea e apoi doar de citit)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "CrmContactsInput": {
                "type": "object",
                "properties": {
                    "first_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Ioana",
                        "description": "Prenume."
                    },
                    "last_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Pop",
                        "description": "Nume."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "example": "ioana.pop@example.com",
                        "description": "Adresa de email (unică în companie, păstrată cu litere mici)."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "0722 111 222",
                        "description": "Telefon, așa cum a fost scris."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 31,
                        "description": "Organizația din care face parte (vezi /crm-accounts)."
                    },
                    "job_title": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "description": "Rolul său acolo."
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Cluj-Napoca",
                        "description": "Localitate."
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2,
                        "example": "RO",
                        "description": "Țara, cod ISO din două litere."
                    },
                    "locale": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2,
                        "example": "ro",
                        "description": "Limba în care i se scrie (ro, en…)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "lead",
                            "customer",
                            "inactive"
                        ],
                        "example": "customer",
                        "description": "lead (potențial), customer (client) sau inactive. O cumpărare sau o oportunitate câștigată face dintr-un potențial client un client."
                    },
                    "source": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "walk_in",
                            "website",
                            "phone",
                            "referral",
                            "campaign",
                            "event",
                            "partner",
                            "other"
                        ],
                        "example": "walk_in",
                        "description": "De unde a venit: walk_in, website, phone, referral, campaign, event, partner sau other."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            "loyalty"
                        ],
                        "description": "Etichete (litere mici, cel mult 20)."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    }
                }
            },
            "CrmAccounts": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 31,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Hotel Sigma SRL",
                        "description": "Denumire (unică în companie)."
                    },
                    "registration_number": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "J12/345/2019",
                        "description": "Număr de înregistrare la Registrul Comerțului."
                    },
                    "vat_number": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "RO12345678",
                        "description": "Cod de TVA."
                    },
                    "industry": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Hospitality",
                        "description": "Domeniu de activitate."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "example": "office@sigma.example",
                        "description": "Adresa de email."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "0264 000 111",
                        "description": "Telefon."
                    },
                    "website": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "description": "Site."
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "description": "Adresă."
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Cluj-Napoca",
                        "description": "Localitate."
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2,
                        "example": "RO",
                        "description": "Țara, cod ISO din două litere."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            "corporate",
                            "events"
                        ],
                        "description": "Etichete (litere mici, cel mult 20)."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "CrmAccountsInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Hotel Sigma SRL",
                        "description": "Denumire (unică în companie)."
                    },
                    "registration_number": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "J12/345/2019",
                        "description": "Număr de înregistrare la Registrul Comerțului."
                    },
                    "vat_number": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "RO12345678",
                        "description": "Cod de TVA."
                    },
                    "industry": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Hospitality",
                        "description": "Domeniu de activitate."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "example": "office@sigma.example",
                        "description": "Adresa de email."
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "0264 000 111",
                        "description": "Telefon."
                    },
                    "website": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "description": "Site."
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255,
                        "description": "Adresă."
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Cluj-Napoca",
                        "description": "Localitate."
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2,
                        "example": "RO",
                        "description": "Țara, cod ISO din două litere."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            "corporate",
                            "events"
                        ],
                        "description": "Etichete (litere mici, cel mult 20)."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "CrmPipelines": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 1,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Sales",
                        "description": "Denumire."
                    },
                    "is_default": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true,
                        "description": "Dacă oportunitățile noi ajung aici când nu se indică un flux."
                    },
                    "sort": {
                        "type": "integer",
                        "readOnly": true,
                        "description": "Poziția în liste."
                    },
                    "stages": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "id": 3,
                                "name": "Proposal sent",
                                "kind": "open",
                                "probability": 60,
                                "sort": 20
                            },
                            {
                                "id": 5,
                                "name": "Won",
                                "kind": "won",
                                "probability": 100,
                                "sort": 40
                            }
                        ],
                        "description": "Etapele, în ordine: id, name, kind (open, won sau lost), probability (0–100) și sort."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "CrmDeals": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 77,
                        "description": "Identificator."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Corporate rates 2027",
                        "description": "Ce se vinde."
                    },
                    "pipeline_id": {
                        "type": "integer",
                        "example": 1,
                        "description": "Fluxul (vezi /crm-pipelines). Doar la creare."
                    },
                    "stage_id": {
                        "type": "integer",
                        "example": 3,
                        "description": "Etapa. Doar la creare; apoi prin acțiuni."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "open",
                            "won",
                            "lost"
                        ],
                        "readOnly": true,
                        "example": "open",
                        "description": "open, won sau lost — tipul etapei."
                    },
                    "contact_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 120,
                        "description": "Clientul (vezi /crm-contacts)."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 31,
                        "description": "Organizația (vezi /crm-accounts)."
                    },
                    "value": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 12500.5,
                        "description": "Cât valorează."
                    },
                    "currency": {
                        "type": "string",
                        "maxLength": 3,
                        "example": "RON",
                        "description": "Moneda valorii (cod ISO); moneda CRM a companiei, dacă lipsește."
                    },
                    "expected_close_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-12-15",
                        "description": "Când se așteaptă să se încheie."
                    },
                    "closed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost câștigată sau pierdută."
                    },
                    "lost_reason": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "De ce a fost pierdută."
                    },
                    "source": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "walk_in",
                            "website",
                            "phone",
                            "referral",
                            "campaign",
                            "event",
                            "partner",
                            "other"
                        ],
                        "example": "referral",
                        "description": "De unde a venit (ca la clienți)."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "CrmDealsInput": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Corporate rates 2027",
                        "description": "Ce se vinde."
                    },
                    "pipeline_id": {
                        "type": "integer",
                        "example": 1,
                        "description": "Fluxul (vezi /crm-pipelines). Doar la creare."
                    },
                    "stage_id": {
                        "type": "integer",
                        "example": 3,
                        "description": "Etapa. Doar la creare; apoi prin acțiuni."
                    },
                    "contact_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 120,
                        "description": "Clientul (vezi /crm-contacts)."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 31,
                        "description": "Organizația (vezi /crm-accounts)."
                    },
                    "value": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 12500.5,
                        "description": "Cât valorează."
                    },
                    "currency": {
                        "type": "string",
                        "maxLength": 3,
                        "example": "RON",
                        "description": "Moneda valorii (cod ISO); moneda CRM a companiei, dacă lipsește."
                    },
                    "expected_close_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-12-15",
                        "description": "Când se așteaptă să se încheie."
                    },
                    "source": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "walk_in",
                            "website",
                            "phone",
                            "referral",
                            "campaign",
                            "event",
                            "partner",
                            "other"
                        ],
                        "example": "referral",
                        "description": "De unde a venit (ca la clienți)."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    }
                },
                "required": [
                    "title"
                ]
            },
            "CrmActivities": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 530,
                        "description": "Identificator."
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "call",
                            "meeting",
                            "visit",
                            "email",
                            "task",
                            "note",
                            "purchase"
                        ],
                        "example": "purchase",
                        "description": "call, meeting, visit, email, task, note sau purchase."
                    },
                    "subject": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Receipt 1243",
                        "description": "Descriere scurtă."
                    },
                    "body": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Detalii."
                    },
                    "contact_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 120,
                        "description": "Clientul."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Organizația."
                    },
                    "deal_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Oportunitatea de care ține."
                    },
                    "amount": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 240,
                        "description": "Suma unei cumpărări, în moneda CRM a companiei (goală pentru celelalte tipuri)."
                    },
                    "due_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "example": "2026-11-03T09:00:00Z",
                        "description": "Termenul unei sarcini."
                    },
                    "done_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "example": "2026-11-02T15:20:00Z",
                        "description": "Când a fost făcută; gol pentru o sarcină încă de făcut."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "CrmActivitiesInput": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "call",
                            "meeting",
                            "visit",
                            "email",
                            "task",
                            "note",
                            "purchase"
                        ],
                        "example": "purchase",
                        "description": "call, meeting, visit, email, task, note sau purchase."
                    },
                    "subject": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Receipt 1243",
                        "description": "Descriere scurtă."
                    },
                    "body": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Detalii."
                    },
                    "contact_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 120,
                        "description": "Clientul."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Organizația."
                    },
                    "deal_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Oportunitatea de care ține."
                    },
                    "amount": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 240,
                        "description": "Suma unei cumpărări, în moneda CRM a companiei (goală pentru celelalte tipuri)."
                    },
                    "due_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "example": "2026-11-03T09:00:00Z",
                        "description": "Termenul unei sarcini."
                    },
                    "done_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "example": "2026-11-02T15:20:00Z",
                        "description": "Când a fost făcută; gol pentru o sarcină încă de făcut."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    }
                },
                "required": [
                    "type",
                    "subject"
                ]
            },
            "CrmFeedback": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 64,
                        "description": "Identificator."
                    },
                    "kind": {
                        "type": "string",
                        "enum": [
                            "feedback",
                            "complaint"
                        ],
                        "example": "feedback",
                        "description": "feedback (părere) sau complaint (reclamație). Doar la creare."
                    },
                    "contact_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 120,
                        "description": "Clientul."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Organizația."
                    },
                    "score": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 9,
                        "description": "De la 0 la 10."
                    },
                    "comment": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "example": "Quick and friendly service.",
                        "description": "Ce a spus."
                    },
                    "channel": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "in_person",
                            "phone",
                            "email",
                            "website",
                            "review_site",
                            "survey",
                            "other"
                        ],
                        "example": "in_person",
                        "description": "Cum a venit: in_person, phone, email, website, review_site, survey sau other."
                    },
                    "received_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-11-02",
                        "description": "Când a fost primită (azi, dacă lipsește)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "open",
                            "resolved"
                        ],
                        "readOnly": true,
                        "example": "resolved",
                        "description": "open (o reclamație încă nerezolvată) sau resolved."
                    },
                    "resolved_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost rezolvată reclamația."
                    },
                    "resolution": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Ce s-a făcut."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "CrmFeedbackInput": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "enum": [
                            "feedback",
                            "complaint"
                        ],
                        "example": "feedback",
                        "description": "feedback (părere) sau complaint (reclamație). Doar la creare."
                    },
                    "contact_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 120,
                        "description": "Clientul."
                    },
                    "account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Organizația."
                    },
                    "score": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 9,
                        "description": "De la 0 la 10."
                    },
                    "comment": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "example": "Quick and friendly service.",
                        "description": "Ce a spus."
                    },
                    "channel": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "in_person",
                            "phone",
                            "email",
                            "website",
                            "review_site",
                            "survey",
                            "other"
                        ],
                        "example": "in_person",
                        "description": "Cum a venit: in_person, phone, email, website, review_site, survey sau other."
                    },
                    "received_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-11-02",
                        "description": "Când a fost primită (azi, dacă lipsește)."
                    },
                    "work_unit_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 12,
                        "description": "Unitatea (magazin, hotel, birou) care îl deservește; gol pentru niciuna."
                    },
                    "owner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 17,
                        "description": "Utilizatorul care se ocupă de el; cel care a creat cheia, dacă lipsește la creare."
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "MerchPartners": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 3,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 150,
                        "example": "Dermalab",
                        "description": "Numele partenerului (unic în companie)."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "DLB",
                        "description": "Cod intern."
                    },
                    "contact_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 150,
                        "example": "Ana Ionescu",
                        "description": "Persoana de contact."
                    },
                    "contact_email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "example": "ana@dermalab.example",
                        "description": "Emailul persoanei de contact."
                    },
                    "contact_phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "0722 000 111",
                        "description": "Telefonul persoanei de contact."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    },
                    "crm_account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 31,
                        "description": "Organizația client din CRM căreia îi corespunde (vezi /crm-accounts), dacă există."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă poate primi campanii noi."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "MerchPartnersInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 150,
                        "example": "Dermalab",
                        "description": "Numele partenerului (unic în companie)."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "DLB",
                        "description": "Cod intern."
                    },
                    "contact_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 150,
                        "example": "Ana Ionescu",
                        "description": "Persoana de contact."
                    },
                    "contact_email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 190,
                        "example": "ana@dermalab.example",
                        "description": "Emailul persoanei de contact."
                    },
                    "contact_phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "0722 000 111",
                        "description": "Telefonul persoanei de contact."
                    },
                    "notes": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 5000,
                        "description": "Note."
                    },
                    "crm_account_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 31,
                        "description": "Organizația client din CRM căreia îi corespunde (vezi /crm-accounts), dacă există."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă poate primi campanii noi."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "SpaceZoneTypes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 2,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Ramă click A2",
                        "description": "Denumire."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Descriere."
                    },
                    "width_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 50,
                        "description": "Lățime, în centimetri."
                    },
                    "height_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 70,
                        "description": "Înălțime, în centimetri."
                    },
                    "depth_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Adâncime, în centimetri."
                    },
                    "faces": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte fețe are (1 sau 2: A, B)."
                    },
                    "capacity": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte materiale încap pe o față."
                    },
                    "capacity_label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 60,
                        "example": "afișe A2",
                        "description": "Ce numără capacitatea (de exemplu „afișe A2”)."
                    },
                    "is_display": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este spațiu de expunere (poate găzdui campanii)."
                    },
                    "monthly_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 150,
                        "description": "Tariful pe lună pentru o unitate din capacitate (sugerează valoarea campaniilor)."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se mai folosește."
                    },
                    "sort": {
                        "type": "integer",
                        "example": 10,
                        "description": "Ordinea în liste."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "SpaceZoneTypesInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Ramă click A2",
                        "description": "Denumire."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Descriere."
                    },
                    "width_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 50,
                        "description": "Lățime, în centimetri."
                    },
                    "height_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 70,
                        "description": "Înălțime, în centimetri."
                    },
                    "depth_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Adâncime, în centimetri."
                    },
                    "faces": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte fețe are (1 sau 2: A, B)."
                    },
                    "capacity": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte materiale încap pe o față."
                    },
                    "capacity_label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 60,
                        "example": "afișe A2",
                        "description": "Ce numără capacitatea (de exemplu „afișe A2”)."
                    },
                    "is_display": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este spațiu de expunere (poate găzdui campanii)."
                    },
                    "monthly_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 150,
                        "description": "Tariful pe lună pentru o unitate din capacitate (sugerează valoarea campaniilor)."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se mai folosește."
                    },
                    "sort": {
                        "type": "integer",
                        "example": 10,
                        "description": "Ordinea în liste."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "SpaceZones": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 41,
                        "description": "Identificator."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Locația (unitatea) — doar la creare."
                    },
                    "zone_type_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 2,
                        "description": "Tipul zonei (vezi /space-zone-types), dacă are."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Ramă click intrare",
                        "description": "Denumire (de exemplu „Totem dreapta ușii”)."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Descriere."
                    },
                    "width_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 50,
                        "description": "Lățime, în centimetri."
                    },
                    "height_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 70,
                        "description": "Înălțime, în centimetri."
                    },
                    "depth_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Adâncime, în centimetri."
                    },
                    "area_m2": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Suprafață, în metri pătrați."
                    },
                    "faces": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte fețe are (1 sau 2)."
                    },
                    "capacity": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte materiale încap pe o față."
                    },
                    "capacity_label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 60,
                        "example": "afișe A2",
                        "description": "Ce numără capacitatea."
                    },
                    "is_display": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este spațiu de expunere."
                    },
                    "monthly_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 150,
                        "description": "Tariful pe lună (doar cine vede sumele îl scrie)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "unavailable"
                        ],
                        "example": "active",
                        "description": "active sau unavailable (temporar indisponibilă)."
                    },
                    "pin_x": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 42.5,
                        "description": "Poziția pe schița locației, în procente de la stânga (se așază din aplicație)."
                    },
                    "pin_y": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 88,
                        "description": "Poziția pe schița locației, în procente de sus."
                    },
                    "sort": {
                        "type": "integer",
                        "example": 100,
                        "description": "Ordinea în locație."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creată."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificată ultima dată."
                    }
                }
            },
            "SpaceZonesInput": {
                "type": "object",
                "properties": {
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Locația (unitatea) — doar la creare."
                    },
                    "zone_type_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 2,
                        "description": "Tipul zonei (vezi /space-zone-types), dacă are."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Ramă click intrare",
                        "description": "Denumire (de exemplu „Totem dreapta ușii”)."
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000,
                        "description": "Descriere."
                    },
                    "width_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 50,
                        "description": "Lățime, în centimetri."
                    },
                    "height_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 70,
                        "description": "Înălțime, în centimetri."
                    },
                    "depth_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Adâncime, în centimetri."
                    },
                    "area_m2": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Suprafață, în metri pătrați."
                    },
                    "faces": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte fețe are (1 sau 2)."
                    },
                    "capacity": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte materiale încap pe o față."
                    },
                    "capacity_label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 60,
                        "example": "afișe A2",
                        "description": "Ce numără capacitatea."
                    },
                    "is_display": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă este spațiu de expunere."
                    },
                    "monthly_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 150,
                        "description": "Tariful pe lună (doar cine vede sumele îl scrie)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "unavailable"
                        ],
                        "example": "active",
                        "description": "active sau unavailable (temporar indisponibilă)."
                    },
                    "sort": {
                        "type": "integer",
                        "example": 100,
                        "description": "Ordinea în locație."
                    }
                },
                "required": [
                    "work_unit_id",
                    "name"
                ]
            },
            "ShelfFixtureTypes": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 1,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Gondolă",
                        "description": "Denumire."
                    },
                    "face_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 25,
                        "description": "Tarif pe față de produs, pe lună."
                    },
                    "meter_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Tarif pe metru de raft, pe lună."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se mai folosește."
                    },
                    "sort": {
                        "type": "integer",
                        "example": 10,
                        "description": "Ordinea în liste."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creat."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificat ultima dată."
                    }
                }
            },
            "ShelfFixtureTypesInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 120,
                        "example": "Gondolă",
                        "description": "Denumire."
                    },
                    "face_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 25,
                        "description": "Tarif pe față de produs, pe lună."
                    },
                    "meter_price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Tarif pe metru de raft, pe lună."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se mai folosește."
                    },
                    "sort": {
                        "type": "integer",
                        "example": 10,
                        "description": "Ordinea în liste."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "ShelfPlanograms": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 4,
                        "description": "Identificator."
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 150,
                        "example": "Capăt de raft vitamine",
                        "description": "Denumire (unică)."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "CR-VIT",
                        "description": "Cod intern."
                    },
                    "fixture_type_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 2,
                        "description": "Tipul de mobilier (vezi /shelf-fixture-types)."
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Suplimente",
                        "description": "Categoria de produse."
                    },
                    "width_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 100,
                        "description": "Lățime, în centimetri."
                    },
                    "height_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 180,
                        "description": "Înălțime, în centimetri."
                    },
                    "depth_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Adâncime, în centimetri."
                    },
                    "capacity_unit": {
                        "type": "string",
                        "enum": [
                            "faces",
                            "cm"
                        ],
                        "example": "faces",
                        "description": "faces: capacitatea rafturilor e în fețe de produs; cm: în centimetri."
                    },
                    "instructions": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 20000,
                        "description": "Instrucțiunile de aranjare (text formatat, curățat)."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se mai amplasează."
                    },
                    "shelves": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "position": 1,
                                "label": null,
                                "capacity": 8,
                                "price_factor": 1.2
                            },
                            {
                                "position": 2,
                                "label": "La nivelul ochilor",
                                "capacity": 8,
                                "price_factor": 1.5
                            }
                        ],
                        "description": "Rafturile, de sus în jos: [{label, capacity, price_factor}] (position se dă în ordinea listei; price_factor îl scrie doar cine vede prețurile)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creată."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificată ultima dată."
                    }
                }
            },
            "ShelfPlanogramsInput": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 150,
                        "example": "Capăt de raft vitamine",
                        "description": "Denumire (unică)."
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 40,
                        "example": "CR-VIT",
                        "description": "Cod intern."
                    },
                    "fixture_type_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 2,
                        "description": "Tipul de mobilier (vezi /shelf-fixture-types)."
                    },
                    "category": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 120,
                        "example": "Suplimente",
                        "description": "Categoria de produse."
                    },
                    "width_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 100,
                        "description": "Lățime, în centimetri."
                    },
                    "height_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 180,
                        "description": "Înălțime, în centimetri."
                    },
                    "depth_cm": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Adâncime, în centimetri."
                    },
                    "capacity_unit": {
                        "type": "string",
                        "enum": [
                            "faces",
                            "cm"
                        ],
                        "example": "faces",
                        "description": "faces: capacitatea rafturilor e în fețe de produs; cm: în centimetri."
                    },
                    "instructions": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 20000,
                        "description": "Instrucțiunile de aranjare (text formatat, curățat)."
                    },
                    "is_active": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă se mai amplasează."
                    },
                    "shelves": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "position": 1,
                                "label": null,
                                "capacity": 8,
                                "price_factor": 1.2
                            },
                            {
                                "position": 2,
                                "label": "La nivelul ochilor",
                                "capacity": 8,
                                "price_factor": 1.5
                            }
                        ],
                        "description": "Rafturile, de sus în jos: [{label, capacity, price_factor}] (position se dă în ordinea listei; price_factor îl scrie doar cine vede prețurile)."
                    }
                },
                "required": [
                    "name",
                    "shelves"
                ]
            },
            "ShelfPlacements": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 88,
                        "description": "Identificator."
                    },
                    "planogram_id": {
                        "type": "integer",
                        "example": 4,
                        "description": "Planograma — doar la creare."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Locația — doar la creare."
                    },
                    "label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 60,
                        "example": "lângă casă",
                        "description": "O etichetă care o deosebește de altă amplasare a aceleiași planograme în locație."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "removed"
                        ],
                        "readOnly": true,
                        "example": "active",
                        "description": "active sau removed (scoasă)."
                    },
                    "installed_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-02-18",
                        "description": "Data amplasării."
                    },
                    "removed_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "description": "Data scoaterii."
                    },
                    "local_note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Ce diferă aici față de planograma obișnuită."
                    },
                    "setup_cost": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Costul amenajării."
                    },
                    "monthly_cost": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 25,
                        "description": "Costul lunar aici (întreținere, amortizare)."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creată."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificată ultima dată."
                    }
                }
            },
            "ShelfPlacementsInput": {
                "type": "object",
                "properties": {
                    "planogram_id": {
                        "type": "integer",
                        "example": 4,
                        "description": "Planograma — doar la creare."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "example": 12,
                        "description": "Locația — doar la creare."
                    },
                    "label": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 60,
                        "example": "lângă casă",
                        "description": "O etichetă care o deosebește de altă amplasare a aceleiași planograme în locație."
                    },
                    "installed_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "example": "2026-02-18",
                        "description": "Data amplasării."
                    },
                    "local_note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 2000,
                        "description": "Ce diferă aici față de planograma obișnuită."
                    },
                    "setup_cost": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Costul amenajării."
                    },
                    "monthly_cost": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 25,
                        "description": "Costul lunar aici (întreținere, amortizare)."
                    }
                },
                "required": [
                    "planogram_id",
                    "work_unit_id"
                ]
            },
            "MerchCampaigns": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 15,
                        "description": "Identificator."
                    },
                    "module": {
                        "type": "string",
                        "enum": [
                            "spaces",
                            "shelf"
                        ],
                        "example": "shelf",
                        "description": "spaces sau shelf — doar la creare."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Dermalab – raftul de la ochi",
                        "description": "Titlul campaniei."
                    },
                    "partner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 3,
                        "description": "Partenerul care plătește (vezi /merch-partners); gol: campanie proprie."
                    },
                    "instructions": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 20000,
                        "description": "Instrucțiunile de implementare (text formatat, curățat)."
                    },
                    "starts_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-11-02",
                        "description": "Prima zi."
                    },
                    "ends_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-11-30",
                        "description": "Ultima zi."
                    },
                    "implement_days": {
                        "type": "integer",
                        "example": 3,
                        "description": "Câte zile are locația să o pună, de la început."
                    },
                    "remove_days": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte zile are locația să o scoată, după sfârșit."
                    },
                    "proof_required": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă locația trebuie să trimită fotografii la confirmare."
                    },
                    "value": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 9600,
                        "description": "Cât plătește partenerul pentru toată campania, fără TVA."
                    },
                    "cost": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 0,
                        "description": "Cât costă compania (materiale, montaj), fără TVA."
                    },
                    "currency": {
                        "type": "string",
                        "readOnly": true,
                        "example": "RON",
                        "description": "Moneda sumelor (din setările modulului)."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "draft",
                            "launched",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "draft",
                        "description": "draft (ciornă), launched (lansată) sau cancelled (anulată)."
                    },
                    "phase": {
                        "type": "string",
                        "enum": [
                            "draft",
                            "scheduled",
                            "running",
                            "ended",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "scheduled",
                        "description": "draft, scheduled (urmează), running (în desfășurare), ended sau cancelled."
                    },
                    "units": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            12,
                            13
                        ],
                        "description": "Locațiile (id-uri de unități), împreună cu rules."
                    },
                    "rules": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "planogram_id": 4,
                                "position": 2,
                                "quantity": 6,
                                "products": "Vitamina D3"
                            }
                        ],
                        "description": "Regulile care numesc locurile, împreună cu units. spaces: [{zone_type_id sau zone_id, face (A/B), quantity}]; shelf: [{planogram_id sau placement_id, position (raftul, de sus), quantity, products}]."
                    },
                    "targets": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "readOnly": true,
                        "example": [
                            {
                                "work_unit_id": 12,
                                "placement_id": 88,
                                "shelf_id": 210,
                                "quantity": 6,
                                "products": "Vitamina D3"
                            }
                        ],
                        "description": "Locurile rezultate: pe locație, zona și fața sau amplasarea și raftul, cu cantitatea."
                    },
                    "launched_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost lansată."
                    },
                    "cancelled_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost anulată."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creată."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificată ultima dată."
                    }
                }
            },
            "MerchCampaignsInput": {
                "type": "object",
                "properties": {
                    "module": {
                        "type": "string",
                        "enum": [
                            "spaces",
                            "shelf"
                        ],
                        "example": "shelf",
                        "description": "spaces sau shelf — doar la creare."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Dermalab – raftul de la ochi",
                        "description": "Titlul campaniei."
                    },
                    "partner_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "example": 3,
                        "description": "Partenerul care plătește (vezi /merch-partners); gol: campanie proprie."
                    },
                    "instructions": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 20000,
                        "description": "Instrucțiunile de implementare (text formatat, curățat)."
                    },
                    "starts_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-11-02",
                        "description": "Prima zi."
                    },
                    "ends_on": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-11-30",
                        "description": "Ultima zi."
                    },
                    "implement_days": {
                        "type": "integer",
                        "example": 3,
                        "description": "Câte zile are locația să o pună, de la început."
                    },
                    "remove_days": {
                        "type": "integer",
                        "example": 2,
                        "description": "Câte zile are locația să o scoată, după sfârșit."
                    },
                    "proof_required": {
                        "type": "boolean",
                        "example": true,
                        "description": "Dacă locația trebuie să trimită fotografii la confirmare."
                    },
                    "value": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 9600,
                        "description": "Cât plătește partenerul pentru toată campania, fără TVA."
                    },
                    "cost": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "example": 0,
                        "description": "Cât costă compania (materiale, montaj), fără TVA."
                    },
                    "units": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            12,
                            13
                        ],
                        "description": "Locațiile (id-uri de unități), împreună cu rules."
                    },
                    "rules": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        },
                        "example": [
                            {
                                "planogram_id": 4,
                                "position": 2,
                                "quantity": 6,
                                "products": "Vitamina D3"
                            }
                        ],
                        "description": "Regulile care numesc locurile, împreună cu units. spaces: [{zone_type_id sau zone_id, face (A/B), quantity}]; shelf: [{planogram_id sau placement_id, position (raftul, de sus), quantity, products}]."
                    }
                },
                "required": [
                    "module",
                    "title",
                    "starts_on",
                    "ends_on"
                ]
            },
            "MerchExecutions": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 501,
                        "description": "Identificator."
                    },
                    "campaign_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 15,
                        "description": "Campania (vezi /merch-campaigns)."
                    },
                    "module": {
                        "type": "string",
                        "enum": [
                            "spaces",
                            "shelf"
                        ],
                        "readOnly": true,
                        "example": "shelf",
                        "description": "spaces sau shelf (al campaniei)."
                    },
                    "work_unit_id": {
                        "type": "integer",
                        "readOnly": true,
                        "example": 12,
                        "description": "Locația."
                    },
                    "implementer_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "example": 17,
                        "description": "Cine o implementează anume; gol: managerii locației."
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "waiting",
                            "pending",
                            "done",
                            "refused",
                            "removing",
                            "removed",
                            "cancelled"
                        ],
                        "readOnly": true,
                        "example": "pending",
                        "description": "waiting (încă nu a început), pending (de pus), done (pusă), refused (refuzată), removing (de scos), removed (scoasă) sau cancelled."
                    },
                    "late": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false,
                        "description": "Dacă a fost pusă după termen sau nu e pusă și termenul a trecut."
                    },
                    "due_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "example": "2026-11-04",
                        "description": "Până când trebuie pusă."
                    },
                    "done_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost confirmată."
                    },
                    "done_by": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine a confirmat."
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Observațiile de la confirmare."
                    },
                    "refused_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când a fost refuzată."
                    },
                    "refused_by": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine a refuzat."
                    },
                    "refusal_reason": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "De ce nu se poate."
                    },
                    "remove_due_on": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date",
                        "readOnly": true,
                        "description": "Până când trebuie scoasă."
                    },
                    "removed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Când s-a confirmat scoaterea."
                    },
                    "removed_by": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "readOnly": true,
                        "description": "Cine a confirmat scoaterea."
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Creată."
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "description": "Modificată ultima dată."
                    }
                }
            }
        },
        "securitySchemes": {
            "bearer": {
                "type": "http",
                "scheme": "bearer",
                "description": "O cheie API, trimisă ca Authorization: Bearer hq_<id>_<secret>."
            }
        }
    }
}