The work-contract resource models a formal employment relationship between an employee (or user) and an establishment. Each employee is required to have at least one associated work-contract. Multiple contracts are supported, provided their date ranges do not overlap. A work-contract determines the employee’s active status within the system. Access to the employee’s Lucca account is granted exclusively within the valid date range of at least one active work-contract. Outside of these bounds, account access is disabled. Additionally, a work-contract contains data describing the employment terms, such as:
  • Contract type (e.g., permanent, fixed-term);
  • Presence of a trial period;
  • Work duration;
  • etc…
id
integer

Unique identifier of this work-contract.

Required range: x >= 1
ownerId
integer

Unique identifier of the employee this work-contract belongs to.

Required range: x >= 1
externalId
string | null

Third-party identifier of this work-contract. May be not unique.

typeId
integer

Identifier of the work-contract template this work-contract conforms to. Determines whether certain optional properties are required.

startsOn
string<date>

Start date of this work-contract. Format: YYYY-mm-DD.

isApplicable
boolean

Readonly. Whether this work-contract applies to the employee at this very moment.

A work-contract is considered "applicable" if:

  1. It is the ongoing work-contract as of today;
  2. If there is none, then it is the first upcoming work-contract;
  3. If not, then it is the last work-contract this employee had.
establishmentId
integer

Identifier of the establishment the employee works for.

spcId
integer | null

Identifier of the socio-professional category.

Refer to the API endpoint: /organization/structure/api/occupation-categories.

hiringTypeId
integer | null

Identifier of a hiring reason type.

Refer to the API endpoint: /directory/api/work-contract-hiring-types.

trialPeriodDays
integer | null

Number of days of the initial trial period.

Required range: x >= 0
renewedTrialPeriodDays
integer | null

Number of days of renewed trial period (equal to the length of the initial period, plus the renewal period).

Required range: x >= 0
trialPeriodEndDate
string<date> | null

Initial trial period end date. Format: YYYY-mm-DD.

trialPeriodEndDate2
string<date> | null

Renewed trial period end date. Format: YYYY-mm-DD.

temporaryContractGroundId
integer | null

Identifier of the temporary contract ground.

Refer to the API endpoint: /directory/api/work-contract-temporary-contract-grounds.

internshipSupervisorId
integer | null

Identifier of the employee/user that acts as internship supervisor.

endsOn
string<date> | null

End date of this work-contract. Leave null if not (yet) known. Format: YYYY-mm-DD.

terminationReasonId
integer | null

Identifier of the termination reason.

Refer to the API endpoint: /directory/api/work-contract-termination-reasons.

authorId
integer

Read-only. Identifier of the user who created this work-contract.

createdAt
string<date-time>

Read-only. Timestamp of the moment this work-contract was created.

lastModifierId
integer

Read-only. Identifier of the user who last modified this work-contract.

lastModifiedAt
string<date-time>

Read-only. Timestamp of the moment this work-contract was last updated.