Temps & Présence
Temps de travail, congés, plannings et jours fériés — enregistrez et lisez la présence par programmation.
Temps de Travail
Points de terminaison
| GET | /employee-working-hours | Récupère la collection de ressources WorkTime. |
| POST | /employee-working-hours | Crée une ressource WorkTime. |
| GET | /employee-working-hours/{id} | Récupère une ressource WorkTime. |
| PATCH | /employee-working-hours/{id} | Met à jour la ressource WorkTime. |
| DELETE | /employee-working-hours/{id} | Supprime la ressource WorkTime. |
| GET | /work-times | Récupère la collection de ressources WorkTime. |
| POST | /work-times | Crée une ressource WorkTime. |
| GET | /work-times/{id} | Récupère une ressource WorkTime. |
| PATCH | /work-times/{id} | Met à jour la ressource WorkTime. |
| DELETE | /work-times/{id} | Supprime la ressource WorkTime. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | integer | |
| employee* | string (iri-reference) | |
| project* | string (iri-reference) | |
| date* | string (date-time) | |
| seconds* | integer | |
| description | stringnull | |
| projectTask | string,null (iri-reference) | Optional link to a {@see ProjectTask}. Nullable; existing rows have no link. Set by the Surface 1 picker chip and by Surface 2's close-and-log panel. The validator {@see \App\Validator\WorkTime\WorkTimeProjectTaskConsistencyConstraint} enforces that projectTask.project === workTime.project when this FK is set. On ProjectTask deletion the column is SET NULL — the time logged is preserved, the link is forgotten. |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| deletedAt | string,null (date-time) | |
| deleted | boolean | Check if the entity has been soft deleted. |
Congé
Points de terminaison
| GET | /holidays | Récupère la collection de ressources Holiday. |
| POST | /holidays | Crée une ressource Holiday. |
| GET | /holidays/{id} | Récupère une ressource Holiday. |
| PATCH | /holidays/{id} | Met à jour la ressource Holiday. |
| DELETE | /holidays/{id} | Supprime la ressource Holiday. |
| GET | /holidays/active | Récupère la collection de ressources Holiday. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | integer | |
| type* | string | #4548. `Holiday` is writable directly (`holiday:create`), so it carries the same unbounded-free-text defect the request did. `max` tracks `length`. |
| employee* | string (iri-reference) | |
| manager | string (iri-reference) | |
| description | stringnull | #4548, and it is reachable two ways: written directly through `holiday:create`, and copied from the accepted request by `HolidayRequestDecider:47`. Both columns are VARCHAR(255), so bounding the request at 255 keeps that copy safe — this bounds the direct path. |
| dateFrom* | string (date-time) | |
| dateTo* | string (date-time) | |
| seconds | integernull | |
| requestedSeconds | integernull | |
| notify | boolean | Should this absence tell the employee it was created? (#4705) |
| payrollEligible | boolean | May payroll act on this absence? (#4017) |
| holidayRequests | array | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| deletedAt | string,null (date-time) | |
| employeeFullname | string | |
| employeeReversedFullname | string | |
| relatedEmployee | string,null (iri-reference) | |
| deleted | boolean | Check if the entity has been soft deleted. |
Planning
Points de terminaison
| GET | /schedules | Récupère la collection de ressources Schedule. |
| POST | /schedules | Crée une ressource Schedule. |
| GET | /schedules/{id} | Récupère une ressource Schedule. |
| PATCH | /schedules/{id} | Met à jour la ressource Schedule. |
| GET | /schedules/plan/{date} | Récupère la collection de ressources Schedule. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| name | string | |
| description | stringnull | |
| numberOfDays | integer | |
| regular | boolean | |
| overwriteBankHolidays | boolean | |
| scheduleRanges | array | |
| scheduleEmployees | array |
Jour Férié
Points de terminaison
| GET | /bank-holidays | Récupère la collection de ressources BankHoliday. |
| POST | /bank-holidays | Crée une ressource BankHoliday. |
| GET | /bank-holidays/{id} | Récupère une ressource BankHoliday. |
| PATCH | /bank-holidays/{id} | Met à jour la ressource BankHoliday. |
| DELETE | /bank-holidays/{id} | Supprime la ressource BankHoliday. |
| GET | /holiday-days-frees | Récupère la collection de ressources BankHoliday. |
| POST | /holiday-days-frees | Crée une ressource BankHoliday. |
| GET | /holiday-days-frees/{id} | Récupère une ressource BankHoliday. |
| PATCH | /holiday-days-frees/{id} | Met à jour la ressource BankHoliday. |
| DELETE | /holiday-days-frees/{id} | Supprime la ressource BankHoliday. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| date* | string | |
| publicNotes | stringnull | |
| yearFrom | integernull | |
| yearTo | integernull |
Demande de congé
Points de terminaison
| GET | /holiday-requests | Récupère la collection de ressources HolidayRequest. |
| POST | /holiday-requests | Crée une ressource HolidayRequest. |
| GET | /holiday-requests/{id} | Récupère une ressource HolidayRequest. |
| PATCH | /holiday-requests/{id} | Met à jour la ressource HolidayRequest. |
| DELETE | /holiday-requests/{id} | Supprime la ressource HolidayRequest. |
| POST | /holiday-requests/{id}/approve | Crée une ressource HolidayRequest. |
| POST | /holiday-requests/{id}/reject | Crée une ressource HolidayRequest. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | integer | |
| status | string | |
| employee | string (iri-reference) | |
| holiday | string,null (iri-reference) | |
| type* | string | Same defect, same processor, same flush (#4548). `type` is writable in the `holiday_request:create` group and nothing bounded it, so a 65-character value produced the identical SQLSTATE[22001]. Sentry only caught `description` because that is the one a user types freely. |
| description | stringnull | THE LENGTH IS THE COLUMN WIDTH, NOT A TASTE (#4548). Without it an over-long note travelled to MySQL and came back as `SQLSTATE[22001] … Data too long for column 'description'` — a fatal 500 from `HolidayRequestCreateProcessor:118`'s flush(), losing the request and telling the user nothing (Sentry PHP-SYMFONY-T7, prod). |
| dateFrom* | string (date-time) | |
| dateTo* | string (date-time) | |
| seconds | integernull | |
| requestedSeconds | integernull | |
| holidayRequestLogs | array | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| requestedAt | datetime |
Type de congé
Points de terminaison
| GET | /holiday-types | Récupère la collection de ressources HolidayType. |
| POST | /holiday-types | Crée une ressource HolidayType. |
| GET | /holiday-types/{id} | Récupère une ressource HolidayType. |
| PATCH | /holiday-types/{id} | Met à jour la ressource HolidayType. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| status | string | |
| name* | string | |
| color | string | THE API HAS TO ACCEPT ITS OWN OUTPUT (#4407). |
| descriptionRequired | boolean | |
| icon | stringnull | |
| reducesWorkingTime | boolean | Does an absence of this type reduce the month's expected working hours? |
| requiresApproval | boolean | Does an absence of this type have to be approved by somebody? (#5068) |
Plafond de jours de congé
Points de terminaison
| GET | /holiday-days-limits | Récupère la collection de ressources HolidayDaysLimit. |
| POST | /holiday-days-limits | Crée une ressource HolidayDaysLimit. |
| GET | /holiday-days-limits/{id} | Récupère une ressource HolidayDaysLimit. |
| PATCH | /holiday-days-limits/{id} | Met à jour la ressource HolidayDaysLimit. |
| DELETE | /holiday-days-limits/{id} | Supprime la ressource HolidayDaysLimit. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | integer | |
| employee* | string (iri-reference) | |
| seconds* | integer | Leave allowance in SECONDS, not whole days (#3763). |
| holidayType | string,null (iri-reference) | |
| variant* | string | |
| allowRequestWhenUsed | boolean | NOT SERIALISED, AND THAT IS THE FIX (#4361). Do not re-add `#[Groups]`. |
| dateFrom | string (date-time) | |
| notes | stringnull | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| notApplicableReason | stringnull | Why this entitlement will not take effect yet, or NULL if it will (#4443). |
| vacationLimit | boolean | Is this row the ANNUAL LEAVE entitlement, as opposed to a granted balance of some other type (#4165)? |
| relatedEmployee | string,null (iri-reference) |
Plafond de jours de congé par défaut
Points de terminaison
| GET | /holiday-days-limit-defaults | Récupère la collection de ressources HolidayDaysLimitDefault. |
| POST | /holiday-days-limit-defaults | Crée une ressource HolidayDaysLimitDefault. |
| GET | /holiday-days-limit-defaults/{id} | Récupère une ressource HolidayDaysLimitDefault. |
| PATCH | /holiday-days-limit-defaults/{id} | Met à jour la ressource HolidayDaysLimitDefault. |
| DELETE | /holiday-days-limit-defaults/{id} | Supprime la ressource HolidayDaysLimitDefault. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | string | |
| holidayType | string (iri-reference) | |
| seconds* | integer | Default leave allowance in SECONDS, not whole days (#3763). This entity moves with `HolidayDaysLimit` rather than after it: both are returned through the same line in `HolidaysHelper::getHolidayDaysLimit()`, so leaving one in days would put two units on one code path. |
| variant* | string | |
| allowRequestWhenUsed | boolean | NOT SERIALISED (#4361) — see the full reasoning on {@see HolidayDaysLimit::$allowRequestWhenUsed}. Do not re-add `#[Groups]`. |
| dateFrom | string (date-time) | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) |
Employé du planning
Points de terminaison
| GET | /schedule-employees | Récupère la collection de ressources ScheduleEmployee. |
| POST | /schedule-employees | Crée une ressource ScheduleEmployee. |
| GET | /schedule-employees/{id} | Récupère une ressource ScheduleEmployee. |
| PATCH | /schedule-employees/{id} | Met à jour la ressource ScheduleEmployee. |
| DELETE | /schedule-employees/{id} | Supprime la ressource ScheduleEmployee. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| employee | string (iri-reference) | |
| schedule | string (iri-reference) | |
| dateFrom | string (date-time) | |
| dateTo | string,null (date-time) | |
| type | string | |
| notifiedAt | string,null (date-time) |
Plage du planning
Points de terminaison
| GET | /schedule-ranges | Récupère la collection de ressources ScheduleRange. |
| POST | /schedule-ranges | Crée une ressource ScheduleRange. |
| GET | /schedule-ranges/{id} | Récupère une ressource ScheduleRange. |
| PATCH | /schedule-ranges/{id} | Met à jour la ressource ScheduleRange. |
| DELETE | /schedule-ranges/{id} | Supprime la ressource ScheduleRange. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | string | |
| schedule | object | |
| day | integer | |
| timeFrom | integer | |
| timeTo | integer | |
| name | stringnull |
Déplacement professionnel
Points de terminaison
| GET | /delegations | Récupère la collection de ressources Delegation. |
| POST | /delegations | Crée une ressource Delegation. |
| GET | /delegations/{id} | Récupère une ressource Delegation. |
| PATCH | /delegations/{id} | Met à jour la ressource Delegation. |
| DELETE | /delegations/{id} | Supprime la ressource Delegation. |
Champs de schéma
| Champ | Type | Description |
|---|---|---|
| id | integer | |
| employee* | string (iri-reference) | |
| project | string,null (iri-reference) | Nullable: a historical trip may name no project, and it must still be recorded. |
| projectTask | string,null (iri-reference) | |
| dateFrom* | string (date-time) | |
| dateTo* | string (date-time) | |
| seconds | integernull | Optional: the source history carries days, not hours. |
| description | stringnull | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| deletedAt | string,null (date-time) | |
| days | integer | Calendar days covered, INCLUSIVE — a trip that starts and ends on the same day is one day, not zero. This is the unit the travel analytics report, because the source history counts days rather than hours. |
| deleted | boolean | Check if the entity has been soft deleted. |