Czas pracy, urlopy, harmonogramy i święta — rejestruj i odczytuj frekwencję programowo.
Czas pracy
Endpoints
GET
/employee-working-hours
Pobiera kolekcję zasobów WorkTime.
POST
/employee-working-hours
Tworzy zasób WorkTime.
GET
/employee-working-hours/{id}
Pobiera zasób WorkTime.
PATCH
/employee-working-hours/{id}
Aktualizuje zasób WorkTime.
DELETE
/employee-working-hours/{id}
Usuwa zasób WorkTime.
GET
/work-times
Pobiera kolekcję zasobów WorkTime.
POST
/work-times
Tworzy zasób WorkTime.
GET
/work-times/{id}
Pobiera zasób WorkTime.
PATCH
/work-times/{id}
Aktualizuje zasób WorkTime.
DELETE
/work-times/{id}
Usuwa zasób WorkTime.
Pola schematu
Pole
Typ
Opis
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.
Urlop
Endpoints
GET
/holidays
Pobiera kolekcję zasobów Holiday.
POST
/holidays
Tworzy zasób Holiday.
GET
/holidays/{id}
Pobiera zasób Holiday.
PATCH
/holidays/{id}
Aktualizuje zasób Holiday.
DELETE
/holidays/{id}
Usuwa zasób Holiday.
GET
/holidays/active
Pobiera kolekcję zasobów Holiday.
Pola schematu
Pole
Typ
Opis
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.
Harmonogram
Endpoints
GET
/schedules
Pobiera kolekcję zasobów Schedule.
POST
/schedules
Tworzy zasób Schedule.
GET
/schedules/{id}
Pobiera zasób Schedule.
PATCH
/schedules/{id}
Aktualizuje zasób Schedule.
GET
/schedules/plan/{date}
Pobiera kolekcję zasobów Schedule.
Pola schematu
Pole
Typ
Opis
name
string
description
stringnull
numberOfDays
integer
regular
boolean
overwriteBankHolidays
boolean
scheduleRanges
array
scheduleEmployees
array
Dzień wolny od pracy
Endpoints
GET
/bank-holidays
Pobiera kolekcję zasobów BankHoliday.
POST
/bank-holidays
Tworzy zasób BankHoliday.
GET
/bank-holidays/{id}
Pobiera zasób BankHoliday.
PATCH
/bank-holidays/{id}
Aktualizuje zasób BankHoliday.
DELETE
/bank-holidays/{id}
Usuwa zasób BankHoliday.
GET
/holiday-days-frees
Pobiera kolekcję zasobów BankHoliday.
POST
/holiday-days-frees
Tworzy zasób BankHoliday.
GET
/holiday-days-frees/{id}
Pobiera zasób BankHoliday.
PATCH
/holiday-days-frees/{id}
Aktualizuje zasób BankHoliday.
DELETE
/holiday-days-frees/{id}
Usuwa zasób BankHoliday.
Pola schematu
Pole
Typ
Opis
date*
string
publicNotes
stringnull
yearFrom
integernull
yearTo
integernull
Wniosek urlopowy
Endpoints
GET
/holiday-requests
Pobiera kolekcję zasobów HolidayRequest.
POST
/holiday-requests
Tworzy zasób HolidayRequest.
GET
/holiday-requests/{id}
Pobiera zasób HolidayRequest.
PATCH
/holiday-requests/{id}
Aktualizuje zasób HolidayRequest.
DELETE
/holiday-requests/{id}
Usuwa zasób HolidayRequest.
POST
/holiday-requests/{id}/approve
Tworzy zasób HolidayRequest.
POST
/holiday-requests/{id}/reject
Tworzy zasób HolidayRequest.
Pola schematu
Pole
Typ
Opis
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
Rodzaj urlopu
Endpoints
GET
/holiday-types
Pobiera kolekcję zasobów HolidayType.
POST
/holiday-types
Tworzy zasób HolidayType.
GET
/holiday-types/{id}
Pobiera zasób HolidayType.
PATCH
/holiday-types/{id}
Aktualizuje zasób HolidayType.
Pola schematu
Pole
Typ
Opis
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?
Limit dni urlopowych
Endpoints
GET
/holiday-days-limits
Pobiera kolekcję zasobów HolidayDaysLimit.
POST
/holiday-days-limits
Tworzy zasób HolidayDaysLimit.
GET
/holiday-days-limits/{id}
Pobiera zasób HolidayDaysLimit.
PATCH
/holiday-days-limits/{id}
Aktualizuje zasób HolidayDaysLimit.
DELETE
/holiday-days-limits/{id}
Usuwa zasób HolidayDaysLimit.
Pola schematu
Pole
Typ
Opis
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)
Domyślny limit dni urlopowych
Endpoints
GET
/holiday-days-limit-defaults
Pobiera kolekcję zasobów HolidayDaysLimitDefault.
POST
/holiday-days-limit-defaults
Tworzy zasób HolidayDaysLimitDefault.
GET
/holiday-days-limit-defaults/{id}
Pobiera zasób HolidayDaysLimitDefault.
PATCH
/holiday-days-limit-defaults/{id}
Aktualizuje zasób HolidayDaysLimitDefault.
DELETE
/holiday-days-limit-defaults/{id}
Usuwa zasób HolidayDaysLimitDefault.
Pola schematu
Pole
Typ
Opis
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)
Pracownik harmonogramu
Endpoints
GET
/schedule-employees
Pobiera kolekcję zasobów ScheduleEmployee.
POST
/schedule-employees
Tworzy zasób ScheduleEmployee.
GET
/schedule-employees/{id}
Pobiera zasób ScheduleEmployee.
PATCH
/schedule-employees/{id}
Aktualizuje zasób ScheduleEmployee.
DELETE
/schedule-employees/{id}
Usuwa zasób ScheduleEmployee.
Pola schematu
Pole
Typ
Opis
employee
string (iri-reference)
schedule
string (iri-reference)
dateFrom
string (date-time)
dateTo
string,null (date-time)
type
string
notifiedAt
string,null (date-time)
Zakres harmonogramu
Endpoints
GET
/schedule-ranges
Pobiera kolekcję zasobów ScheduleRange.
POST
/schedule-ranges
Tworzy zasób ScheduleRange.
GET
/schedule-ranges/{id}
Pobiera zasób ScheduleRange.
PATCH
/schedule-ranges/{id}
Aktualizuje zasób ScheduleRange.
DELETE
/schedule-ranges/{id}
Usuwa zasób ScheduleRange.
Pola schematu
Pole
Typ
Opis
id
string
schedule
object
day
integer
timeFrom
integer
timeTo
integer
name
stringnull
Delegacja
Endpoints
GET
/delegations
Pobiera kolekcję zasobów Delegation.
POST
/delegations
Tworzy zasób Delegation.
GET
/delegations/{id}
Pobiera zasób Delegation.
PATCH
/delegations/{id}
Aktualizuje zasób Delegation.
DELETE
/delegations/{id}
Usuwa zasób Delegation.
Pola schematu
Pole
Typ
Opis
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.