openapi: 3.1.0
info:
  title: SETU API for Inquiry Pay Equity
  version: 2.0.0
  description: >-
    Set of API specifications that allows for exchange of information related to
    the equal pay of flexworkers.

    Moreover, the API allows to exchange information regarding salarishuizen,
    toeslagen regelen, en andere regelingen die van toepassing zijn op 1 of
    meerdere functies.


    # Models

    ## Inquiry Pay Equity

    <SchemaDefinition schemaRef="#/components/schemas/InquiryPayEquity" />


    ## Condition

    <SchemaDefinition schemaRef="#/components/schemas/Condition" />


    ## Occurrence

    <SchemaDefinition schemaRef="#/components/schemas/Occurrence" />
  license:
    identifier: MIT
    name: MIT
tags:
  - name: Inquiry Pay Equity
    description: Set of APIs for exchanging pay equity information.
  - name: Scenario 1 | Supplier backoffice APIs
    description: Set of APIs to be implemented by the backoffice of the supplier.
  - name: Scenario 2 | Supplier backoffice APIs
    description: Set of APIs to be implemented by the backoffice of the supplier.
  - name: Inquiry Pay Equity request
    description: TO BE DEVELOPED
externalDocs:
  description: More about SETU
  url: https://www.setu.nl
paths:
  /inquiry-pay-equity/{id}:
    put:
      tags:
        - Inquiry Pay Equity
        - Scenario 1 | Supplier backoffice APIs
        - Scenario 2 | Supplier backoffice APIs
      summary: >-
        Submit or update an inquiry-pay-equity message. In case of an update,
        the request body replaces all previous shared information of the
        resource.
      parameters:
        - $ref: '#/components/parameters/ResourceIdentifier'
        - $ref: '#/components/parameters/VersionId'
        - $ref: '#/components/parameters/ContentType'
      requestBody:
        description: |
          Complete inquiry-pay-equity message as specified by SETU.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InquiryPayEquity'
      responses:
        '200':
          $ref: '#/components/responses/200'
        '201':
          $ref: '#/components/responses/201'
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
    get:
      tags:
        - Inquiry Pay Equity
        - Scenario 1 | Supplier backoffice APIs
        - Scenario 2 | Supplier backoffice APIs
      summary: Get the information about an existing inquiry-pay-equity message
      parameters:
        - $ref: '#/components/parameters/ResourceIdentifier'
        - $ref: '#/components/parameters/ContentType'
      responses:
        '200':
          description: OK | The inquiry-pay-equity (as submitted in the request body)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InquiryPayEquity'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
    delete:
      tags:
        - Inquiry Pay Equity
        - Scenario 1 | Supplier backoffice APIs
        - Scenario 2 | Supplier backoffice APIs
      summary: Remove an existing inquiry-pay-equity
      parameters:
        - in: path
          name: id
          description: The resource identifier of the inquiry-pay-equity as a whole
          required: true
          schema:
            type: string
          example: 049b4540-620f-434a-bfd1-d09f9e8cdc8c
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    InquiryPayEquity:
      $id: https://ontology.setu.nl/inquiry-pay-equity/InquiryPayEquity
      $schema: https://json-schema.org/draft/2020-12/schema
      title: SETU Inquiry Pay Equity v2.0
      description: Generated by Semantic Treehouse on 2026-03-16T11:10:11+00:00
      type: object
      required:
        - documentId
        - effectivePeriod
        - customer
        - remuneration
      additionalProperties: false
      properties:
        documentId:
          $ref: '#/components/schemas/Identifier'
        versionId:
          description: >-
            The version identifier is a customer-specific identifier used to
            distinguish one version of the SETU Inquiry Pay Equity message from
            another.
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        issued:
          description: The datetime the document was issued.
          type: string
          format: date-time
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        customer:
          $ref: '#/components/schemas/Party'
        baseDefinition:
          items:
            $ref: '#/components/schemas/BaseDefinition'
          type: array
        labourAgreements:
          $ref: '#/components/schemas/LabourAgreements'
        positionProfile:
          items:
            $ref: '#/components/schemas/PositionProfile'
          type: array
        remuneration:
          items:
            $ref: '#/components/schemas/RemunerationPackage'
          minItems: 1
          type: array
        allowance:
          items:
            $ref: '#/components/schemas/AllowanceArrangement'
          type: array
        holidayAllowance:
          items:
            $ref: '#/components/schemas/HolidayAllowanceArrangement'
          type: array
        sickPay:
          items:
            $ref: '#/components/schemas/SickPayArrangement'
          type: array
        leave:
          items:
            $ref: '#/components/schemas/LeaveArrangement'
          type: array
        individualChoiceBudget:
          items:
            $ref: '#/components/schemas/IndividualChoiceBudgetArrangement'
          type: array
        pension:
          items:
            $ref: '#/components/schemas/PensionArrangement'
          type: array
        sustainableEmployability:
          items:
            $ref: '#/components/schemas/SustainableEmployabilityArrangement'
          type: array
        supplementaryArrangement:
          items:
            $ref: '#/components/schemas/SupplementaryArrangement'
          type: array
        otherArrangement:
          items:
            $ref: '#/components/schemas/OtherArrangement'
          type: array
      definitions:
        LabourAgreementReference:
          description: Specifies the origin of the applicable agreement.
          required:
            - type
          additionalProperties: false
          properties:
            type:
              description: The type of agreement.
              enum:
                - CollectiveLabourAgreement
                - CollectiveLabourAgreementExtended
                - CustomLabourAgreement
                - Unknown
              type: string
          type: object
        Interval:
          description: >-
            This element is used to signify the interval in which this rate is
            applied. If this rate is applied every hour then the unit code would
            be 'Hour' or if this rate is applied every kilometer, the interval
            code would be 'Kilometer'. The value can be used to express
            denominations of the provided interval code. If for instance it is
            required that the interval is every 15 minutes, the unit code can be
            'Hour' and the value will be 0.25 as a quarter of 60 minutes is 15
            minutes.
          required:
            - value
            - unitCode
          additionalProperties: false
          properties:
            value:
              description: >-
                The value can be used to express denominations of the provided
                interval code.
              type: number
            unitCode:
              $ref: '#/components/schemas/IntervalCode'
          type: object
        ArrangementLine:
          description: >-
            A container that contains the details of the rate in which this
            pension is provided to the employee. It includes elements such as
            the amount that is provided (3% of monthly salary), the interval in
            which this is applied in the specified period (e.g. 'Hour' for an
            hourly application) and any conditions that might have to be met for
            this rate to be applicable.
          additionalProperties: false
          properties:
            lineId:
              $ref: '#/components/schemas/Id'
            amount:
              $ref: '#/components/schemas/Amount'
            interval:
              $ref: '#/components/schemas/Interval'
            conditions:
              items:
                $ref: '#/components/schemas/Condition'
              type: array
            contributionSource:
              $ref: '#/components/schemas/ContributionSourceType'
            ikbReference:
              items:
                $ref: '#/components/schemas/IkbReference'
              type: array
          type: object
        Proportional:
          description: >-
            The proportional element is used to specify whether certain
            work-related conditions such as leave entitlements, remuneration, or
            similar employment provisions are applied proportionally based on
            specific employee characteristics. 
          required:
            - partTimePercentage
            - employmentDuration
          additionalProperties: false
          properties:
            partTimePercentage:
              description: >-
                Indicates whether the condition is calculated proportionally
                based on the employee’s part‑time percentage, typically measured
                against a full‑time work week (commonly 36-40 hours).
              type: boolean
            employmentDuration:
              description: >-
                Indicates whether proportional calculation must be applied
                according to the employee's length of employment.
              type: boolean
            description:
              description: >-
                A free-text field for capturing any additional details,
                clarifications, or contextual information relevant to how the
                proportional rule is applied.
              type: string
          type: object
        Identifier:
          description: The unique identifier of this arrangement.
          required:
            - value
            - schemeAgencyId
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
            schemeAgencyId:
              $ref: '#/components/schemas/SchemeAgencyId'
          type: object
        ArrangementLineLeave:
          description: >-
            Leave granted for specific, non-routine circumstances as defined by
            the employer or applicable Collective Labour Agreement, such as
            bereavement, marriage, or relocation. The specific reasons and
            duration of special leave may vary.
          additionalProperties: false
          properties:
            name:
              description: The name of the special leave
              type: string
            lineId:
              $ref: '#/components/schemas/Id'
            amount:
              $ref: '#/components/schemas/Amount'
            interval:
              $ref: '#/components/schemas/Interval'
            conditions:
              items:
                $ref: '#/components/schemas/Condition'
              type: array
            contributionSource:
              $ref: '#/components/schemas/ContributionSourceType'
            leaveDayValue:
              $ref: '#/components/schemas/AmountLeaveDay'
            ikbReference:
              items:
                $ref: '#/components/schemas/IkbReference'
              type: array
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        Id:
          description: A unique identifier of this specific leave line element.
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        AmountLeaveDay:
          description: >-
            The financial equivalent of one special leave day. It reflects the
            cost or compensation value of a single day off from work. 
          required:
            - value
            - unitCode
            - baseAmount
          additionalProperties: false
          properties:
            value:
              description: >-
                The numerical value of the financial equivalent of one leave
                day. It reflects the cost or compensation value of a single day
                off from work.
              type: number
            minValue:
              description: >-
                If applicable, a minimum value can be provided to signify a
                minimum that this rate provides. This implies that if the amount
                as a combination of the value and the base and the unit code is
                less than the minimum value, the minimum value will be used
                instead of the value element.
              type: number
            maxValue:
              description: >-
                If applicable, a maximum value can be provided to signify a
                maximum that this rate provides. This implies that if the amount
                as a combination of the value and the base and the unit code is
                less than the maximum value, the maximum value will be used
                instead of the value element.
              type: number
            unitCode:
              $ref: '#/components/schemas/AmountUnitCode'
            baseAmount:
              $ref: '#/components/schemas/BaseAmount'
          type: object
        Amount:
          description: >-
            Container element that contains the value of the amount, the type of
            unit of the value and a base. These three elements together can be
            used to calculate the amount of any type of rate. If applicable, a
            minimum and a maximum value can also be provided to signify a
            minimum and maximum that this rate provides. This implies that if
            the amount as a combination of the value and the base and the unit
            code is less than the minimum value, the minimum value will replace
            the value element.
          required:
            - value
            - unitCode
            - baseAmount
          additionalProperties: false
          properties:
            value:
              description: >-
                The numerical value of the remuneration amount expressed as
                decimal. The unit type of this value can be specified in the
                unit code element.
              type: number
            minValue:
              description: >-
                If applicable, a minimum value can be provided to signify a
                minimum that this rate provides. This implies that if the amount
                as a combination of the value and the base and the unit code is
                less than the minimum value, the minimum value will be used
                instead of the value element.
              type: number
            maxValue:
              description: >-
                If applicable, a maximum value can be provided to signify a
                maximum that this rate provides. This implies that if the amount
                as a combination of the value and the base and the unit code is
                less than the maximum value, the maximum value will be used
                instead of the value element.
              type: number
            unitCode:
              $ref: '#/components/schemas/AmountUnitCode'
            baseAmount:
              $ref: '#/components/schemas/BaseAmount'
            proportional:
              $ref: '#/components/schemas/Proportional'
          type: object
        HourlyWageConversion:
          description: Information about the conversion to regular hourly wages.
          additionalProperties: false
          properties:
            hourlyWageFactor:
              description: >-
                A number used to calculate the hourly wage from a periodic
                salary (e.g., monthly salary). The periodic salary is divided by
                this factor to determine the hourly wage. 


                Formula: hourly wage = periodic salary / hourlyWageFactor.
              type: number
            hourlyWagePercentage:
              description: >-
                A percentage that the periodic salary (such as a monthly salary)
                is multiplied by to calculate the hourly wage.


                Formula: hourly wage = (periodic salary * hourlyWagePercentage)
                / 100.
              type: number
          type: object
        BaseAmount:
          description: >-
            This element stores information about the base over which the amount
            is calculated. If the value is 3, the unit code is 'Percentage' and
            the base code is 'MonthlyRate', and the basetype is `GrossSalary`
            together they would imply a 3% of monthly gross salary.
          required:
            - unitCode
          additionalProperties: false
          properties:
            unitCode:
              $ref: '#/components/schemas/BaseUnitCode'
            baseType:
              $ref: '#/components/schemas/BaseDefinitionCode'
            value:
              description: >-
                This element can be used to store additional information about
                the value of the base if applicable.
              type: number
            minValue:
              description: >-
                If applicable, a minimum value can be provided to signify a
                minimum that the value in this base has to be. This implies that
                if the value is less than the minimum value, the minimum value
                will be used instead of the value element. 


                If the amount of the monthly rate of the gross salary is 3000
                (which is the monthly salary) and the min value of the base
                amount is 4000, the 4000 would be used as the value. 
              type: number
            maxValue:
              description: >-
                If applicable, a maximum value can be provided to signify a
                maximum that the value in this base has to be. This implies that
                if the value is max than the maximum value, the maximum value
                will be used instead of the value element. 


                If the amount of the monthly rate of the gross salary is 3000
                (which is the monthly salary) and the max value is 2000, the
                2000 would be used as the value. 
              type: number
          type: object
        Period:
          description: >+
            A container element that specifies the time period(s) during which
            the allowance is applicable. It includes a date period (which can be
            used for date ranges or individual dates), a time period (given the
            selected dates, this lets us specify the allowed times) and a
            weekday element that lets us specify recurring days of the week. 

          required:
            - timePeriod
          additionalProperties: false
          properties:
            datePeriod:
              items:
                $ref: '#/components/schemas/DatePeriod'
              type: array
            timePeriod:
              $ref: '#/components/schemas/TimePeriod'
            weekday:
              items:
                $ref: '#/components/schemas/WeekdayCode'
              type: array
          type: object
        ContactPerson:
          description: >-
            Specific people at the party who are contacts. This is the person
            authorized to provide the information.
          required:
            - name
          additionalProperties: false
          properties:
            name:
              $ref: '#/components/schemas/PersonName'
            communication:
              $ref: '#/components/schemas/Communication'
            roleCode:
              description: >-

                The role of the contact person. In this case the inquiry pay
                equity is authorized by this contact person. 
              type: string
            positionTitle:
              $ref: '#/components/schemas/PositionProfile-positionTitleDatatype'
          type: object
        EffectivePeriod:
          description: >-
            Indicates the validity period of this regulation. The period is from
            the start date up to and including the end date.
          additionalProperties: false
          properties:
            validFrom:
              $ref: '#/components/schemas/DateDatatype'
            validTo:
              $ref: '#/components/schemas/DateDatatype'
          type: object
        LeaveArrangement:
          description: >-
            A container that contains the details of the leave arrangement, such
            as the type of leave, the amount of the leave, as well as any
            conditions.
          required:
            - name
            - origin
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            paidLeave:
              items:
                $ref: '#/components/schemas/ArrangementLineLeave'
              type: array
            workingHoursReduction:
              items:
                $ref: '#/components/schemas/ArrangementLineLeave'
              type: array
            holidays:
              items:
                $ref: '#/components/schemas/ArrangementLineLeave'
              type: array
            specialLeave:
              items:
                $ref: '#/components/schemas/ArrangementLineLeave'
              type: array
            additionalParentalLeave:
              items:
                $ref: '#/components/schemas/ArrangementLineLeave'
              type: array
            mandatoryLeaveAllocation:
              $ref: '#/components/schemas/MandatoryLeave'
            description:
              description: >-
                A free‑text field for capturing additional details related to
                reward element (NL: beloningscomponent), such as specifics,
                limitations and other conditions.
              type: string
          type: object
        CareerLevel:
          description: >-
            Indicates whether work experience is considered in the salary scale,
            with a true or false value and a possible description.
          additionalProperties: false
          properties:
            indicator:
              description: >-
                A boolean indicating the presence of taking into account
                classification of career levels.
              type: boolean
            description:
              description: Description of the career levels.
              type: string
          type: object
        TimePeriod:
          description: >-
            The time period during which the allowance is applicable. This
            period spans from the start time up and including to the end time. 


            In the event that multiple time periods are required, multiple
            period elements can be provided.
          required:
            - start
            - end
          additionalProperties: false
          properties:
            start:
              $ref: '#/components/schemas/TimeDatatype'
            end:
              $ref: '#/components/schemas/TimeDatatype'
          type: object
        IndividualSalaryIncrease:
          description: >-
            The individual salary review is a process where an employee's salary
            is evaluated and adjusted based on individual performance, and other
            relevant criteria. This container specifies the increase rate of
            these adjustments.
          additionalProperties: false
          properties:
            effectiveDate:
              $ref: '#/components/schemas/Occurrence'
            line:
              $ref: '#/components/schemas/ArrangementLineLimited'
          type: object
        Franchise:
          description: Indicator whether an employer makes use of a franchise.
          additionalProperties: false
          properties:
            description:
              description: Free text description of the franchise.
              type: string
          type: object
        RemunerationPackage:
          description: >-
            Details about the remuneration package, including salary tables
            based on the work duration. It includes one or more salary tables
            for a specific work duration or characteristics.
          required:
            - origin
            - workDuration
          additionalProperties: false
          properties:
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            workDuration:
              $ref: '#/components/schemas/WorkDuration'
            interval:
              $ref: '#/components/schemas/Interval'
            hourlyWageConversion:
              $ref: '#/components/schemas/HourlyWageConversion'
            salaryScale:
              items:
                $ref: '#/components/schemas/SalaryScale'
              type: array
            individualSalaryIncrease:
              items:
                $ref: '#/components/schemas/IndividualSalaryIncrease'
              type: array
            generalSalaryIncrease:
              items:
                $ref: '#/components/schemas/GeneralSalaryIncrease'
              type: array
            conditions:
              items:
                $ref: '#/components/schemas/Condition'
              type: array
          type: object
        AmountLimited:
          description: The value of the work duration in hours, expressed as decimal.
          required:
            - value
            - unitCode
          additionalProperties: false
          properties:
            value:
              description: The value of the amount.
              type: number
            unitCode:
              description: The unit of measure.
              enum:
                - Hour
              type: string
          type: object
        IkbReference:
          description: >-
            Container element to refer how a renumeration element connects to
            'het Individueel Keuze Budget' (EN: Individual Choice Budget).
          required:
            - relationType
            - id
          additionalProperties: false
          properties:
            relationType:
              description: 'Provides the relationship between the line element and the IKB. '
              type: string
              enum:
                - Included
                - OnTop
                - None
            id:
              description: >-
                The unique identifier that references a specific arrangement or
                a specific rule within an arrangement.
              required:
                - value
              additionalProperties: false
              properties:
                value:
                  $ref: '#/components/schemas/IdValue'
              type: object
            description:
              description: >-
                A free text-field for additional information and/or context
                about the ikb reference.
              type: string
          type: object
        SupplementaryArrangement:
          description: >-
            A container that specifies the supplementary arrangement(s) (In
            Dutch: 'aanvullende regelingen').
          required:
            - name
            - origin
            - typeCode
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            typeCode:
              $ref: '#/components/schemas/SupplementaryArrangementCode'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            coverage:
              $ref: '#/components/schemas/Amount'
            description:
              description: The description of the supplementary arrangement.
              type: string
          type: object
        PensionArrangement:
          description: The employer's contribution to a pension plan.
          required:
            - name
            - origin
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            franchise:
              $ref: '#/components/schemas/Franchise'
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        AllowanceReferenceExtended:
          description: >-
            This element is used indicate relations to other elements of this
            structure. An example of such a relation could be that an allowance
            is used to calculate another allowance on a compounding basis.
            Meaning that the the value of allowance A is calculated before and
            used in the calculation of the value of allowance B.
          required:
            - description
          additionalProperties: false
          properties:
            id:
              description: >-
                The unique identifier that references a specific arrangement or
                a specific rule within an arrangement.
              required:
                - value
              additionalProperties: false
              properties:
                value:
                  $ref: '#/components/schemas/IdValue'
              type: object
            typeCode:
              $ref: '#/components/schemas/AllowanceCode'
            description:
              description: 'A description of the nature of the relation. '
              type: string
            relationType:
              description: The code of the type of relation that this reference is.
              enum:
                - Compounding
                - Cumulative
                - Subtractive
              type: string
          type: object
        EmailTypeArray:
          description: Array of email information details.
          required:
            - address
          additionalProperties: false
          properties:
            address:
              $ref: '#/components/schemas/EmailTypeArray-addressDatatype'
            useCode:
              description: >-
                Code identifying the usage of the contact point e.g. business,
                private, etc.
              enum:
                - Business
                - Private
              type: string
          type: object
        LabourAgreements:
          description: >-
            This container indicates in which sector the staffing customer works
            and which specific collective labour agreement (CLA) and/or the own
            employment conditions scheme is leading for the provision of
            remuneration information.
          additionalProperties: false
          properties:
            industryIdentifier:
              items:
                description: >-
                  The types of industry to which the organization belongs. The
                  industry identifiers should use the CBS - SBI 2008 (Standaard
                  Bedrijfsindeling).
                required:
                  - value
                additionalProperties: false
                properties:
                  value:
                    $ref: '#/components/schemas/IdValue'
                type: object
              type: array
            collectiveLabourAgreement:
              $ref: '#/components/schemas/CollectiveLabourAgreement'
            customLabourAgreement:
              description: >-
                Indicator to determine whether a custom labour agreement is
                active.
              type: boolean
          type: object
        DatePeriod:
          description: >-
            Single period spanning from the start date up and including to the
            end date. If both start and end is provided, the date period element
            indicates a range of dates. If only the start date is provided, the
            date period element only indicates this singular date.
          required:
            - start
          additionalProperties: false
          properties:
            start:
              $ref: '#/components/schemas/DateDatatype'
            end:
              $ref: '#/components/schemas/DateDatatype'
          type: object
        AllowanceReference:
          description: A list of allowances that are included in this base.
          additionalProperties: false
          properties:
            typeCode:
              $ref: '#/components/schemas/AllowanceCode'
          type: object
        PositionProfileReference:
          description: >-
            Specifies the position profile that this salary scale is applied to.
            This element refers to the 'positionId/value' element in the
            corresponding position profile. 
          required:
            - positionId
          additionalProperties: false
          properties:
            positionId:
              description: >-
                A unique identifier referencing the specific role or job profile
                as defined in the organization’s salary structure (NL:
                Salarishuis). This ID enables consistent linkage between the
                employee’s position and the corresponding salary scale and
                classification rules.
              required:
                - value
              additionalProperties: false
              properties:
                value:
                  $ref: '#/components/schemas/IdValue'
              type: object
            startSalaryStep:
              description: >-
                A code or numeric value indicating the initial salary step
                assigned to the role or employee upon entry into the salary
                scale. It defines the starting point within the organization’s
                structured salary progression.
              type: string
            description:
              description: >-
                A free-text field for capturing additional details related to
                the remuneration starting position (NL: inschaling), such as
                exceptions, special conditions, or justifications influencing
                the initial salary step or profile assignment.
              type: string
          type: object
        MandatoryLeave:
          description: >-
            A policy mandating that employees utilize a certain amount of their
            accrued leave within a specified period.
          additionalProperties: false
          properties:
            description:
              description: Description of the mandatory leave allocation.
              type: string
          type: object
        ArrangementLineLimited:
          description: >-
            A container that contains the details of the increase rate. It
            includes elements such as the amount that is provided (3% of yearly
            salary), the interval in which this is applied in the specified
            period (e.g. each year) and any conditions that might have to be met
            for this rate to be applicable.
          additionalProperties: false
          properties:
            lineId:
              $ref: '#/components/schemas/Id'
            amount:
              $ref: '#/components/schemas/Amount'
            interval:
              $ref: '#/components/schemas/Interval'
            conditions:
              items:
                $ref: '#/components/schemas/Condition'
              type: array
            contributionSource:
              $ref: '#/components/schemas/ContributionSourceType'
          type: object
        BaseDefinition:
          description: >-
            Definitions of the bases (in Dutch: 'Grondslagen') that can be used
            to calculate the different rates.
          required:
            - baseType
            - remunerationIndicator
            - holidayAllowanceIndicator
            - paidLeaveDayIndicator
            - allAllowancesIndicator
          additionalProperties: false
          properties:
            baseType:
              $ref: '#/components/schemas/BaseDefinitionCode'
            remunerationIndicator:
              description: >-
                This element can be used to indicate whether remuneration(s)
                is/are taken into consideration for calculating this base.
              type: boolean
            holidayAllowanceIndicator:
              description: >-
                This element can be used to indicate whether holiday
                allowance(s) is/are taken into consideration for calculating
                this base.
              type: boolean
            paidLeaveDayIndicator:
              description: >-
                This element can be used to indicate whether paid leave days are
                taken into consideration for calculating this base.
              type: boolean
            allAllowancesIndicator:
              description: >-
                This element can be used to indicate whether allowances are
                taken into consideration for calculating this base. If 'True',
                then all allowances are taken into account. If 'False', the
                allowances that are taken into account can be specified in the
                'allowances' element.
              type: boolean
            allowances:
              items:
                $ref: '#/components/schemas/AllowanceReference'
              type: array
            referenceDate:
              $ref: '#/components/schemas/Occurrence'
          type: object
        SickPayArrangement:
          description: >-
            This element refers to the method in which the employer continues to
            compensate an employee when the employee has fallen ill. 
          required:
            - name
            - origin
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            waitingDays:
              $ref: '#/components/schemas/WaitingDays'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        IndividualChoiceBudgetArrangement:
          description: >-
            Individual choice budget (Dutch: IKB) is used if the employer has an
            individual choice budget. It's elements are used for the different
            options an employee has regarding this budget as well as its costs. 
          required:
            - name
            - origin
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            option:
              items:
                $ref: '#/components/schemas/IndividualChoiceBudgetOption'
              type: array
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        OtherArrangement:
          description: >-
            This element can be used to provide any additional arrangements that
            have not been covered by the other elements.
          required:
            - name
            - origin
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            coverage:
              $ref: '#/components/schemas/Amount'
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        SustainableEmployabilityArrangement:
          description: >-
            Sustainable employability allows for the employer to add information
            regarding sustainable employability arrangement that the employer
            might have (e.g. study budget for the employee).
          required:
            - name
            - origin
            - typeCode
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            typeCode:
              $ref: '#/components/schemas/SustainabilityCode'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            payDate:
              $ref: '#/components/schemas/Occurrence'
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        WeekdayCode:
          description: The day in the week to which the allowance is applicable.
          additionalProperties: false
          properties:
            value:
              enum:
                - Monday
                - Tuesday
                - Wednesday
                - Thursday
                - Friday
                - Saturday
                - Sunday
                - Holiday
              type: string
          type: object
        Party:
          description: The customer/hirer of the worker.
          required:
            - legalId
            - personContacts
          additionalProperties: false
          properties:
            id:
              items:
                $ref: '#/components/schemas/Identifier'
              maxItems: 2
              type: array
            name:
              $ref: '#/components/schemas/Party-nameDatatype'
            legalId:
              items:
                description: >-
                  A government assigned identifier to distinguish the party
                  (organization, person, or legal entity) to a transaction.
                required:
                  - value
                  - schemeAgencyId
                additionalProperties: false
                properties:
                  value:
                    $ref: '#/components/schemas/IdValue'
                  schemeAgencyId:
                    $ref: '#/components/schemas/LegalSchemeAgencyId'
                type: object
              minItems: 1
              type: array
            personContacts:
              items:
                $ref: '#/components/schemas/ContactPerson'
              minItems: 1
              type: array
          type: object
        HolidayAllowanceArrangement:
          description: >-
            A container that contains the details of the holiday allowance
            arrangement.
          required:
            - name
            - origin
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            payDate:
              $ref: '#/components/schemas/Occurrence'
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        IndividualChoiceBudgetOption:
          description: >-
            Associates the different rates on how this individual choice budget
            can be spent (e.g. the percentage of salary that one extra day of
            vacation costs).
          required:
            - description
          additionalProperties: false
          properties:
            description:
              description: >-
                Detailed free text description on the method in which this
                budget can be spent by an employee.
              type: string
          type: object
        SalaryScale:
          description: >-
            Base salary of a job or of an employee including minimum and maximum
            salary and certain salary steps. 
          required:
            - name
            - currency
          additionalProperties: false
          properties:
            name:
              description: The name or label of the salary scale. E.g., 1,2,3.
              type: string
            minValue:
              description: The minimum value of the salary scale.
              type: number
            maxValue:
              description: The maximum value of the salary scale.
              type: number
            currency:
              description: >-
                The three-letter currency code defined by the ISO 4217 standard
                (e.g., “EUR”, “USD”).
              type: string
            salaryStep:
              items:
                $ref: '#/components/schemas/SalaryScaleStep'
              type: array
            careerLevel:
              $ref: '#/components/schemas/CareerLevel'
            positionProfileReference:
              items:
                $ref: '#/components/schemas/PositionProfileReference'
              type: array
          type: object
        PersonName:
          description: >-
            A component for capturing summary or fine-grain data comprising a
            person's name.
          required:
            - formattedName
          additionalProperties: false
          properties:
            formattedName:
              $ref: '#/components/schemas/PersonName-formattedNameDatatype'
          type: object
        PositionProfile:
          description: >-
            These are the position profiles for which the inquiry pay equity
            applies. From the salary table and other arrangements, you can also
            use these positions for the conditions of those arrangements.
          required:
            - positionId
            - positionTitle
            - origin
          additionalProperties: false
          properties:
            positionId:
              description: >-
                The primary identifier of the position profile, typically from
                the system of record.
              required:
                - value
              additionalProperties: false
              properties:
                value:
                  $ref: '#/components/schemas/IdValue'
              type: object
            positionTitle:
              $ref: '#/components/schemas/PositionProfile-positionTitleDatatype'
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            referenceTitle:
              description: >-
                This reference title provides a reference to the function/role
                as defined within the Collective Labour Agreement (CAO).
              type: string
            workDescription:
              description: >-
                The free text description of the work that this position
                normally requires.
              type: string
          type: object
        GeneralSalaryIncrease:
          description: >-
            The general salary adjustment refers to the increase applied
            uniformly to the entire salary table. This adjustment ensures that
            all employees receive a consistent percentage or fixed increase in
            their salaries. Please mind the usage note when to use this
            container.
          additionalProperties: false
          properties:
            effectiveDate:
              $ref: '#/components/schemas/Occurrence'
            amount:
              description: >-
                Container element that contains the value of the amount and the
                type of unit of the value.
              required:
                - value
                - unitCode
              additionalProperties: false
              properties:
                value:
                  description: >-
                    The numerical value of the remuneration amount expressed as
                    decimal. The unit type of this value can be specified in the
                    unit code element.
                  type: number
                unitCode:
                  $ref: '#/components/schemas/AmountUnitCode'
              type: object
            description:
              description: Free text description of the general salary table increase.
              type: string
          type: object
        Communication:
          description: >-
            The communication channels (phone, email) to contact and reach the
            contact person.
          additionalProperties: false
          properties:
            phone:
              items:
                $ref: '#/components/schemas/PhoneTypeArray'
              type: array
            email:
              items:
                $ref: '#/components/schemas/EmailTypeArray'
              type: array
          type: object
        PhoneTypeArray:
          description: Array of phone information details.
          required:
            - formattedNumber
          additionalProperties: false
          properties:
            formattedNumber:
              $ref: '#/components/schemas/PhoneTypeArray-formattedNumberDatatype'
          type: object
        AllowanceArrangement:
          description: >-
            A container element that includes various allowances that can be
            granted to an employee.
          required:
            - name
            - origin
            - typeCode
          additionalProperties: false
          properties:
            id:
              $ref: '#/components/schemas/Identifier'
            name:
              description: >-
                The name or description of the arrangement, indicating the type
                of arrangement and providing extra information that does not fit
                in any of the other fields.
              type: string
            origin:
              $ref: '#/components/schemas/LabourAgreementReference'
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            typeCode:
              $ref: '#/components/schemas/AllowanceCode'
            period:
              items:
                $ref: '#/components/schemas/Period'
              type: array
            line:
              items:
                $ref: '#/components/schemas/ArrangementLine'
              type: array
            payDate:
              $ref: '#/components/schemas/Occurrence'
            reference:
              items:
                $ref: '#/components/schemas/AllowanceReferenceExtended'
              type: array
            phaseOutScheme:
              description: >-
                If this allowance has a phasing out scheme arrangement, this can
                be described in this element. 
              type: string
            description:
              description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
              type: string
          type: object
        WorkDuration:
          description: >-
            Specifies the default work duration. This consists of an amount
            block indicating the number of hours, an interval block specifying
            the period over which these hours apply, and a valuePerWeek field
            indicating the equivalent number of hours per week, useful for
            calculations such as leave entitlement.
          required:
            - amount
            - interval
            - valuePerWeek
          additionalProperties: false
          properties:
            amount:
              $ref: '#/components/schemas/AmountLimited'
            interval:
              $ref: '#/components/schemas/Interval'
            valuePerWeek:
              description: >-
                The equivalent number of hours per week, useful for calculations
                such as leave entitlement.
              type: number
          type: object
        SalaryScaleStep:
          description: ' Specifies the steps within each salary scale, where each step has a name/label, a salary value, and possible conditions.'
          required:
            - name
            - value
          additionalProperties: false
          properties:
            name:
              description: The name or label of the salary step. E.g., 1,2,3.
              type: string
            value:
              description: The value of the salary scale step.
              type: number
            minimumWage:
              description: >-
                A boolean that indicates whether this salary step is equal to
                the minimum wage. 
              type: boolean
            conditions:
              items:
                $ref: '#/components/schemas/Condition'
              type: array
          type: object
        CollectiveLabourAgreement:
          description: >-
            Information about the collective labour agreement (CLA; CAO in
            Dutch) that determines the renumeration. In the Netherlands this can
            be the CLA of the ABU, NBBU or a specific CLA of the staffing
            customer.
          required:
            - name
            - id
          additionalProperties: false
          properties:
            name:
              description: The name of the collective labour agreement (CLA).
              type: string
            id:
              description: The identifier of the collective labour agreement (CLA).
              required:
                - value
              additionalProperties: false
              properties:
                value:
                  $ref: '#/components/schemas/IdValue'
              type: object
            effectivePeriod:
              $ref: '#/components/schemas/EffectivePeriod'
            basedOn:
              description: >-
                A collective labour agreement (CLA) applies if the employer is a
                member of the industry association, if the CLA has been declared
                generally binding for the sector by the Minister of Social
                Affairs and Employment, or if it is declared applicable in the
                employee's employment contract.
              type: string
          type: object
        WaitingDays:
          description: >-
            The amount of waiting days (NL: wachtdagen) that the worker is
            subjected to before being eligible to receive sick pay.
          required:
            - value
            - unitCode
          additionalProperties: false
          properties:
            value:
              description: The value of the amount expressed in number of days.
              type: number
            unitCode:
              $ref: '#/components/schemas/IntervalHourDayUnitCode'
            conditions:
              items:
                $ref: '#/components/schemas/Condition'
              type: array
          type: object
        BaseDefinitionCode:
          type: string
          enum:
            - GrossSalary
            - UsualWage
            - BaseWage
            - SocialInsuranceWage
            - HolidayAllowance
            - Pension
            - SickPay
            - 13thMonth
        IdValue:
          type: string
        BaseUnitCode:
          type: string
          enum:
            - HourlyRate
            - DailyRate
            - FourWeeklyRate
            - MonthlyRate
            - YearlyRate
            - Expense
            - Fixed
        DateDatatype:
          type: string
          format: date
        Condition:
          $ref: '#/components/schemas/Condition'
        IntervalCode:
          type: string
          enum:
            - Day
            - DayPart
            - Hour
            - Item
            - Kilometer
            - Month
            - Night
            - Once
            - OnExpenseBasis
            - Quarter
            - Relocation
            - Route
            - Shift
            - Trip
            - Week
            - WeeklyTravelDay
            - WorkedDay
            - WorkFromHomeDay
            - Year
        AmountUnitCode:
          type: string
          enum:
            - Hour
            - Percentage
            - Euro
            - SalaryStep
            - Day
        SchemeAgencyId:
          enum:
            - Customer
            - Supplier
          type: string
        ContributionSourceType:
          type: string
          enum:
            - Employee
            - Employer
        IntervalHourDayUnitCode:
          enum:
            - Day
            - Hour
          type: string
        PositionProfile-positionTitleDatatype:
          type: string
        PersonName-formattedNameDatatype:
          type: string
        Occurrence:
          $ref: '#/components/schemas/Occurrence'
        TimeDatatype:
          type: string
          format: time
        Party-nameDatatype:
          type: string
        EmailTypeArray-addressDatatype:
          type: string
        LegalSchemeAgencyId:
          enum:
            - KvK
            - OIN
            - RSIN
          type: string
        AllowanceCode:
          type: string
          enum:
            - EA100
            - EA101
            - EA102
            - EA103
            - EA105
            - EA107
            - EA108
            - EA109
            - EA110
            - EA111
            - EA112
            - EA113
            - EA201
            - EA202
            - EA203
            - EA204
            - EA300
            - EA301
            - EA302
            - EA600
            - EA602
            - EA603
            - EA604
            - EA605
            - EA606
            - EA607
            - EA608
            - EA609
            - EA610
            - EA801
            - EA802
            - EA803
            - EA903
            - EA910
            - HT100
            - HT101
            - HT102
            - HT200
            - HT201
            - HT202
            - HT210
            - HT211
            - HT300
            - HT301
            - HT302
            - HT310
            - HT311
            - HT320
            - HT321
            - HT322
            - HT330
            - HT331
            - HT340
            - HT400
            - HT500
            - HT501
            - HT600
            - HT601
            - HT602
            - HT700
            - HT701
            - HT702
            - HT703
            - HT800
        PhoneTypeArray-formattedNumberDatatype:
          type: string
        SupplementaryArrangementCode:
          type: string
          enum:
            - ERA
            - Generationpact
            - AccidentBenefit
            - PAWW
            - PAZW
            - RVU
            - WGA
        SustainabilityCode:
          type: string
          enum:
            - ArrangementForFinancialHealth
            - ArrangementForHealth
            - ArrangementForMentalHealth
            - CareerCoaching
            - Education
            - InformationProvision
            - Other
            - OutplacementPrograms
            - SocialSupport
            - SustainableSociety
            - VitalityBudget
    error-object:
      type: object
      properties:
        code:
          type: string
        description:
          type: string
    IntervalCode:
      type: string
      enum:
        - Day
        - DayPart
        - Hour
        - Item
        - Kilometer
        - Month
        - Night
        - Once
        - OnExpenseBasis
        - Quarter
        - Relocation
        - Route
        - Shift
        - Trip
        - Week
        - WeeklyTravelDay
        - WorkedDay
        - WorkFromHomeDay
        - Year
    IdValue:
      type: string
    Id:
      description: A unique identifier of this specific leave line element.
      required:
        - value
      additionalProperties: false
      properties:
        value:
          $ref: '#/components/schemas/IdValue'
      type: object
    AmountUnitCode:
      type: string
      enum:
        - Hour
        - Percentage
        - Euro
        - SalaryStep
        - Day
    BaseUnitCode:
      type: string
      enum:
        - HourlyRate
        - DailyRate
        - FourWeeklyRate
        - MonthlyRate
        - YearlyRate
        - Expense
        - Fixed
    BaseDefinitionCode:
      type: string
      enum:
        - GrossSalary
        - UsualWage
        - BaseWage
        - SocialInsuranceWage
        - HolidayAllowance
        - Pension
        - SickPay
        - 13thMonth
    BaseAmount:
      description: >-
        This element stores information about the base over which the amount is
        calculated. If the value is 3, the unit code is 'Percentage' and the
        base code is 'MonthlyRate', and the basetype is `GrossSalary` together
        they would imply a 3% of monthly gross salary.
      required:
        - unitCode
      additionalProperties: false
      properties:
        unitCode:
          $ref: '#/components/schemas/BaseUnitCode'
        baseType:
          $ref: '#/components/schemas/BaseDefinitionCode'
        value:
          description: >-
            This element can be used to store additional information about the
            value of the base if applicable.
          type: number
        minValue:
          description: >-
            If applicable, a minimum value can be provided to signify a minimum
            that the value in this base has to be. This implies that if the
            value is less than the minimum value, the minimum value will be used
            instead of the value element. 


            If the amount of the monthly rate of the gross salary is 3000 (which
            is the monthly salary) and the min value of the base amount is 4000,
            the 4000 would be used as the value. 
          type: number
        maxValue:
          description: >-
            If applicable, a maximum value can be provided to signify a maximum
            that the value in this base has to be. This implies that if the
            value is max than the maximum value, the maximum value will be used
            instead of the value element. 


            If the amount of the monthly rate of the gross salary is 3000 (which
            is the monthly salary) and the max value is 2000, the 2000 would be
            used as the value. 
          type: number
      type: object
    Proportional:
      description: >-
        The proportional element is used to specify whether certain work-related
        conditions such as leave entitlements, remuneration, or similar
        employment provisions are applied proportionally based on specific
        employee characteristics. 
      required:
        - partTimePercentage
        - employmentDuration
      additionalProperties: false
      properties:
        partTimePercentage:
          description: >-
            Indicates whether the condition is calculated proportionally based
            on the employee’s part‑time percentage, typically measured against a
            full‑time work week (commonly 36-40 hours).
          type: boolean
        employmentDuration:
          description: >-
            Indicates whether proportional calculation must be applied according
            to the employee's length of employment.
          type: boolean
        description:
          description: >-
            A free-text field for capturing any additional details,
            clarifications, or contextual information relevant to how the
            proportional rule is applied.
          type: string
      type: object
    Amount:
      description: >-
        Container element that contains the value of the amount, the type of
        unit of the value and a base. These three elements together can be used
        to calculate the amount of any type of rate. If applicable, a minimum
        and a maximum value can also be provided to signify a minimum and
        maximum that this rate provides. This implies that if the amount as a
        combination of the value and the base and the unit code is less than the
        minimum value, the minimum value will replace the value element.
      required:
        - value
        - unitCode
        - baseAmount
      additionalProperties: false
      properties:
        value:
          description: >-
            The numerical value of the remuneration amount expressed as decimal.
            The unit type of this value can be specified in the unit code
            element.
          type: number
        minValue:
          description: >-
            If applicable, a minimum value can be provided to signify a minimum
            that this rate provides. This implies that if the amount as a
            combination of the value and the base and the unit code is less than
            the minimum value, the minimum value will be used instead of the
            value element.
          type: number
        maxValue:
          description: >-
            If applicable, a maximum value can be provided to signify a maximum
            that this rate provides. This implies that if the amount as a
            combination of the value and the base and the unit code is less than
            the maximum value, the maximum value will be used instead of the
            value element.
          type: number
        unitCode:
          $ref: '#/components/schemas/AmountUnitCode'
        baseAmount:
          $ref: '#/components/schemas/BaseAmount'
        proportional:
          $ref: '#/components/schemas/Proportional'
      type: object
    Interval:
      description: >-
        This element is used to signify the interval in which this rate is
        applied. If this rate is applied every hour then the unit code would be
        'Hour' or if this rate is applied every kilometer, the interval code
        would be 'Kilometer'. The value can be used to express denominations of
        the provided interval code. If for instance it is required that the
        interval is every 15 minutes, the unit code can be 'Hour' and the value
        will be 0.25 as a quarter of 60 minutes is 15 minutes.
      required:
        - value
        - unitCode
      additionalProperties: false
      properties:
        value:
          description: >-
            The value can be used to express denominations of the provided
            interval code.
          type: number
        unitCode:
          $ref: '#/components/schemas/IntervalCode'
      type: object
    Operators:
      type: string
      enum:
        - eq
        - neq
        - gt
        - gte
        - lt
        - lte
        - in
      description: Comparison operator used in conditions
    AgeCondition:
      type: object
      description: >-
        Condition based on age of the employee. The unit is always in years.
        Decimals are allowed (e.g. 18.5 years).
      required:
        - conditionType
        - operator
        - age
      properties:
        conditionType:
          type: string
          const: Age
        operator:
          $ref: '#/components/schemas/Operators'
        age:
          type: number
          description: >-
            The age of the employee in years. The unit is always in years.
            Decimals are allowed (e.g. 18.5 years).
      examples:
        - conditionType: Age
          operator: gte
          age: 18
        - conditionType: Age
          operator: lt
          age: 30
    EmploymentDurationCondition:
      type: object
      description: Condition based on the duration of employment of the employee.
      required:
        - conditionType
        - operator
        - duration
        - referenceDateType
      properties:
        conditionType:
          type: string
          const: EmploymentDuration
        operator:
          $ref: '#/components/schemas/Operators'
        duration:
          type: string
          description: >-
            Duration of the employment expressed according to ISO 8601-1
            duration format.
        referenceDateType:
          type: string
          description: >-
            Which start date type of the employment to consider for determining
            the duration.
          enum:
            - SeniorityDate
            - HireDate
            - ContractStartDate
            - AssignmentStartDate
      examples:
        - conditionType: EmploymentDuration
          operator: gte
          duration: P2Y
          referenceDateType: HireDate
        - conditionType: EmploymentDuration
          operator: lt
          duration: P6M
          referenceDateType: ContractStartDate
        - conditionType: EmploymentDuration
          operator: eq
          duration: P12Y6M
          referenceDateType: SeniorityDate
    Single:
      type: object
      description: Single occurrence, e.g. a fixed date.
      required:
        - occurrenceType
        - date
      properties:
        occurrenceType:
          type: string
          const: Single
        date:
          type: string
          description: Point in time according to ISO 8601-1 format.
          format: date-time
          example: '2026-12-15'
      examples:
        - occurrenceType: Single
          date: '2026-12-15'
        - occurrenceType: Single
          date: '2024-07-01'
        - occurrenceType: Single
          date: 2024-07
    Recurring:
      type: object
      description: Recurring occurrence, e.g. a weekly or monthly event.
      required:
        - occurrenceType
        - interval
      properties:
        occurrenceType:
          type: string
          const: Recurring
        recurringInterval:
          type: string
          description: Recurring time interval according to ISO 8601-1 format.
          example: R/1945-05-05/P5Y
      examples:
        - occurrenceType: Recurring
          recurringInterval: R/P1M
        - occurrenceType: Recurring
          recurringInterval: R/P1W
        - occurrenceType: Recurring
          recurringInterval: R/1945-05-05/P5Y
    Relative:
      type: object
      description: Single occurrence relative to an event.
      required:
        - occurrenceType
        - event
        - offset
      properties:
        occurrenceType:
          type: string
          const: Relative
        event:
          type: string
          description: Type of event the occurrence is relative to.
          enum:
            - HireDate
            - ContractStart
            - ContractEnd
            - SeniorityStart
            - BirthDate
            - EvaluationDate
            - SalaryPeriodStart
            - SalaryPeriodEnd
            - SickLeave
            - OtherEvent
        offset:
          type: string
          description: >-
            The offset of the occurrence relative to an event. Time interval
            expressed according to ISO 8601-1 duration format. Use minus sign
            for negative offsets. Use 'PT0S' or 'P0D' to indicate no offset.
          format: duration
          example: P12Y6M
        eventName:
          type: string
          description: >-
            Short description of the event if 'OtherEvent' is selected as event
            type.
          example: Date of passing
      examples:
        - occurrenceType: Relative
          event: HireDate
          offset: P6M
        - occurrenceType: Relative
          event: ContractEnd
          offset: '-P6M'
    Occurrence:
      type: object
      description: Base type for occurrences with different occurrence types.
      oneOf:
        - $ref: '#/components/schemas/Single'
        - $ref: '#/components/schemas/Recurring'
        - $ref: '#/components/schemas/Relative'
    OccurrenceCondition:
      type: object
      description: A condition based on time or an event.
      required:
        - conditionType
        - occurrence
      properties:
        conditionType:
          type: string
          const: Occurrence
        occurrence:
          description: Specification of the occurrence.
          $ref: '#/components/schemas/Occurrence'
    PositionProfileCondition:
      type: object
      description: Condition based on salary scale and optionally step within that scale.
      required:
        - conditionType
        - operator
        - positionProfileIds
      properties:
        conditionType:
          type: string
          const: PositionProfile
        operator:
          allOf:
            - $ref: '#/components/schemas/Operators'
            - enum:
                - in
        positionProfileIds:
          type: array
          description: >-
            List of position profiles to compare against. The condition is met
            when the employee's position profile

            matches any of the position profiles in this list.
          items:
            type: string
            description: >-
              Reference to the identifier of the position profile.

              Must match value in element 'Inquiry Pay Equity/position
              profile/position id /value'.
      examples:
        - conditionType: PositionProfile
          operator: in
          positionProfileIds:
            - Manager
            - TeamLead
        - conditionType: PositionProfile
          operator: in
          positionProfileIds:
            - 3b336865-0155-435b-8706-f3bf4e6bd953
    SalaryScaleCondition:
      type: object
      description: Condition based on salary scale and optionally step within that scale.
      required:
        - conditionType
        - operator
        - salaryScale
      properties:
        conditionType:
          type: string
          const: SalaryScale
        operator:
          $ref: '#/components/schemas/Operators'
        salaryScale:
          type: string
          description: >-
            Reference to name of the salary scale (e.g. 'FWG-10' of 'Schaal
            10').

            Must match value in element 'Inquiry Pay Equity/remuneration/salary
            scale/name'
        step:
          type: string
          description: >-
            Optional reference to the name of the step within the scale (e.g.
            'Trede 5').

            Must match value in element 'Inquiry Pay Equity/remuneration/salary
            scale/salary step/name'
      examples:
        - conditionType: SalaryScale
          operator: gte
          salaryScale: FWG-10
          step: Trede 5
        - conditionType: SalaryScale
          operator: eq
          salaryScale: FWG-11
    TextCondition:
      type: object
      description: >-
        A textual condition. Only use this one when a condition cannot be
        specified by means of the other condition types.
      required:
        - conditionType
        - description
      properties:
        conditionType:
          type: string
          const: Text
        description:
          type: string
          description: Full specification of the condition in natural language.
      examples:
        - conditionType: Text
          description: Employee has completed a training program on workplace safety.
        - conditionType: Text
          description: >-
            Employee is eligible for a bonus if the company meets its annual
            revenue targets.
    Condition:
      type: object
      description: >-
        Abstract condition object. Can be used to include different concrete
        condition types based on 'conditionType' discriminator property.
      oneOf:
        - $ref: '#/components/schemas/AgeCondition'
        - $ref: '#/components/schemas/EmploymentDurationCondition'
        - $ref: '#/components/schemas/OccurrenceCondition'
        - $ref: '#/components/schemas/PositionProfileCondition'
        - $ref: '#/components/schemas/SalaryScaleCondition'
        - $ref: '#/components/schemas/TextCondition'
        - $ref: '#/components/schemas/AllOfCondition'
        - $ref: '#/components/schemas/AnyOfCondition'
        - $ref: '#/components/schemas/NotCondition'
    AllOfCondition:
      type: object
      description: Combition of conditions that ALL must evaluate to true
      required:
        - conditionType
        - conditions
      properties:
        conditionType:
          type: string
          const: AllOf
        conditions:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Condition'
      examples:
        - conditionType: AllOf
          conditions:
            - conditionType: Age
              operator: gte
              age: 18
            - conditionType: SalaryScale
              operator: gte
              salaryScale: FWG-10
              step: Trede 5
        - conditionType: AllOf
          conditions:
            - conditionType: EmploymentDuration
              operator: gte
              duration: P2Y
              referenceDateType: HireDate
            - conditionType: Occurrence
              occurrence:
                type: Relative
                event: EvaluationDate
                offset: PT0S
    AnyOfCondition:
      type: object
      description: Combition of conditions where at least one must evaluate to true
      required:
        - conditionType
        - conditions
      properties:
        conditionType:
          type: string
          const: AnyOf
        conditions:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Condition'
      examples:
        - conditionType: AnyOf
          conditions:
            - conditionType: Age
              operator: lt
              age: 18
            - conditionType: SalaryScale
              operator: lt
              salaryScale: FWG-10
              step: Trede 5
        - conditionType: AnyOf
          conditions:
            - conditionType: EmploymentDuration
              operator: lt
              duration: P2Y
              referenceDateType: HireDate
            - conditionType: Occurrence
              occurrence:
                type: Relative
                event: EvaluationDate
                offset: PT0S
    NotCondition:
      type: object
      description: Negation of condition
      required:
        - conditionType
        - condition
      properties:
        conditionType:
          type: string
          const: Not
        condition:
          $ref: '#/components/schemas/Condition'
      examples:
        - conditionType: Not
          condition:
            conditionType: Age
            operator: gte
            age: 18
        - conditionType: Not
          condition:
            conditionType: SalaryScale
            operator: gte
            salaryScale: FWG-10
            step: Trede 5
    ContributionSourceType:
      type: string
      enum:
        - Employee
        - Employer
    IkbReference:
      description: >-
        Container element to refer how a renumeration element connects to 'het
        Individueel Keuze Budget' (EN: Individual Choice Budget).
      required:
        - relationType
        - id
      additionalProperties: false
      properties:
        relationType:
          description: 'Provides the relationship between the line element and the IKB. '
          type: string
          enum:
            - Included
            - OnTop
            - None
        id:
          description: >-
            The unique identifier that references a specific arrangement or a
            specific rule within an arrangement.
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        description:
          description: >-
            A free text-field for additional information and/or context about
            the ikb reference.
          type: string
      type: object
    SchemeAgencyId:
      enum:
        - Customer
        - Supplier
      type: string
    AmountLeaveDay:
      description: >-
        The financial equivalent of one special leave day. It reflects the cost
        or compensation value of a single day off from work. 
      required:
        - value
        - unitCode
        - baseAmount
      additionalProperties: false
      properties:
        value:
          description: >-
            The numerical value of the financial equivalent of one leave day. It
            reflects the cost or compensation value of a single day off from
            work.
          type: number
        minValue:
          description: >-
            If applicable, a minimum value can be provided to signify a minimum
            that this rate provides. This implies that if the amount as a
            combination of the value and the base and the unit code is less than
            the minimum value, the minimum value will be used instead of the
            value element.
          type: number
        maxValue:
          description: >-
            If applicable, a maximum value can be provided to signify a maximum
            that this rate provides. This implies that if the amount as a
            combination of the value and the base and the unit code is less than
            the maximum value, the maximum value will be used instead of the
            value element.
          type: number
        unitCode:
          $ref: '#/components/schemas/AmountUnitCode'
        baseAmount:
          $ref: '#/components/schemas/BaseAmount'
      type: object
    DateDatatype:
      type: string
      format: date
    DatePeriod:
      description: >-
        Single period spanning from the start date up and including to the end
        date. If both start and end is provided, the date period element
        indicates a range of dates. If only the start date is provided, the date
        period element only indicates this singular date.
      required:
        - start
      additionalProperties: false
      properties:
        start:
          $ref: '#/components/schemas/DateDatatype'
        end:
          $ref: '#/components/schemas/DateDatatype'
      type: object
    TimeDatatype:
      type: string
      format: time
    TimePeriod:
      description: >-
        The time period during which the allowance is applicable. This period
        spans from the start time up and including to the end time. 


        In the event that multiple time periods are required, multiple period
        elements can be provided.
      required:
        - start
        - end
      additionalProperties: false
      properties:
        start:
          $ref: '#/components/schemas/TimeDatatype'
        end:
          $ref: '#/components/schemas/TimeDatatype'
      type: object
    WeekdayCode:
      description: The day in the week to which the allowance is applicable.
      additionalProperties: false
      properties:
        value:
          enum:
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
            - Sunday
            - Holiday
          type: string
      type: object
    PersonName-formattedNameDatatype:
      type: string
    PersonName:
      description: >-
        A component for capturing summary or fine-grain data comprising a
        person's name.
      required:
        - formattedName
      additionalProperties: false
      properties:
        formattedName:
          $ref: '#/components/schemas/PersonName-formattedNameDatatype'
      type: object
    PhoneTypeArray-formattedNumberDatatype:
      type: string
    PhoneTypeArray:
      description: Array of phone information details.
      required:
        - formattedNumber
      additionalProperties: false
      properties:
        formattedNumber:
          $ref: '#/components/schemas/PhoneTypeArray-formattedNumberDatatype'
      type: object
    EmailTypeArray-addressDatatype:
      type: string
    EmailTypeArray:
      description: Array of email information details.
      required:
        - address
      additionalProperties: false
      properties:
        address:
          $ref: '#/components/schemas/EmailTypeArray-addressDatatype'
        useCode:
          description: >-
            Code identifying the usage of the contact point e.g. business,
            private, etc.
          enum:
            - Business
            - Private
          type: string
      type: object
    Communication:
      description: >-
        The communication channels (phone, email) to contact and reach the
        contact person.
      additionalProperties: false
      properties:
        phone:
          items:
            $ref: '#/components/schemas/PhoneTypeArray'
          type: array
        email:
          items:
            $ref: '#/components/schemas/EmailTypeArray'
          type: array
      type: object
    PositionProfile-positionTitleDatatype:
      type: string
    Identifier:
      description: The unique identifier of this arrangement.
      required:
        - value
        - schemeAgencyId
      additionalProperties: false
      properties:
        value:
          $ref: '#/components/schemas/IdValue'
        schemeAgencyId:
          $ref: '#/components/schemas/SchemeAgencyId'
      type: object
    LabourAgreementReference:
      description: Specifies the origin of the applicable agreement.
      required:
        - type
      additionalProperties: false
      properties:
        type:
          description: The type of agreement.
          enum:
            - CollectiveLabourAgreement
            - CollectiveLabourAgreementExtended
            - CustomLabourAgreement
            - Unknown
          type: string
      type: object
    EffectivePeriod:
      description: >-
        Indicates the validity period of this regulation. The period is from the
        start date up to and including the end date.
      additionalProperties: false
      properties:
        validFrom:
          $ref: '#/components/schemas/DateDatatype'
        validTo:
          $ref: '#/components/schemas/DateDatatype'
      type: object
    ArrangementLineLeave:
      description: >-
        Leave granted for specific, non-routine circumstances as defined by the
        employer or applicable Collective Labour Agreement, such as bereavement,
        marriage, or relocation. The specific reasons and duration of special
        leave may vary.
      additionalProperties: false
      properties:
        name:
          description: The name of the special leave
          type: string
        lineId:
          $ref: '#/components/schemas/Id'
        amount:
          $ref: '#/components/schemas/Amount'
        interval:
          $ref: '#/components/schemas/Interval'
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
        contributionSource:
          $ref: '#/components/schemas/ContributionSourceType'
        leaveDayValue:
          $ref: '#/components/schemas/AmountLeaveDay'
        ikbReference:
          items:
            $ref: '#/components/schemas/IkbReference'
          type: array
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    MandatoryLeave:
      description: >-
        A policy mandating that employees utilize a certain amount of their
        accrued leave within a specified period.
      additionalProperties: false
      properties:
        description:
          description: Description of the mandatory leave allocation.
          type: string
      type: object
    ArrangementLineLimited:
      description: >-
        A container that contains the details of the increase rate. It includes
        elements such as the amount that is provided (3% of yearly salary), the
        interval in which this is applied in the specified period (e.g. each
        year) and any conditions that might have to be met for this rate to be
        applicable.
      additionalProperties: false
      properties:
        lineId:
          $ref: '#/components/schemas/Id'
        amount:
          $ref: '#/components/schemas/Amount'
        interval:
          $ref: '#/components/schemas/Interval'
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
        contributionSource:
          $ref: '#/components/schemas/ContributionSourceType'
      type: object
    AmountLimited:
      description: The value of the work duration in hours, expressed as decimal.
      required:
        - value
        - unitCode
      additionalProperties: false
      properties:
        value:
          description: The value of the amount.
          type: number
        unitCode:
          description: The unit of measure.
          enum:
            - Hour
          type: string
      type: object
    WorkDuration:
      description: >-
        Specifies the default work duration. This consists of an amount block
        indicating the number of hours, an interval block specifying the period
        over which these hours apply, and a valuePerWeek field indicating the
        equivalent number of hours per week, useful for calculations such as
        leave entitlement.
      required:
        - amount
        - interval
        - valuePerWeek
      additionalProperties: false
      properties:
        amount:
          $ref: '#/components/schemas/AmountLimited'
        interval:
          $ref: '#/components/schemas/Interval'
        valuePerWeek:
          description: >-
            The equivalent number of hours per week, useful for calculations
            such as leave entitlement.
          type: number
      type: object
    HourlyWageConversion:
      description: Information about the conversion to regular hourly wages.
      additionalProperties: false
      properties:
        hourlyWageFactor:
          description: >-
            A number used to calculate the hourly wage from a periodic salary
            (e.g., monthly salary). The periodic salary is divided by this
            factor to determine the hourly wage. 


            Formula: hourly wage = periodic salary / hourlyWageFactor.
          type: number
        hourlyWagePercentage:
          description: >-
            A percentage that the periodic salary (such as a monthly salary) is
            multiplied by to calculate the hourly wage.


            Formula: hourly wage = (periodic salary * hourlyWagePercentage) /
            100.
          type: number
      type: object
    SalaryScaleStep:
      description: ' Specifies the steps within each salary scale, where each step has a name/label, a salary value, and possible conditions.'
      required:
        - name
        - value
      additionalProperties: false
      properties:
        name:
          description: The name or label of the salary step. E.g., 1,2,3.
          type: string
        value:
          description: The value of the salary scale step.
          type: number
        minimumWage:
          description: >-
            A boolean that indicates whether this salary step is equal to the
            minimum wage. 
          type: boolean
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
      type: object
    CareerLevel:
      description: >-
        Indicates whether work experience is considered in the salary scale,
        with a true or false value and a possible description.
      additionalProperties: false
      properties:
        indicator:
          description: >-
            A boolean indicating the presence of taking into account
            classification of career levels.
          type: boolean
        description:
          description: Description of the career levels.
          type: string
      type: object
    PositionProfileReference:
      description: >-
        Specifies the position profile that this salary scale is applied to.
        This element refers to the 'positionId/value' element in the
        corresponding position profile. 
      required:
        - positionId
      additionalProperties: false
      properties:
        positionId:
          description: >-
            A unique identifier referencing the specific role or job profile as
            defined in the organization’s salary structure (NL: Salarishuis).
            This ID enables consistent linkage between the employee’s position
            and the corresponding salary scale and classification rules.
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        startSalaryStep:
          description: >-
            A code or numeric value indicating the initial salary step assigned
            to the role or employee upon entry into the salary scale. It defines
            the starting point within the organization’s structured salary
            progression.
          type: string
        description:
          description: >-
            A free-text field for capturing additional details related to the
            remuneration starting position (NL: inschaling), such as exceptions,
            special conditions, or justifications influencing the initial salary
            step or profile assignment.
          type: string
      type: object
    SalaryScale:
      description: >-
        Base salary of a job or of an employee including minimum and maximum
        salary and certain salary steps. 
      required:
        - name
        - currency
      additionalProperties: false
      properties:
        name:
          description: The name or label of the salary scale. E.g., 1,2,3.
          type: string
        minValue:
          description: The minimum value of the salary scale.
          type: number
        maxValue:
          description: The maximum value of the salary scale.
          type: number
        currency:
          description: >-
            The three-letter currency code defined by the ISO 4217 standard
            (e.g., “EUR”, “USD”).
          type: string
        salaryStep:
          items:
            $ref: '#/components/schemas/SalaryScaleStep'
          type: array
        careerLevel:
          $ref: '#/components/schemas/CareerLevel'
        positionProfileReference:
          items:
            $ref: '#/components/schemas/PositionProfileReference'
          type: array
      type: object
    IndividualSalaryIncrease:
      description: >-
        The individual salary review is a process where an employee's salary is
        evaluated and adjusted based on individual performance, and other
        relevant criteria. This container specifies the increase rate of these
        adjustments.
      additionalProperties: false
      properties:
        effectiveDate:
          $ref: '#/components/schemas/Occurrence'
        line:
          $ref: '#/components/schemas/ArrangementLineLimited'
      type: object
    GeneralSalaryIncrease:
      description: >-
        The general salary adjustment refers to the increase applied uniformly
        to the entire salary table. This adjustment ensures that all employees
        receive a consistent percentage or fixed increase in their salaries.
        Please mind the usage note when to use this container.
      additionalProperties: false
      properties:
        effectiveDate:
          $ref: '#/components/schemas/Occurrence'
        amount:
          description: >-
            Container element that contains the value of the amount and the type
            of unit of the value.
          required:
            - value
            - unitCode
          additionalProperties: false
          properties:
            value:
              description: >-
                The numerical value of the remuneration amount expressed as
                decimal. The unit type of this value can be specified in the
                unit code element.
              type: number
            unitCode:
              $ref: '#/components/schemas/AmountUnitCode'
          type: object
        description:
          description: Free text description of the general salary table increase.
          type: string
      type: object
    SupplementaryArrangementCode:
      type: string
      enum:
        - ERA
        - Generationpact
        - AccidentBenefit
        - PAWW
        - PAZW
        - RVU
        - WGA
    ArrangementLine:
      description: >-
        A container that contains the details of the rate in which this pension
        is provided to the employee. It includes elements such as the amount
        that is provided (3% of monthly salary), the interval in which this is
        applied in the specified period (e.g. 'Hour' for an hourly application)
        and any conditions that might have to be met for this rate to be
        applicable.
      additionalProperties: false
      properties:
        lineId:
          $ref: '#/components/schemas/Id'
        amount:
          $ref: '#/components/schemas/Amount'
        interval:
          $ref: '#/components/schemas/Interval'
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
        contributionSource:
          $ref: '#/components/schemas/ContributionSourceType'
        ikbReference:
          items:
            $ref: '#/components/schemas/IkbReference'
          type: array
      type: object
    Franchise:
      description: Indicator whether an employer makes use of a franchise.
      additionalProperties: false
      properties:
        description:
          description: Free text description of the franchise.
          type: string
      type: object
    AllowanceCode:
      type: string
      enum:
        - EA100
        - EA101
        - EA102
        - EA103
        - EA105
        - EA107
        - EA108
        - EA109
        - EA110
        - EA111
        - EA112
        - EA113
        - EA201
        - EA202
        - EA203
        - EA204
        - EA300
        - EA301
        - EA302
        - EA600
        - EA602
        - EA603
        - EA604
        - EA605
        - EA606
        - EA607
        - EA608
        - EA609
        - EA610
        - EA801
        - EA802
        - EA803
        - EA903
        - EA910
        - HT100
        - HT101
        - HT102
        - HT200
        - HT201
        - HT202
        - HT210
        - HT211
        - HT300
        - HT301
        - HT302
        - HT310
        - HT311
        - HT320
        - HT321
        - HT322
        - HT330
        - HT331
        - HT340
        - HT400
        - HT500
        - HT501
        - HT600
        - HT601
        - HT602
        - HT700
        - HT701
        - HT702
        - HT703
        - HT800
    CollectiveLabourAgreement:
      description: >-
        Information about the collective labour agreement (CLA; CAO in Dutch)
        that determines the renumeration. In the Netherlands this can be the CLA
        of the ABU, NBBU or a specific CLA of the staffing customer.
      required:
        - name
        - id
      additionalProperties: false
      properties:
        name:
          description: The name of the collective labour agreement (CLA).
          type: string
        id:
          description: The identifier of the collective labour agreement (CLA).
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        basedOn:
          description: >-
            A collective labour agreement (CLA) applies if the employer is a
            member of the industry association, if the CLA has been declared
            generally binding for the sector by the Minister of Social Affairs
            and Employment, or if it is declared applicable in the employee's
            employment contract.
          type: string
      type: object
    AllowanceReference:
      description: A list of allowances that are included in this base.
      additionalProperties: false
      properties:
        typeCode:
          $ref: '#/components/schemas/AllowanceCode'
      type: object
    IntervalHourDayUnitCode:
      enum:
        - Day
        - Hour
      type: string
    WaitingDays:
      description: >-
        The amount of waiting days (NL: wachtdagen) that the worker is subjected
        to before being eligible to receive sick pay.
      required:
        - value
        - unitCode
      additionalProperties: false
      properties:
        value:
          description: The value of the amount expressed in number of days.
          type: number
        unitCode:
          $ref: '#/components/schemas/IntervalHourDayUnitCode'
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
      type: object
    IndividualChoiceBudgetOption:
      description: >-
        Associates the different rates on how this individual choice budget can
        be spent (e.g. the percentage of salary that one extra day of vacation
        costs).
      required:
        - description
      additionalProperties: false
      properties:
        description:
          description: >-
            Detailed free text description on the method in which this budget
            can be spent by an employee.
          type: string
      type: object
    SustainabilityCode:
      type: string
      enum:
        - ArrangementForFinancialHealth
        - ArrangementForHealth
        - ArrangementForMentalHealth
        - CareerCoaching
        - Education
        - InformationProvision
        - Other
        - OutplacementPrograms
        - SocialSupport
        - SustainableSociety
        - VitalityBudget
    Party-nameDatatype:
      type: string
    LegalSchemeAgencyId:
      enum:
        - KvK
        - OIN
        - RSIN
      type: string
    ContactPerson:
      description: >-
        Specific people at the party who are contacts. This is the person
        authorized to provide the information.
      required:
        - name
      additionalProperties: false
      properties:
        name:
          $ref: '#/components/schemas/PersonName'
        communication:
          $ref: '#/components/schemas/Communication'
        roleCode:
          description: >-

            The role of the contact person. In this case the inquiry pay equity
            is authorized by this contact person. 
          type: string
        positionTitle:
          $ref: '#/components/schemas/PositionProfile-positionTitleDatatype'
      type: object
    Period:
      description: >+
        A container element that specifies the time period(s) during which the
        allowance is applicable. It includes a date period (which can be used
        for date ranges or individual dates), a time period (given the selected
        dates, this lets us specify the allowed times) and a weekday element
        that lets us specify recurring days of the week. 

      required:
        - timePeriod
      additionalProperties: false
      properties:
        datePeriod:
          items:
            $ref: '#/components/schemas/DatePeriod'
          type: array
        timePeriod:
          $ref: '#/components/schemas/TimePeriod'
        weekday:
          items:
            $ref: '#/components/schemas/WeekdayCode'
          type: array
      type: object
    AllowanceReferenceExtended:
      description: >-
        This element is used indicate relations to other elements of this
        structure. An example of such a relation could be that an allowance is
        used to calculate another allowance on a compounding basis. Meaning that
        the the value of allowance A is calculated before and used in the
        calculation of the value of allowance B.
      required:
        - description
      additionalProperties: false
      properties:
        id:
          description: >-
            The unique identifier that references a specific arrangement or a
            specific rule within an arrangement.
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        typeCode:
          $ref: '#/components/schemas/AllowanceCode'
        description:
          description: 'A description of the nature of the relation. '
          type: string
        relationType:
          description: The code of the type of relation that this reference is.
          enum:
            - Compounding
            - Cumulative
            - Subtractive
          type: string
      type: object
    Party:
      description: The customer/hirer of the worker.
      required:
        - legalId
        - personContacts
      additionalProperties: false
      properties:
        id:
          items:
            $ref: '#/components/schemas/Identifier'
          maxItems: 2
          type: array
        name:
          $ref: '#/components/schemas/Party-nameDatatype'
        legalId:
          items:
            description: >-
              A government assigned identifier to distinguish the party
              (organization, person, or legal entity) to a transaction.
            required:
              - value
              - schemeAgencyId
            additionalProperties: false
            properties:
              value:
                $ref: '#/components/schemas/IdValue'
              schemeAgencyId:
                $ref: '#/components/schemas/LegalSchemeAgencyId'
            type: object
          minItems: 1
          type: array
        personContacts:
          items:
            $ref: '#/components/schemas/ContactPerson'
          minItems: 1
          type: array
      type: object
    BaseDefinition:
      description: >-
        Definitions of the bases (in Dutch: 'Grondslagen') that can be used to
        calculate the different rates.
      required:
        - baseType
        - remunerationIndicator
        - holidayAllowanceIndicator
        - paidLeaveDayIndicator
        - allAllowancesIndicator
      additionalProperties: false
      properties:
        baseType:
          $ref: '#/components/schemas/BaseDefinitionCode'
        remunerationIndicator:
          description: >-
            This element can be used to indicate whether remuneration(s) is/are
            taken into consideration for calculating this base.
          type: boolean
        holidayAllowanceIndicator:
          description: >-
            This element can be used to indicate whether holiday allowance(s)
            is/are taken into consideration for calculating this base.
          type: boolean
        paidLeaveDayIndicator:
          description: >-
            This element can be used to indicate whether paid leave days are
            taken into consideration for calculating this base.
          type: boolean
        allAllowancesIndicator:
          description: >-
            This element can be used to indicate whether allowances are taken
            into consideration for calculating this base. If 'True', then all
            allowances are taken into account. If 'False', the allowances that
            are taken into account can be specified in the 'allowances' element.
          type: boolean
        allowances:
          items:
            $ref: '#/components/schemas/AllowanceReference'
          type: array
        referenceDate:
          $ref: '#/components/schemas/Occurrence'
      type: object
    LabourAgreements:
      description: >-
        This container indicates in which sector the staffing customer works and
        which specific collective labour agreement (CLA) and/or the own
        employment conditions scheme is leading for the provision of
        remuneration information.
      additionalProperties: false
      properties:
        industryIdentifier:
          items:
            description: >-
              The types of industry to which the organization belongs. The
              industry identifiers should use the CBS - SBI 2008 (Standaard
              Bedrijfsindeling).
            required:
              - value
            additionalProperties: false
            properties:
              value:
                $ref: '#/components/schemas/IdValue'
            type: object
          type: array
        collectiveLabourAgreement:
          $ref: '#/components/schemas/CollectiveLabourAgreement'
        customLabourAgreement:
          description: Indicator to determine whether a custom labour agreement is active.
          type: boolean
      type: object
    PositionProfile:
      description: >-
        These are the position profiles for which the inquiry pay equity
        applies. From the salary table and other arrangements, you can also use
        these positions for the conditions of those arrangements.
      required:
        - positionId
        - positionTitle
        - origin
      additionalProperties: false
      properties:
        positionId:
          description: >-
            The primary identifier of the position profile, typically from the
            system of record.
          required:
            - value
          additionalProperties: false
          properties:
            value:
              $ref: '#/components/schemas/IdValue'
          type: object
        positionTitle:
          $ref: '#/components/schemas/PositionProfile-positionTitleDatatype'
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        referenceTitle:
          description: >-
            This reference title provides a reference to the function/role as
            defined within the Collective Labour Agreement (CAO).
          type: string
        workDescription:
          description: >-
            The free text description of the work that this position normally
            requires.
          type: string
      type: object
    RemunerationPackage:
      description: >-
        Details about the remuneration package, including salary tables based on
        the work duration. It includes one or more salary tables for a specific
        work duration or characteristics.
      required:
        - origin
        - workDuration
      additionalProperties: false
      properties:
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        workDuration:
          $ref: '#/components/schemas/WorkDuration'
        interval:
          $ref: '#/components/schemas/Interval'
        hourlyWageConversion:
          $ref: '#/components/schemas/HourlyWageConversion'
        salaryScale:
          items:
            $ref: '#/components/schemas/SalaryScale'
          type: array
        individualSalaryIncrease:
          items:
            $ref: '#/components/schemas/IndividualSalaryIncrease'
          type: array
        generalSalaryIncrease:
          items:
            $ref: '#/components/schemas/GeneralSalaryIncrease'
          type: array
        conditions:
          items:
            $ref: '#/components/schemas/Condition'
          type: array
      type: object
    AllowanceArrangement:
      description: >-
        A container element that includes various allowances that can be granted
        to an employee.
      required:
        - name
        - origin
        - typeCode
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        typeCode:
          $ref: '#/components/schemas/AllowanceCode'
        period:
          items:
            $ref: '#/components/schemas/Period'
          type: array
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        payDate:
          $ref: '#/components/schemas/Occurrence'
        reference:
          items:
            $ref: '#/components/schemas/AllowanceReferenceExtended'
          type: array
        phaseOutScheme:
          description: >-
            If this allowance has a phasing out scheme arrangement, this can be
            described in this element. 
          type: string
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    HolidayAllowanceArrangement:
      description: >-
        A container that contains the details of the holiday allowance
        arrangement.
      required:
        - name
        - origin
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        payDate:
          $ref: '#/components/schemas/Occurrence'
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    SickPayArrangement:
      description: >-
        This element refers to the method in which the employer continues to
        compensate an employee when the employee has fallen ill. 
      required:
        - name
        - origin
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        waitingDays:
          $ref: '#/components/schemas/WaitingDays'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    LeaveArrangement:
      description: >-
        A container that contains the details of the leave arrangement, such as
        the type of leave, the amount of the leave, as well as any conditions.
      required:
        - name
        - origin
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        paidLeave:
          items:
            $ref: '#/components/schemas/ArrangementLineLeave'
          type: array
        workingHoursReduction:
          items:
            $ref: '#/components/schemas/ArrangementLineLeave'
          type: array
        holidays:
          items:
            $ref: '#/components/schemas/ArrangementLineLeave'
          type: array
        specialLeave:
          items:
            $ref: '#/components/schemas/ArrangementLineLeave'
          type: array
        additionalParentalLeave:
          items:
            $ref: '#/components/schemas/ArrangementLineLeave'
          type: array
        mandatoryLeaveAllocation:
          $ref: '#/components/schemas/MandatoryLeave'
        description:
          description: >-
            A free‑text field for capturing additional details related to reward
            element (NL: beloningscomponent), such as specifics, limitations and
            other conditions.
          type: string
      type: object
    IndividualChoiceBudgetArrangement:
      description: >-
        Individual choice budget (Dutch: IKB) is used if the employer has an
        individual choice budget. It's elements are used for the different
        options an employee has regarding this budget as well as its costs. 
      required:
        - name
        - origin
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        option:
          items:
            $ref: '#/components/schemas/IndividualChoiceBudgetOption'
          type: array
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    PensionArrangement:
      description: The employer's contribution to a pension plan.
      required:
        - name
        - origin
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        franchise:
          $ref: '#/components/schemas/Franchise'
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    SustainableEmployabilityArrangement:
      description: >-
        Sustainable employability allows for the employer to add information
        regarding sustainable employability arrangement that the employer might
        have (e.g. study budget for the employee).
      required:
        - name
        - origin
        - typeCode
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        typeCode:
          $ref: '#/components/schemas/SustainabilityCode'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        payDate:
          $ref: '#/components/schemas/Occurrence'
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
    SupplementaryArrangement:
      description: >-
        A container that specifies the supplementary arrangement(s) (In Dutch:
        'aanvullende regelingen').
      required:
        - name
        - origin
        - typeCode
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        typeCode:
          $ref: '#/components/schemas/SupplementaryArrangementCode'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        coverage:
          $ref: '#/components/schemas/Amount'
        description:
          description: The description of the supplementary arrangement.
          type: string
      type: object
    OtherArrangement:
      description: >-
        This element can be used to provide any additional arrangements that
        have not been covered by the other elements.
      required:
        - name
        - origin
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        name:
          description: >-
            The name or description of the arrangement, indicating the type of
            arrangement and providing extra information that does not fit in any
            of the other fields.
          type: string
        origin:
          $ref: '#/components/schemas/LabourAgreementReference'
        effectivePeriod:
          $ref: '#/components/schemas/EffectivePeriod'
        line:
          items:
            $ref: '#/components/schemas/ArrangementLine'
          type: array
        coverage:
          $ref: '#/components/schemas/Amount'
        description:
          description: ' A free‑text field for capturing additional details related to reward element (NL: beloningscomponent), such as specifics, limitations and other conditions.'
          type: string
      type: object
  headers:
    Date:
      description: This is the date assigned by the API server to the created resource.
      schema:
        type: string
        example: >-
          Tue, 29 Oct 2024 16:56:32 GMT. Format:<day-name>, <day> <month> <year>
          <hour>:<minute>:<second> GMT
    Location:
      description: >-
        This is the resource identifier assigned by the API client. This is the
        identifier specified in the path of this operation request.
      schema:
        type: string
        example: >-
          /inquiry-pay-equity/{ID} |
          /inquiry-pay-equity/c93efb20-1acd-447b-87e7-fadb108d8a0e
  parameters:
    VersionId:
      in: header
      name: setuVersionId
      required: true
      schema:
        type: string
        example: '2.0'
      description: Specification of the SETU standard version that is used as body message.
    ContentType:
      in: header
      name: Content-Type
      required: true
      schema:
        type: string
        example: application/json
        enum:
          - application/json
    ResourceIdentifier:
      name: id
      in: path
      required: true
      schema:
        type: string
        example: c93efb20-1acd-447b-87e7-fadb108d8a0e
      description: >-
        This is the resource identifier assigned by the API client to the
        created resource.  This is the id parameter used in path operations, for
        GET, PUT and DELETE operations.
  responses:
    '200':
      description: OK | The updated inquiry-pay-equity (as submitted in the request body)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InquiryPayEquity'
    '201':
      description: >-
        201 Created | The created inquiry-pay-equity (as submitted in the
        request body)
      headers:
        Date:
          $ref: '#/components/headers/Date'
        Location:
          $ref: '#/components/headers/Location'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InquiryPayEquity'
    '202':
      description: >-
        Accepted. Successful request, resource is not (yet) created. This
        response code is not supported by the SETU (asynchronous)
      content:
        application/json:
          schema:
            type: object
            description: No content
    '204':
      description: The inquiry-pay-equity is succesfully removed
    '400':
      description: >-
        400 Bad request | The request is invalid. E.g. due to syntax error or
        invalid response body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error-object'
    '401':
      description: >-
        401 Unauthorized | The request lacks valid authentication credentials
        for the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error-object'
    '403':
      description: >-
        403 Forbidden | The request was valid, but the server is refusing
        action. The client may not be authorized for the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error-object'
    '404':
      description: 404 Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error-object'
    '500':
      description: 500 Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error-object'
