{ "openapi": "3.0.4", "info": { "title": "Spiris Lön API V2", "description": "Visit our complete [Spiris Lön/Cloud Payroll API docs](https://developer.vismaonline.com) for how to get started, more information about authentication, error handling, query customization and more.", "contact": { "email": "api@spiris.se" }, "version": "v2" }, "servers": [ { "url": "https://vlsapi.vismaonline.com/" } ], "paths": { "/v2/agreements": { "get": { "tags": [ "Agreements" ], "summary": "Get agreements", "description": "Get all agreements or add query parameters to filter the results. The response will include a paginated list of agreements.\r\n \r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfAgreementResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "Agreements" ], "summary": "Creates an agreement.", "description": "Creates an agreement.\r\n\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateAgreementRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/agreements/{agreementId}": { "get": { "tags": [ "Agreements" ], "summary": "Get agreement by id", "description": " Gets an agreement by specified id.\r\n\r\n", "parameters": [ { "name": "agreementId", "in": "path", "description": "Id of the agreement", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "The agreement with the specified id.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/breakrules": { "get": { "tags": [ "BreakRule" ], "summary": "Get break rules", "description": "Get all break rules or add query parameters to filter the results. The response will include a paginated list of break rules.\r\n\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfBreakRuleResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "BreakRule" ], "summary": "Create a break rule", "description": "Create a break rule with properties specified in the request body\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateBreakRuleRequest" } ] } } } }, "responses": { "201": { "description": "Resource created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BreakRuleResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/breakrules/{breakRuleId}": { "get": { "tags": [ "BreakRule" ], "summary": "Get break rule by id", "description": "Gets a specific break rule by ID. Query options can be applied to customize the response. The response contains the requested break rule.\r\n\r\n\r\n", "parameters": [ { "name": "breakRuleId", "in": "path", "description": "The Id of the break rule", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BreakRuleResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/careofsickchild": { "post": { "tags": [ "CareOfSickChild" ], "summary": "Create a care of sick child shortcut", "description": "Create a new care of sick child shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours, or percentage). If the end date is in a different month than the start date, the shortcut will be split into separate shortcuts for each month.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CareOfSickChildRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CareOfSickChildResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/careofsickchild/{shortcutId}": { "get": { "tags": [ "CareOfSickChild" ], "summary": "Get a care of sick child shortcut by id", "description": "Get a specific care of sick child shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The care of sick child shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CareOfSickChildResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "CareOfSickChild" ], "summary": "Update a care of sick child shortcut", "description": "Update an existing care of sick child shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CareOfSickChildRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CareOfSickChildResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "CareOfSickChild" ], "summary": "Delete a care of sick child shortcut", "description": "Delete a care of sick child shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/careofsickchild/{startDate}/{endDate}": { "get": { "tags": [ "CareOfSickChild" ], "summary": "Get care of sick child shortcuts between dates", "description": "Get all care of sick child shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CareOfSickChildResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/migration/companysettings": { }, "/v2/migration/company/completeguide": { }, "/v2/migration/company/mtmigrationguidestatuscompleted": { }, "/v2/migration/company/guidestate": { }, "/v2/migration/employees": { }, "/v2/migration/employees/{employeeId}": { }, "/v2/employees": { "get": { "tags": [ "Employees" ], "summary": "Get all employees", "description": "Retrieves a paginated list of all employees in the company. \r\nYou can use query options ($filter, $select, $orderby, $top, $skip) to customize your request.\r\nThe endpoint includes both active and draft employees but excludes deleted employees. Limited employees are also included in the results.\r\n\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfEmployeeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "Employees" ], "summary": "Create employee", "description": "Create employee in this company.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateEmployeeRequest" } ] } } } }, "responses": { "201": { "description": "Resource created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateEmployeeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/employees/{employeeId}": { "get": { "tags": [ "Employees" ], "summary": "Get employee by id", "description": "Retrieves a specific employee by their unique identifier. The response includes comprehensive employee information such as personal details, contact information, address, employment status and other associated information.\nYou can use OData query options like `$select` to retrieve only specific fields from the employee record.\n\n\r\n\r\n", "parameters": [ { "name": "employeeId", "in": "path", "description": "Id of the employee", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmployeeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/employees/{employeeId}/workschedules": { "post": { "tags": [ "Employees" ], "summary": "Create employee work schedule", "description": "Add a work schedule to an employee.\r\n\r\n", "parameters": [ { "name": "employeeId", "in": "path", "description": "Id of employee", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AddWorkScheduleToEmployeeRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddWorkScheduleToEmployeeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/employees/{employeeId}/agreements": { "post": { "tags": [ "Employees" ], "summary": "Create employee agreement", "description": "Add an agreement to an employee.\r\n\r\n", "parameters": [ { "name": "employeeId", "in": "path", "description": "Id of employee", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AddAgreementToEmployeeRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddAgreementToEmployeeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/externalperiods": { "get": { "tags": [ "ExternalPeriods" ], "summary": "Get external periods", "description": "Get external periods.\n\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfExternalPeriodResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "ExternalPeriods" ], "summary": "Create an external period", "description": "Create an external period.\n\nThe request is validated as follows:\n\n- A project/cost-center distribution is required.\n- Within each of `Project`, `CostCenter1`, `CostCenter2` and `CostCenter3`, percentages must be non-negative and total at most 100%. An allocation with a percentage of 0 is kept and applied as a 0% row on the payslip; it is not discarded.\n- Referenced projects and cost center items must exist on the company, and each cost center item must belong to the cost center dimension it is supplied under.\n- For requests that carry a project/cost-center distribution, `DeviationPeriodToDate` must match the employee's payroll period settings (the last day of a month, or the company's configured payment period day).\n- The period cannot be earlier than the employee's latest locked payslip.\n\nA validation failure returns `400 Bad Request` with a message describing the failing rule.\n\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ExternalPeriodRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExternalPeriodResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/externalperiods/{externalPeriodId}": { "get": { "tags": [ "ExternalPeriods" ], "summary": "Get external period by unique identifier", "description": "Get external period by unique identifier.\n\r\n\r\n", "parameters": [ { "name": "externalPeriodId", "in": "path", "description": "The external period unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExternalPeriodResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "ExternalPeriods" ], "summary": "Delete an external period", "description": "Delete an external period.\n\r\n\r\n", "parameters": [ { "name": "externalPeriodId", "in": "path", "description": "The external period unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/externalperiods/{employeeId}/{deviationDate}": { "get": { "tags": [ "ExternalPeriods" ], "summary": "Get external period by employee and deviation date", "description": "Get external period by employee and deviation date.\n\r\n\r\n", "parameters": [ { "name": "employeeId", "in": "path", "description": "The unique identifier of the employee", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "deviationDate", "in": "path", "description": "The deviation date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExternalPeriodResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/holiday": { "post": { "tags": [ "Holiday" ], "summary": "Create a holiday shortcut", "description": "Create a new holiday shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours or percentage).\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/HolidayRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HolidayResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/holiday/{shortcutId}": { "get": { "tags": [ "Holiday" ], "summary": "Get a holiday shortcut by id", "description": "Get a specific holiday shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The holiday shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HolidayResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "Holiday" ], "summary": "Update a holiday shortcut", "description": "Update an existing holiday shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/HolidayRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HolidayResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "Holiday" ], "summary": "Delete a holiday shortcut", "description": "Delete a holiday shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/holiday/{startDate}/{endDate}": { "get": { "tags": [ "Holiday" ], "summary": "Get holiday shortcuts between dates", "description": "Get all holiday shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HolidayResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/hoursworked": { "post": { "tags": [ "HoursWorked" ], "summary": "Create an hours worked shortcut", "description": "Create a new hours worked shortcut for an employee. The shortcut will be registered based on the specified registration method (time or hours).\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/HoursWorkedRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HoursWorkedResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/hoursworked/{shortcutId}": { "get": { "tags": [ "HoursWorked" ], "summary": "Get an hours worked shortcut by id", "description": "Get a specific hours worked shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The hours worked shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HoursWorkedResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "HoursWorked" ], "summary": "Update an hours worked shortcut", "description": "Update an existing hours worked shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/HoursWorkedRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HoursWorkedResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "HoursWorked" ], "summary": "Delete an hours worked shortcut", "description": "Delete an hours worked shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/hoursworked/{startDate}/{endDate}": { "get": { "tags": [ "HoursWorked" ], "summary": "Get hours worked shortcuts between dates", "description": "Get all hours worked shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HoursWorkedResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/migration/migrationStatus": { }, "/v2/shortcuts/otherabsence": { "post": { "tags": [ "OtherAbsence" ], "summary": "Create an other absence shortcut", "description": "Create a new other absence shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours or percentage).\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/OtherAbsenceRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAbsenceResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/otherabsence/{shortcutId}": { "get": { "tags": [ "OtherAbsence" ], "summary": "Get an other absence shortcut by id", "description": "Get a specific other absence shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The other absence shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAbsenceResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "OtherAbsence" ], "summary": "Update an other absence shortcut", "description": "Update an existing other absence shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/OtherAbsenceRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAbsenceResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "OtherAbsence" ], "summary": "Delete an other absence shortcut", "description": "Delete an other absence shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/otherabsence/{startDate}/{endDate}": { "get": { "tags": [ "OtherAbsence" ], "summary": "Get other absence shortcuts between dates", "description": "Get all other absence shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OtherAbsenceResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/otheradditiondeduction": { "post": { "tags": [ "OtherAdditionDeduction" ], "summary": "Create other addition and deduction shortcut", "description": "Create a new other addition and deduction shortcut for an employee. The shortcut will be registered for specified date based on provided rows.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/OtherAdditionDeductionRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAdditionDeductionResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/otheradditiondeduction/{shortcutId}": { "get": { "tags": [ "OtherAdditionDeduction" ], "summary": "Get other addition and deduction shortcut by id", "description": "Get a specific other addition and deduction shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The other addition and deduction shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAdditionDeductionResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "OtherAdditionDeduction" ], "summary": "Update other addition and deduction shortcut", "description": "Update an existing other addition and deduction shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/OtherAdditionDeductionRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAdditionDeductionResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "OtherAdditionDeduction" ], "summary": "Delete other addition and deduction shortcut", "description": "Delete other addition and deduction shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/otheradditiondeduction/{startDate}/{endDate}": { "get": { "tags": [ "OtherAdditionDeduction" ], "summary": "Get other addition and deduction shortcuts between dates", "description": "Get all other addition and deduction shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OtherAdditionDeductionResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/overtime": { "post": { "tags": [ "Overtime" ], "summary": "Create an overtime shortcut", "description": "Create a new overtime shortcut for an employee. The shortcut will be registered based on the specified registration method (time or hours).\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/OvertimeRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OvertimeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/overtime/{shortcutId}": { "get": { "tags": [ "Overtime" ], "summary": "Get an overtime shortcut by id", "description": "Get a specific overtime shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The overtime shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OvertimeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "Overtime" ], "summary": "Update an overtime shortcut", "description": "Update an existing overtime shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/OvertimeRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OvertimeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "Overtime" ], "summary": "Delete an overtime shortcut", "description": "Delete an overtime shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/overtime/{startDate}/{endDate}": { "get": { "tags": [ "Overtime" ], "summary": "Get overtime shortcuts between dates", "description": "Get all overtime shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OvertimeResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/parentalleave": { "post": { "tags": [ "ParentalLeave" ], "summary": "Create a parental leave shortcut", "description": "Create a new parental leave shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours or percentage).\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ParentalLeaveRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ParentalLeaveResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/parentalleave/{shortcutId}": { "get": { "tags": [ "ParentalLeave" ], "summary": "Get a parental leave shortcut by id", "description": "Get a specific parental leave shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The parental leave shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ParentalLeaveResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "ParentalLeave" ], "summary": "Update a parental leave shortcut", "description": "Update an existing parental leave shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ParentalLeaveRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ParentalLeaveResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "ParentalLeave" ], "summary": "Delete a parental leave shortcut", "description": "Delete a parental leave shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/parentalleave/{startDate}/{endDate}": { "get": { "tags": [ "ParentalLeave" ], "summary": "Get parental leave shortcuts between dates", "description": "Get all parental leave shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ParentalLeaveResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/paycodes": { "get": { "tags": [ "Paycodes" ], "summary": "Gets paycodes", "description": "Get all paycodes. Use query parameters to filter the results.\r\n\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfPayCodeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/paycodes/{paycodeId}": { "get": { "tags": [ "Paycodes" ], "summary": "Gets a paycode by id", "description": "Get a specific paycode by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n\r\n", "parameters": [ { "name": "paycodeId", "in": "path", "description": "Id of desired paycode", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayCodeResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/paycodes/travelandexpense": { "get": { "tags": [ "Paycodes" ], "summary": "Gets paycodes to use for travel and expense shortcut.", "description": "Gets paycodes to use for travel and expense shortcut.\r\nUse query parameters to select specific properties in the response.\r\nResponse containing lists of paycodes grouped by these categories: ReimbursmentPaycodes, AllowancePaycodes, BenefitPaycodes, CompensationPaycodes.\r\n\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TravelAndExpensePaycodesResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/paycodes/otheradditiondeduction": { "get": { "tags": [ "Paycodes" ], "summary": "Gets paycodes to use for other addition deduction shortcut.", "description": "Gets paycodes to use for other addition deduction shortcut. \r\nUse query parameters to select specific properties in the response.\r\nResponse containing lists of paycodes grouped by these categories: CompensationPaycodes, DeductionPaycodes, BenefitPaycodes, AdjustmentTaxPaycodes\r\n\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OtherAdditionDeductionPaycodesResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/payrollsettings": { "get": { "tags": [ "PayrollSettings" ], "summary": "Get payroll settings.", "description": "Get the payroll settings or NotFound status if using modifiedSinceUtc parameter and no results have been found after that date.\r\n\r\n", "parameters": [ { "name": "modifiedSinceUtc", "in": "query", "description": "Only return payroll settings if they have been changed after the date. Otherwise returns NotFound status.", "schema": { "type": "string", "format": "date-time" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayrollSettingsResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/payslips/wagerun/{wagerunId}": { "get": { "tags": [ "Payslips" ], "summary": "Gets payslips for specified wage run", "description": "Gets the payslips for a wagerun. Use query options ($filter, $select, $orderby, $top, $skip) to customize your request.\r\n \r\n\r\n", "parameters": [ { "name": "wagerunId", "in": "path", "description": "Id of wage run which payslips to return.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfPayslipResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/payslips/{payslipId}": { "get": { "tags": [ "Payslips" ], "summary": "Gets payslip by id", "description": "Gets a payslip by id. Use query parameters to select specific properties in the response.\r\n\r\n\r\n", "parameters": [ { "name": "payslipId", "in": "path", "description": "Id of wanted payslip.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PayslipResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/payslips/{employeeId}/withdetails": { "get": { "tags": [ "Payslips" ], "summary": "Gets all employees payslips with employee details", "description": "Get all payslips, both open and locked, with details on an employee. Use query options ($filter, $select, $orderby, $top, $skip) to customize your request.\r\nPayslip includes net, gross salaries and preliminary tax.\r\n\r\n", "parameters": [ { "name": "employeeId", "in": "path", "description": "Id of employee which payslips to return.", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfPayslipDetailedResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/migration/reportSettings/foramonthlyfok": { }, "/v2/migration/reportSettings/bygglosen": { }, "/v2/shortcuts/sickleave": { "post": { "tags": [ "SickLeave" ], "summary": "Create a sick leave shortcut", "description": "Create a new sick leave shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours, or percentage). If the end date is in a different month than the start date, the shortcut will be split into separate shortcuts for each month.\r\n\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SickLeaveRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SickLeaveResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/sickleave/{shortcutId}": { "get": { "tags": [ "SickLeave" ], "summary": "Get a sick leave shortcut by id", "description": "Get a specific sick leave shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The sick leave shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SickLeaveResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "SickLeave" ], "summary": "Update a sick leave shortcut", "description": "Update an existing sick leave shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SickLeaveRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SickLeaveResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "SickLeave" ], "summary": "Delete a sick leave shortcut", "description": "Delete a sick leave shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/sickleave/{startDate}/{endDate}": { "get": { "tags": [ "SickLeave" ], "summary": "Get sick leave shortcuts between dates", "description": "Get all sick leave shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SickLeaveResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/timebank": { "post": { "tags": [ "TimeBank" ], "summary": "Create a timebank shortcut", "description": "Create a new timebank shortcut for an employee. The shortcut will be registered based on the specified registration method (time or hours).\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeBankRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeBankResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/timebank/{shortcutId}": { "get": { "tags": [ "TimeBank" ], "summary": "Get a timebank shortcut by id", "description": "Get a specific timebank shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The timebank shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeBankResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "TimeBank" ], "summary": "Update a timebank shortcut", "description": "Update an existing timebank shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeBankRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeBankResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "TimeBank" ], "summary": "Delete a timebank shortcut", "description": "Delete a timebank shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/timebank/{startDate}/{endDate}": { "get": { "tags": [ "TimeBank" ], "summary": "Get timebank shortcuts between dates", "description": "Get all timebank shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TimeBankResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/timeruleannualdates": { "get": { "tags": [ "TimeRuleAnnualDates" ], "summary": "Get time rule annual dates", "description": "Get all time rule annual dates or add query parameters to filter the results. The response will include a collection of matched time rule annual dates with their information such as unique identifier, name, etc.\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfTimeRuleAnnualDateResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "TimeRuleAnnualDates" ], "summary": "Create an annual date for time rule", "description": "Create a new time rule annual date for a company. The annual date will be registered based on supplied information.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TimeRuleAnnualDateRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeRuleAnnualDateResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/timeruleannualdates/{timeRuleAnnualDateId}": { "get": { "tags": [ "TimeRuleAnnualDates" ], "summary": "Get time rule annual date by unique identifier", "description": "Get time rule annual date by specific identifier. The response will include a time rule annual date (if it's found) information such as unique identifier, name, etc.\r\n\r\n", "parameters": [ { "name": "timeRuleAnnualDateId", "in": "path", "description": "Time rule annual date unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeRuleAnnualDateResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/travelandexpense": { "post": { "tags": [ "TravelAndExpense" ], "summary": "Create a travel and expense shortcut", "description": "Create a new travel and expense shortcut for an employee. The shortcut will be registered for specified date based on provided rows.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TravelAndExpenseRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TravelAndExpenseResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/travelandexpense/{shortcutId}": { "get": { "tags": [ "TravelAndExpense" ], "summary": "Get a travel and expense shortcut by id", "description": "Get a specific travel and expense shortcut by its unique identifier. Use query parameters to select specific properties in the response.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The travel and expense shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TravelAndExpenseResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "put": { "tags": [ "TravelAndExpense" ], "summary": "Update a travel and expense shortcut", "description": "Update an existing travel and expense shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/TravelAndExpenseRequest" } ] } } } }, "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TravelAndExpenseResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "delete": { "tags": [ "TravelAndExpense" ], "summary": "Delete a travel and expense shortcut", "description": "Delete a travel and expense shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.\r\n\r\n", "parameters": [ { "name": "shortcutId", "in": "path", "description": "The shortcut id", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful" }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/shortcuts/travelandexpense/{startDate}/{endDate}": { "get": { "tags": [ "TravelAndExpense" ], "summary": "Get travel and expense shortcuts between dates", "description": "Get all travel and expense shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.\r\n\r\n", "parameters": [ { "name": "startDate", "in": "path", "description": "Start date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "path", "description": "End date in format yyyy-MM-dd", "required": true, "schema": { "type": "string", "format": "date-time" } }, { "name": "includeOnlySameClientShortcuts", "in": "query", "description": "If true, only includes shortcuts created by the same client", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TravelAndExpenseResponse" } } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/wageruns": { "get": { "tags": [ "WageRuns" ], "summary": "Get wage runs", "description": "Get all wage runs or add query parameters to filter the results. The response will include a collection of matched wage runs with their information such as wage run unique identifier, payment period dates, associated payslips, etc.\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfWageRunResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/wageruns/{wagerunId}": { "get": { "tags": [ "WageRuns" ], "summary": "Get wage run by unique identifier", "description": "Get wage run by specific identifier. The response will include a wage run (if it's found) information such as wage run unique identifier, payment period dates, associated payslips, etc.\r\n\r\n", "parameters": [ { "name": "wagerunId", "in": "path", "description": "Wage run unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfWageRunResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/workdayoverrides": { "get": { "tags": [ "WorkDayOverrides" ], "summary": "Get work day overrides", "description": "Get all work day overrides or add query parameters to filter the results. The response will include a collection of matched work day overrides with their information such as unique identifier, date, working times/duration, etc.\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfWorkDayOverrideResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "WorkDayOverrides" ], "summary": "Create a work day override", "description": "Create a new work day override for an employee. The work day override will be registered based on the supplied information.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/WorkDayOverrideRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkDayOverrideResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/workdayoverrides/{workDayOverrideId}": { "get": { "tags": [ "WorkDayOverrides" ], "summary": "Get work day override by unique identifier", "description": "Get work day override by specific identifier. The response will include a work day override (if it's found) information such as unique identifier, date, working times/duration, etc.\r\n\r\n", "parameters": [ { "name": "workDayOverrideId", "in": "path", "description": "Work day override unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkDayOverrideResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/workschedules": { "get": { "tags": [ "WorkSchedules" ], "summary": "Get work schedules", "description": "Get all work schedules or add query parameters to filter the results. The response will include a collection of matched work schedules with their information such as unique identifier, date, working days, seasons, etc.\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfWorkScheduleResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "WorkSchedules" ], "summary": "Create a work schedule", "description": "Create a new work schedule for a company. The work schedule will be registered based on the supplied information.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/WorkScheduleRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkScheduleResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/workschedules/{workScheduleId}": { "get": { "tags": [ "WorkSchedules" ], "summary": "Get work schedule by unique identifier", "description": "Get work schedule by specific identifier. The response will include a work schedule (if it's found) information such as unique identifier, date, working days, seasons, etc.\r\n\r\n", "parameters": [ { "name": "workScheduleId", "in": "path", "description": "Work schedule unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkScheduleResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/workscheduletimeadjustments": { "get": { "tags": [ "WorkScheduleTimeAdjustments" ], "summary": "Get work schedule time adjustments", "description": "Get all work schedule time adjustments or add query parameters to filter the results. The response will include a collection of matched work schedule time adjustments with their information such as unique identifier, name, work days, etc.\r\n\r\n", "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedResponseOfWorkScheduleTimeAdjustmentResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } }, "post": { "tags": [ "WorkScheduleTimeAdjustments" ], "summary": "Create a work schedule time adjustment", "description": "Create a new work schedule time adjustment for a company. The work schedule time adjustment will be registered based on the supplied information.\r\n\r\n", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/WorkScheduleTimeAdjustmentRequest" } ] } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkScheduleTimeAdjustmentResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } }, "/v2/workscheduletimeadjustments/{workScheduleTimeAdjustmentId}": { "get": { "tags": [ "WorkScheduleTimeAdjustments" ], "summary": "Get work schedule time adjustment by unique identifier", "description": "Get work schedule time adjustment by specific identifier. The response will include a work schedule time adjustment (if it's found) information such as unique identifier, name, work days, etc.\r\n\r\n", "parameters": [ { "name": "workScheduleTimeAdjustmentId", "in": "path", "description": "Work schedule time adjustment unique identifier", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Request successful", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkScheduleTimeAdjustmentResponse" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommonExtendedBadRequest" } } } } } } } }, "components": { "schemas": { "AddAgreementToEmployeeRequest": { "required": [ "ActiveFromUtc", "AgreementId", "HasConfidenceTime" ], "type": "object", "properties": { "AgreementId": { "type": "string", "description": "Unique identifier of the agreement to assign to the employee", "format": "uuid" }, "ActiveFromUtc": { "type": "string", "description": "Date from which the agreement becomes active for the employee (UTC)", "format": "date-time" }, "HasConfidenceTime": { "type": "boolean", "description": "Indicates whether the agreement includes confidence time provisions" } }, "additionalProperties": false }, "AddAgreementToEmployeeResponse": { "type": "object", "properties": { "AgreementId": { "type": "string", "description": "Unique identifier of the agreement that was assigned", "format": "uuid" }, "Success": { "type": "boolean", "description": "Indicates whether the agreement was successfully added to the employee" }, "ValidationError": { "allOf": [ { "$ref": "#/components/schemas/CommonValidationError" } ], "description": "Validation error details if the operation was not successful", "nullable": true } }, "additionalProperties": false }, "AddWorkScheduleToEmployeeRequest": { "required": [ "ActiveSince", "WorkScheduleId", "WorkWeekCycleStart" ], "type": "object", "properties": { "WorkScheduleId": { "type": "string", "description": "Unique identifier of the work schedule to assign to the employee", "format": "uuid" }, "WorkWeekCycleStart": { "type": "integer", "description": "Starting week number in the work week cycle. Default 0 when the schedule only has one work week. If the schedule has more than one week, set the start week for the employee", "format": "int32" }, "ActiveSince": { "type": "string", "description": "Date from which the work schedule becomes active for the employee", "format": "date-time" } }, "additionalProperties": false }, "AddWorkScheduleToEmployeeResponse": { "type": "object", "properties": { "WorkScheduleId": { "type": "string", "description": "Unique identifier of the work schedule that was assigned", "format": "uuid" }, "Success": { "type": "boolean", "description": "Indicates whether the work schedule was successfully added to the employee" }, "ValidationError": { "allOf": [ { "$ref": "#/components/schemas/CommonValidationError" } ], "description": "Validation error details if the operation was not successful", "nullable": true } }, "additionalProperties": false }, "AgreementResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the agreement", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the agreement", "nullable": true }, "UsesOvertime": { "type": "boolean", "description": "Indicates whether overtime compensation is enabled for this agreement" }, "Overtime1CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 1 compensation begins", "format": "int32", "nullable": true }, "Overtime2CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 2 compensation begins", "format": "int32", "nullable": true }, "Overtime3CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 3 compensation begins", "format": "int32", "nullable": true }, "Overtime4CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 4 compensation begins", "format": "int32", "nullable": true }, "UsesInconvenientTime": { "type": "boolean", "description": "Indicates whether inconvenient time is enabled for this agreement" }, "Discriminator": { "type": "string", "description": "Type discriminator for the agreement.", "nullable": true }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the agreement was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the agreement was last modified", "format": "date-time" }, "CompensateInMoney": { "type": "boolean", "description": "Indicates whether overtime can be compensated in money" }, "CompensateInTime": { "type": "boolean", "description": "Indicates whether overtime can be compensated in time off" }, "CompensateInTimeAndMoney": { "type": "boolean", "description": "Indicates whether overtime can be compensated in a combination of time off and money" }, "OrdinaryScheduleStartTime": { "type": "string", "description": "Start time of the ordinary work schedule (format: HH:mm)", "nullable": true }, "ExtraTimeCompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which extra time compensation begins", "format": "int32", "nullable": true }, "CompMinInHoursAndMinutes": { "type": "string", "description": "Minimum compensation limit in hours and minutes format (HH:mm)", "nullable": true }, "CompMaxInHoursAndMinutes": { "type": "string", "description": "Maximum compensation limit in hours and minutes format (HH:mm)", "nullable": true }, "CompensationTime1Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 1 (e.g., 1.5 means 150%)", "format": "double" }, "CompensationTime2Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 2 (e.g., 2.0 means 200%)", "format": "double" }, "CompensationTime3Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 3 (e.g., 2.5 means 250%)", "format": "double" }, "CompensationTime4Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 4", "format": "double" }, "UsesTwoHoursRule": { "type": "boolean", "description": "Indicates whether the two-hour rule is applied" }, "UsesExtraTime": { "type": "boolean", "description": "Indicates whether extra time compensation is enabled for this agreement" }, "OvertimeCodeBeforeTwoHours": { "type": "integer", "description": "Overtime code to use before the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#overtimecode", "format": "int32", "nullable": true }, "OvertimeCodeAfterTwoHours": { "type": "integer", "description": "Overtime code to use after the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#overtimecode", "format": "int32", "nullable": true }, "CompensationCodeBeforeTwoHours": { "type": "integer", "description": "Compensation code to use before the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#compensationtimecode", "format": "int32", "nullable": true }, "CompensationCodeAfterTwoHours": { "type": "integer", "description": "Compensation code to use after the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#compensationtimecode", "format": "int32", "nullable": true }, "IsActive": { "type": "boolean", "description": "Indicates whether the agreement is currently active and can be used" }, "InconvenientTimeRules": { "type": "array", "items": { "$ref": "#/components/schemas/InconvenientTimeRuleResponse" }, "description": "Collection of inconvenient time rules associated with this agreement", "nullable": true }, "OverTimeRules": { "type": "array", "items": { "$ref": "#/components/schemas/OverTimeRuleResponse" }, "description": "Collection of overtime rules associated with this agreement", "nullable": true } }, "additionalProperties": false }, "BreakRuleResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the break rule", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the break rule", "nullable": true }, "StartTime": { "type": "string", "description": "Start time of the break period in HH:mm format", "nullable": true }, "EndTime": { "type": "string", "description": "End time of the break period in HH:mm format", "nullable": true }, "MinLengthInMinutes": { "type": "integer", "description": "Minimum length of the break in minutes", "format": "int32" }, "NormalLengthInMinutes": { "type": "integer", "description": "Normal expected length of the break in minutes", "format": "int32" }, "Type": { "type": "integer", "description": "Type of break
Possible values: 0 - Lunch, 1 - FirstBreak, 2 - SecondBreak", "format": "int32", "nullable": true }, "Comment": { "type": "string", "description": "Additional comments or notes about the break rule", "nullable": true }, "CreatedUtc": { "type": "string", "description": "Timestamp when the break rule was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp when the break rule was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "ByggLosenEmployeeConnectionMigrationRequest": { "type": "object", "properties": { "StartDate": { "type": "string", "description": "Start date of the Bygglösen employee connection", "format": "date-time" }, "AgreementAreaId": { "type": "integer", "description": "Identifier of the Bygglösen agreement area", "format": "int32" }, "SCBMunicipalId": { "type": "integer", "description": "SCB municipality identifier for the workplace", "format": "int32", "nullable": true }, "WorkCodeId": { "type": "integer", "description": "Identifier of the work code", "format": "int32" }, "AllotmentNumber": { "type": "integer", "description": "Allotment number for the Bygglösen connection", "format": "int32" }, "IsMetalAndVentilation": { "type": "boolean", "description": "Indicates whether the employee works in metal and ventilation" }, "WorkCategoryId": { "type": "integer", "description": "Identifier of the work category", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ByggLosenEmployeeConnectionMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the Bygglösen employee connection", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date of the Bygglösen employee connection", "format": "date-time" }, "AgreementArea": { "type": "integer", "description": "Agreement area for the Bygglösen connection", "format": "int32" }, "WorkPlaceId": { "type": "integer", "description": "Identifier of the workplace", "format": "int32", "nullable": true }, "WorkCodeId": { "type": "string", "description": "Identifier of the work code", "format": "uuid" }, "AllotmentNumber": { "type": "integer", "description": "Allotment number for the Bygglösen connection", "format": "int32" }, "IsMetalAndVentilation": { "type": "boolean", "description": "Indicates whether the employee works in metal and ventilation" }, "WorkCategoryId": { "type": "string", "description": "Identifier of the work category", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "ByggLosenResponse": { "required": [ "AgreementAreaCodes", "SCBMunicipalCodes", "WorkCategories", "WorkCodes" ], "type": "object", "properties": { "SCBMunicipalCodes": { "type": "array", "items": { "$ref": "#/components/schemas/Municipal" }, "description": "SCB municipal codes", "nullable": true }, "WorkCodes": { "type": "array", "items": { "$ref": "#/components/schemas/WorkType" }, "description": "Work type codes", "nullable": true }, "WorkCategories": { "type": "array", "items": { "$ref": "#/components/schemas/WorkCategory" }, "description": "Work categories", "nullable": true }, "AgreementAreaCodes": { "type": "array", "items": { "type": "integer", "format": "int32" }, "description": "Agreement area codes", "nullable": true } }, "additionalProperties": false }, "CPDateControlledValueMigrationRequest": { "type": "object", "properties": { "Value": { "type": "string", "description": "The value associated with the date-controlled entry", "nullable": true }, "StartDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time" }, "EndDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CPDateControlledValueMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the date-controlled value entry", "format": "uuid" }, "Value": { "type": "string", "description": "The value associated with the date-controlled entry", "nullable": true }, "StartDate": { "type": "string", "description": "Start date of the validity period. Format: YYYY-MM-DD", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date of the validity period. Format: YYYY-MM-DD", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CPEmployeeBankAndTaxMigrationRequest": { "type": "object", "properties": { "PaymentMethod": { "type": "integer", "description": "Payment method for the employee's salary disbursement
Possible values: 1 - Cash, 2 - Bank, 3 - Plusgiro, 4 - Manual", "format": "int32", "nullable": true }, "ClearingNumber": { "type": "string", "description": "Used for payment method Bank", "nullable": true }, "AccountNumber": { "type": "string", "description": "Used for payment method Bank", "nullable": true }, "LedgerAccountNumber": { "type": "integer", "description": "Ledger account number for salary bookkeeping", "format": "int64", "nullable": true }, "ProjectId": { "type": "string", "description": "Project identifier for salary bookkeeping", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center identifier for salary bookkeeping", "format": "uuid", "nullable": true }, "TaxTable": { "type": "integer", "description": "Tax table number applied to the employee", "format": "int32", "nullable": true }, "LowerLimitTax": { "type": "integer", "description": "Lower limit tax rule applied to the employee
Possible values: 1 - Normal, 2 - Rule1K, 3 - Student, 4 - AthleteInNonProfit", "format": "int32", "nullable": true }, "LowerLimitEmployersContribution": { "type": "integer", "description": "Lower limit employer contribution rule applied to the employee
Possible values: 1 - Normal, 2 - Rule1K, 3 - AthleteInNonProfit", "format": "int32", "nullable": true }, "NonRecurringTax": { "type": "number", "description": "Non-recurring tax amount", "format": "double", "nullable": true }, "NonRecurringTaxType": { "type": "integer", "description": "Determines whether the non-recurring tax amount is entered manually or calculated automatically
Possible values: 1 - Own, 2 - Calculated", "format": "int32", "nullable": true }, "WorkExpenseDeduction": { "type": "number", "description": "Work expense deduction amount", "format": "double", "nullable": true }, "IsResearchAndDevelopment": { "type": "boolean", "description": "Indicates whether the employee works in research and development", "nullable": true }, "HasRegionalSupport": { "type": "boolean", "description": "Indicates whether the employee qualifies for regional support (regionalt stöd)", "nullable": true }, "EstablishmentNumber": { "type": "string", "description": "Employer's establishment number (arbetsställenummer)", "nullable": true }, "WorkPlaceAddress": { "type": "string", "description": "Address of the employee's workplace", "nullable": true }, "WorkPlaceCity": { "type": "string", "description": "City of the employee's workplace", "nullable": true }, "WorkPlaceType": { "type": "integer", "description": "Indicates whether the workplace is the company's address or a custom own address
Possible values: 0 - Company, 1 - Own", "format": "int32" }, "PlaceOfBirth": { "type": "string", "description": "Employee's place of birth", "nullable": true }, "CountryPlaceOfBirth": { "type": "string", "description": "Get from eAccounting API, /v2/countries/{countrycode}", "nullable": true }, "CountryCitizen": { "type": "string", "description": "Get from eAccounting API, /v2/countries/{countrycode}", "nullable": true }, "TaxDeduction": { "type": "number", "description": "Tax deduction amount (jämkning)", "format": "double", "nullable": true }, "AdditionalTaxDeduction": { "type": "number", "description": "Additional tax deduction amount", "format": "double", "nullable": true } }, "additionalProperties": false }, "CPEmployeeBankAndTaxMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the bank and tax entry", "format": "uuid" }, "PaymentMethod": { "type": "integer", "description": "Payment method for the employee's salary disbursement
Possible values: 1 - Cash, 2 - Bank, 3 - Plusgiro, 4 - Manual", "format": "int32", "nullable": true }, "ClearingNumber": { "type": "string", "description": "Bank clearing number used for salary payments", "nullable": true }, "AccountNumber": { "type": "string", "description": "Bank account number used for salary payments", "nullable": true }, "LedgerAccountNumber": { "type": "integer", "description": "Ledger account number for salary bookkeeping", "format": "int64", "nullable": true }, "ProjectId": { "type": "string", "description": "Project identifier for salary bookkeeping", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center identifier for salary bookkeeping", "format": "uuid", "nullable": true }, "TaxTable": { "type": "integer", "description": "Tax table number applied to the employee", "format": "int32", "nullable": true }, "LowerLimitTax": { "type": "integer", "description": "Lower limit tax rule applied to the employee
Possible values: 1 - Normal, 2 - Rule1K, 3 - Student, 4 - AthleteInNonProfit", "format": "int32", "nullable": true }, "LowerLimitEmployersContribution": { "type": "integer", "description": "Lower limit employer contribution rule applied to the employee
Possible values: 1 - Normal, 2 - Rule1K, 3 - AthleteInNonProfit", "format": "int32", "nullable": true }, "NonRecurringTax": { "type": "number", "description": "Non-recurring tax amount", "format": "double", "nullable": true }, "NonRecurringTaxType": { "type": "integer", "description": "Determines whether the non-recurring tax amount is entered manually or calculated automatically
Possible values: 1 - Own, 2 - Calculated", "format": "int32", "nullable": true }, "WorkExpenseDeduction": { "type": "number", "description": "Work expense deduction amount", "format": "double", "nullable": true }, "IsResearchAndDevelopment": { "type": "boolean", "description": "Indicates whether the employee works in research and development", "nullable": true }, "HasRegionalSupport": { "type": "boolean", "description": "Indicates whether the employee qualifies for regional support (regionalt stöd)", "nullable": true }, "EstablishmentNumber": { "type": "string", "description": "Employer's establishment number (arbetsställenummer)", "nullable": true }, "WorkPlaceAddress": { "type": "string", "description": "Address of the employee's workplace", "nullable": true }, "WorkPlaceCity": { "type": "string", "description": "City of the employee's workplace", "nullable": true }, "WorkPlaceType": { "type": "integer", "description": "Indicates whether the workplace is the company's address or a custom own address
Possible values: 0 - Company, 1 - Own", "format": "int32" }, "PlaceOfBirth": { "type": "string", "description": "Employee's place of birth", "nullable": true }, "CountryPlaceOfBirth": { "type": "string", "description": "Country code of the employee's place of birth", "nullable": true }, "CountryCitizen": { "type": "string", "description": "Country code of the employee's citizenship", "nullable": true }, "TaxDeduction": { "type": "number", "description": "Tax deduction amount (jämkning)", "format": "double", "nullable": true } }, "additionalProperties": false }, "CPEmployeeEntryValueMigrationRequest": { "type": "object", "properties": { "PersonalEntryValueDate": { "type": "string", "description": "Date from which the opening balance values apply", "format": "date-time", "nullable": true }, "GrossSalaryPaid": { "type": "number", "description": "Gross salary paid as opening balance", "format": "double", "nullable": true }, "DeductedTax": { "type": "number", "description": "Tax deducted as opening balance", "format": "double", "nullable": true }, "Benefit": { "type": "number", "description": "Benefits value as opening balance", "format": "double", "nullable": true }, "WorkedHours": { "type": "number", "description": "Worked hours as opening balance", "format": "double", "nullable": true }, "OverTime": { "type": "number", "description": "Overtime hours as opening balance", "format": "double", "nullable": true }, "AdditionalTime": { "type": "number", "description": "Additional time hours as opening balance", "format": "double", "nullable": true }, "CompensationTime": { "type": "number", "description": "Compensation time hours as opening balance", "format": "double", "nullable": true }, "WorkingTimeReserve": { "type": "number", "description": "Working time reserve hours as opening balance", "format": "double", "nullable": true }, "HolidayDaysPaidWithdrawn": { "type": "number", "description": "Number of paid holiday days withdrawn as opening balance", "format": "double", "nullable": true }, "HolidayDaysUnpaidWithdrawn": { "type": "number", "description": "Number of unpaid holiday days withdrawn as opening balance", "format": "double", "nullable": true }, "HolidayDaysAdvanceWithdrawn": { "type": "number", "description": "Number of advance holiday days withdrawn as opening balance", "format": "double", "nullable": true }, "HolidayBasedWorkingHours": { "type": "number", "description": "Holiday-based working hours as opening balance", "format": "double", "nullable": true }, "HolidayBasedAbsenceWorkingDaysHours": { "type": "number", "description": "Holiday-based absence working day hours as opening balance", "format": "double", "nullable": true }, "HolidayBasedAbsenceWorkingDays": { "type": "number", "description": "Holiday-based absence working days as opening balance", "format": "double", "nullable": true }, "NonHolidayBasedAbsenceCalendarDaysHours": { "type": "number", "description": "Non-holiday-based absence calendar day hours as opening balance", "format": "double", "nullable": true }, "NonHolidayBasedAbsenceCalendarDays": { "type": "number", "description": "Non-holiday-based absence calendar days as opening balance", "format": "double", "nullable": true }, "HolidayBasedPay": { "type": "number", "description": "Holiday-based pay as opening balance", "format": "double", "nullable": true }, "HolidayBasedVariable": { "type": "number", "description": "Holiday-based variable pay as opening balance", "format": "double", "nullable": true }, "HolidayBasedAdvancePay": { "type": "number", "description": "Holiday-based advance pay as opening balance", "format": "double", "nullable": true }, "HolidayAdditionPaid": { "type": "boolean", "description": "Indicates whether holiday addition has been paid as opening balance", "nullable": true } }, "additionalProperties": false }, "CPEmployeeEntryValueMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the entry value record", "format": "uuid" }, "PersonalEntryValueDate": { "type": "string", "description": "Date from which the opening balance values apply", "format": "date-time", "nullable": true }, "GrossSalaryPaid": { "type": "number", "description": "Gross salary paid as opening balance", "format": "double", "nullable": true }, "DeductedTax": { "type": "number", "description": "Tax deducted as opening balance", "format": "double", "nullable": true }, "Benefit": { "type": "number", "description": "Benefits value as opening balance", "format": "double", "nullable": true }, "WorkedHours": { "type": "number", "description": "Worked hours as opening balance", "format": "double", "nullable": true }, "OverTime": { "type": "number", "description": "Overtime hours as opening balance", "format": "double", "nullable": true }, "AdditionalTime": { "type": "number", "description": "Additional time hours as opening balance", "format": "double", "nullable": true }, "CompensationTime": { "type": "number", "description": "Compensation time hours as opening balance", "format": "double", "nullable": true }, "WorkingTimeReserve": { "type": "number", "description": "Working time reserve hours as opening balance", "format": "double", "nullable": true }, "HolidayDaysPaidWithdrawn": { "type": "number", "description": "Number of paid holiday days withdrawn as opening balance", "format": "double", "nullable": true }, "HolidayDaysUnpaidWithdrawn": { "type": "number", "description": "Number of unpaid holiday days withdrawn as opening balance", "format": "double", "nullable": true }, "HolidayDaysAdvanceWithdrawn": { "type": "number", "description": "Number of advance holiday days withdrawn as opening balance", "format": "double", "nullable": true }, "HolidayBasedWorkingHours": { "type": "number", "description": "Holiday-based working hours as opening balance", "format": "double", "nullable": true }, "HolidayBasedAbsenceWorkingDaysHours": { "type": "number", "description": "Holiday-based absence working day hours as opening balance", "format": "double", "nullable": true }, "HolidayBasedAbsenceWorkingDays": { "type": "number", "description": "Holiday-based absence working days as opening balance", "format": "double", "nullable": true }, "NonHolidayBasedAbsenceCalendarDaysHours": { "type": "number", "description": "Non-holiday-based absence calendar day hours as opening balance", "format": "double", "nullable": true }, "NonHolidayBasedAbsenceCalendarDays": { "type": "number", "description": "Non-holiday-based absence calendar days as opening balance", "format": "double", "nullable": true }, "HolidayBasedPay": { "type": "number", "description": "Holiday-based pay as opening balance", "format": "double", "nullable": true }, "HolidayBasedVariable": { "type": "number", "description": "Holiday-based variable pay as opening balance", "format": "double", "nullable": true }, "HolidayBasedAdvancePay": { "type": "number", "description": "Holiday-based advance pay as opening balance", "format": "double", "nullable": true }, "HolidayAdditionPaid": { "type": "boolean", "description": "Indicates whether holiday addition has been paid as opening balance", "nullable": true } }, "additionalProperties": false }, "CPEmployeeHolidayYearMigrationRequest": { "type": "object", "properties": { "PeriodStart": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time" }, "PeriodEnd": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time" }, "CurrentPeriod": { "type": "boolean", "description": "Indicates whether this is the current active holiday period" }, "DaysRightGross": { "type": "integer", "description": "Total number of holiday days entitled in the period", "format": "int32" }, "DaysPaidInGross": { "type": "number", "description": "Number of paid holiday days available in the period", "format": "double" }, "DaysUnpaidInGross": { "type": "number", "description": "Number of unpaid holiday days available in the period", "format": "double" }, "DaysAdvanceInGross": { "type": "number", "description": "Number of advance holiday days available in the period", "format": "double" }, "DaysSavedInGross": { "type": "number", "description": "Number of holiday days saved from the period", "format": "double" }, "WorkingProc": { "type": "number", "description": "Degree of employment used for holiday calculation", "format": "double" }, "UserDefWorkingProc": { "type": "number", "description": "User-defined degree of employment for holiday calculation", "format": "double", "nullable": true }, "DailyPayGross": { "type": "number", "description": "Daily pay amount used for holiday calculations", "format": "double" }, "SavedDailyPayGross": { "type": "number", "description": "Daily pay amount for saved holiday days", "format": "double" }, "SavedDailyPayPrevYearGross": { "type": "number", "description": "Daily pay amount for saved holiday days from the previous year", "format": "double" }, "VariablePay": { "type": "number", "description": "Variable pay amount for holiday calculations", "format": "double" }, "AdditionForSavedDaysIsPaid": { "type": "boolean", "description": "Indicates whether holiday addition for saved days has been paid out" } }, "additionalProperties": false }, "CPEmployeeHolidayYearMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the holiday year record", "format": "uuid" }, "PeriodStart": { "type": "string", "description": "Start date of the holiday period. Format: YYYY-MM-DD", "format": "date-time" }, "PeriodEnd": { "type": "string", "description": "End date of the holiday period. Format: YYYY-MM-DD", "format": "date-time" }, "CurrentPeriod": { "type": "boolean", "description": "Indicates whether this is the current active holiday period" }, "DaysRightGross": { "type": "integer", "description": "Total number of holiday days entitled in the period", "format": "int32" }, "DaysPaidInGross": { "type": "number", "description": "Number of paid holiday days available in the period", "format": "double" }, "DaysUnpaidInGross": { "type": "number", "description": "Number of unpaid holiday days available in the period", "format": "double" }, "DaysAdvanceInGross": { "type": "number", "description": "Number of advance holiday days available in the period", "format": "double" }, "DaysSavedInGross": { "type": "number", "description": "Number of holiday days saved from the period", "format": "double" }, "WorkingProc": { "type": "number", "description": "Degree of employment used for holiday calculation", "format": "double" }, "UserDefWorkingProc": { "type": "number", "description": "User-defined degree of employment for holiday calculation", "format": "double", "nullable": true }, "DailyPayGross": { "type": "number", "description": "Daily pay amount used for holiday calculations", "format": "double" }, "SavedDailyPayGross": { "type": "number", "description": "Daily pay amount for saved holiday days", "format": "double" }, "SavedDailyPayPrevYearGross": { "type": "number", "description": "Daily pay amount for saved holiday days from the previous year", "format": "double" }, "VariablePay": { "type": "number", "description": "Variable pay amount for holiday calculations", "format": "double" }, "AdditionForSavedDaysIsPaid": { "type": "boolean", "description": "Indicates whether holiday addition for saved days has been paid out" } }, "additionalProperties": false }, "CPEmployeeSalaryMigrationRequest": { "type": "object", "properties": { "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "StartDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time" }, "Value": { "type": "number", "description": "Salary amount", "format": "double" }, "SickSalary": { "type": "number", "description": "Salary amount used for sick pay calculations", "format": "double", "nullable": true }, "WeekendSalary": { "type": "number", "description": "Salary amount for weekend work", "format": "double", "nullable": true }, "GrossPayExchangeSalary": { "type": "number", "description": "Salary amount used for gross pay exchange", "format": "double", "nullable": true }, "SalaryRate": { "type": "number", "description": "Degree of employment as a percentage (e.g. 100 for full-time)", "format": "double" }, "FullTimeSalary": { "type": "number", "description": "Full-time equivalent salary amount", "format": "double" } }, "additionalProperties": false }, "CPEmployeeSalaryMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the salary entry", "format": "uuid" }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "StartDate": { "type": "string", "description": "Start date of the salary entry. Format: YYYY-MM-DD", "format": "date-time" }, "Value": { "type": "number", "description": "Salary amount", "format": "double" }, "SickSalary": { "type": "number", "description": "Salary amount used for sick pay calculations", "format": "double", "nullable": true }, "WeekendSalary": { "type": "number", "description": "Salary amount for weekend work", "format": "double", "nullable": true }, "GrossPayExchangeSalary": { "type": "number", "description": "Salary amount used for gross pay exchange", "format": "double", "nullable": true }, "SalaryRate": { "type": "number", "description": "Degree of employment as a percentage (e.g. 100 for full-time)", "format": "double" }, "FullTimeSalary": { "type": "number", "description": "Full-time equivalent salary amount", "format": "double" } }, "additionalProperties": false }, "CarBenefitHistoryMigrationRequest": { "type": "object", "properties": { "ModelCode": { "type": "string", "description": "Vehicle model code", "nullable": true }, "MonthlyCarBenefit": { "type": "integer", "description": "Monthly car benefit amount", "format": "int32", "nullable": true }, "TaxYear": { "type": "integer", "description": "Tax year the car benefit applies to", "format": "int32" }, "CarTax": { "type": "integer", "description": "Annual car tax amount", "format": "int32", "nullable": true }, "AdditionalEquipment": { "type": "integer", "description": "Value of additional equipment on the vehicle", "format": "int32", "nullable": true }, "FirstRegistrationDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "Over30000km": { "type": "boolean", "description": "Indicates whether the vehicle has been driven more than 30 000 km", "nullable": true }, "UntilDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CarBenefitHistoryMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the car benefit history entry", "format": "uuid" }, "ModelCode": { "type": "string", "description": "Vehicle model code", "nullable": true }, "MonthlyCarBenefit": { "type": "integer", "description": "Monthly car benefit amount", "format": "int32", "nullable": true }, "TaxYear": { "type": "integer", "description": "Tax year the car benefit applies to", "format": "int32" }, "CarTax": { "type": "integer", "description": "Annual car tax amount", "format": "int32", "nullable": true }, "AdditionalEquipment": { "type": "integer", "description": "Value of additional equipment on the vehicle", "format": "int32", "nullable": true }, "FirstRegistrationDate": { "type": "string", "description": "First registration date of the vehicle. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "Over30000km": { "type": "boolean", "description": "Indicates whether the vehicle has been driven more than 30 000 km", "nullable": true }, "UntilDate": { "type": "string", "description": "End date of the car benefit period. Format: YYYY-MM-DD", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "CareOfSickChildRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "CareOfSickChildResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "CommonError": { "type": "object", "properties": { "Field": { "type": "string", "nullable": true }, "ErrorCode": { "type": "string", "nullable": true }, "Message": { "type": "string", "nullable": true }, "Key": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CommonExtendedBadRequest": { "type": "object", "properties": { "ErrorCode": { "type": "integer", "format": "int32" }, "DeveloperErrorMessage": { "type": "string", "nullable": true }, "ErrorId": { "type": "string", "format": "uuid" }, "Errors": { "type": "array", "items": { "$ref": "#/components/schemas/CommonError" }, "nullable": true } }, "additionalProperties": false }, "CommonPaginationMetadata": { "required": [ "CurrentPage", "PageSize", "ServerTimeUtc", "TotalNumberOfPages", "TotalNumberOfResults" ], "type": "object", "properties": { "CurrentPage": { "type": "integer", "description": "The current page number", "format": "int32" }, "PageSize": { "type": "integer", "description": "The number of results per page", "format": "int32" }, "TotalNumberOfPages": { "type": "integer", "description": "The total number of pages available", "format": "int32" }, "TotalNumberOfResults": { "type": "integer", "description": "The total number of results available for the query", "format": "int32" }, "ServerTimeUtc": { "type": "string", "description": "The date-time notation as defined by RFC 3339, section 5.6 2017-07-21T17:32:28Z", "format": "date-time" } }, "additionalProperties": false }, "CommonValidationError": { "type": "object", "properties": { "ErrorCode": { "type": "string", "nullable": true }, "ErrorMessage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateAgreementRequest": { "required": [ "Discriminator", "Name", "UsesOvertime" ], "type": "object", "properties": { "Name": { "minLength": 1, "type": "string", "description": "Name of the agreement" }, "UsesOvertime": { "type": "boolean", "description": "Indicates whether overtime compensation is enabled for this agreement. When set to true, overtime rules must be provided" }, "Overtime1CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 1 compensation begins", "format": "int32", "nullable": true }, "Overtime2CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 2 compensation begins", "format": "int32", "nullable": true }, "Overtime3CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 3 compensation begins", "format": "int32", "nullable": true }, "Overtime4CompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which overtime level 4 compensation begins", "format": "int32", "nullable": true }, "UsesInconvenientTime": { "type": "boolean", "description": "Indicates whether inconvenient time compensation is enabled for this agreement. When set to true, inconvenient time rules must be provided" }, "Discriminator": { "minLength": 1, "type": "string", "description": "Type discriminator for the agreement. Possible values are: HotelAgreement or WhiteCollarAgreement" }, "CompensateInMoney": { "type": "boolean", "description": "Indicates whether overtime can be compensated in money" }, "CompensateInTime": { "type": "boolean", "description": "Indicates whether overtime can be compensated in time off" }, "ExtraTimeCompensationAfterMinutes": { "type": "integer", "description": "Number of minutes after which extra time compensation begins", "format": "int32", "nullable": true }, "CompMinInHoursAndMinutes": { "type": "string", "description": "Minimum compensation limit in hours and minutes format (HH:mm)", "nullable": true }, "CompMaxInHoursAndMinutes": { "type": "string", "description": "Maximum compensation limit in hours and minutes format (HH:mm)", "nullable": true }, "CompensationTime1Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 1 (e.g., 1.5 means 150%)", "format": "double" }, "CompensationTime2Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 2 (e.g., 2.0 means 200%)", "format": "double" }, "CompensationTime3Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 3 (e.g., 2.5 means 250%)", "format": "double" }, "CompensationTime4Multiplier": { "type": "number", "description": "Multiplier factor for calculating time compensation at level 4. Only applied when provided; omit to keep the agreement's default.", "format": "double", "nullable": true }, "UsesTwoHoursRule": { "type": "boolean", "description": "Indicates whether the two-hour rule is applied" }, "UsesExtraTime": { "type": "boolean", "description": "Indicates whether extra time compensation is enabled for this agreement" }, "OvertimeCodeBeforeTwoHours": { "type": "integer", "description": "Overtime code to use before the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#overtimecode", "format": "int32", "nullable": true }, "OvertimeCodeAfterTwoHours": { "type": "integer", "description": "Overtime code to use after the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#overtimecode", "format": "int32", "nullable": true }, "CompensationCodeBeforeTwoHours": { "type": "integer", "description": "Compensation code to use before the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#compensationtimecode", "format": "int32", "nullable": true }, "CompensationCodeAfterTwoHours": { "type": "integer", "description": "Compensation code to use after the two-hour threshold is reached. For possible enum values see https://developer.vismaonline.com/docs/enums#compensationtimecode", "format": "int32", "nullable": true }, "IsActive": { "type": "boolean", "description": "Indicates whether the agreement is currently active and can be used. Default: True if not provided", "nullable": true }, "InconvenientTimeRules": { "type": "array", "items": { "$ref": "#/components/schemas/InconvenientTimeRuleRequest" }, "description": "Collection of inconvenient time rules to apply to the agreement. Required if UsesInconvenientTime is true", "nullable": true }, "OverTimeRules": { "type": "array", "items": { "$ref": "#/components/schemas/OverTimeRuleRequest" }, "description": "Collection of overtime rules to apply to the agreement. Required if UsesOvertime is true", "nullable": true } }, "additionalProperties": false }, "CreateBreakRuleRequest": { "required": [ "EndTime", "MinLengthInMinutes", "Name", "NormalLengthInMinutes", "StartTime", "Type" ], "type": "object", "properties": { "Name": { "minLength": 1, "type": "string", "description": "Name of the break rule" }, "StartTime": { "minLength": 1, "type": "string", "description": "Start time of the break period in HH:mm format" }, "EndTime": { "minLength": 1, "type": "string", "description": "End time of the break period in HH:mm format" }, "MinLengthInMinutes": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "Minimum length of the break in minutes. Must be between 0 and 1440 (24 hours)", "format": "int32" }, "NormalLengthInMinutes": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "Normal expected length of the break in minutes. Must be between 0 and 1440 (24 hours)", "format": "int32" }, "Type": { "type": "integer", "description": "Type of break
Possible values: 0 - Lunch, 1 - FirstBreak, 2 - SecondBreak", "format": "int32" }, "Comment": { "type": "string", "description": "Additional comments or notes about the break rule", "nullable": true } }, "additionalProperties": false }, "CreateEmployeeContractMigrationRequest": { "required": [ "SalaryType" ], "type": "object", "properties": { "ContractStartDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "NoticePeriodMonth": { "type": "integer", "description": "Notice period in months", "format": "int32", "nullable": true }, "ContractEndDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "Position": { "type": "string", "description": "Employee's job title or position", "nullable": true }, "EmployeeCategory": { "type": "integer", "description": "Employee category classification
Possible values: 0 - WhiteCollar, 1 - BlueCollar", "format": "int32", "nullable": true }, "ContractHours": { "type": "integer", "description": "Number of contracted working hours", "format": "int32", "nullable": true }, "ContractPeriod": { "type": "integer", "description": "Determines whether to use the company-wide contract period or a custom one", "format": "int32", "nullable": true }, "UsesVLAFromDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "UsesVLA": { "type": "boolean", "description": "If UsesVLA is true, UsesVLAFromDate is required" }, "UsesCompanyExpense": { "type": "boolean", "description": "Indicates whether the employee uses company expense reimbursement" }, "UsesCompanyExpenseFromDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "OwnAgreementFactor": { "type": "number", "description": "Custom agreement factor for part-time calculation", "format": "double", "nullable": true }, "AverageVariableSalarySick": { "type": "number", "description": "Average variable salary used in sick pay calculations", "format": "double", "nullable": true }, "UsesGrossPayExchange": { "type": "boolean", "description": "Indicates whether the employee uses gross pay exchange" }, "AutoIncludeInWageRuns": { "type": "boolean", "description": "Indicates whether the employee is automatically included in wage runs" }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "TimeReserveType": { "type": "integer", "description": "Type of time bank reserve used for the employee
Possible values: 1 - WorkingTimeReserve, 2 - WorkingTimeAcount", "format": "int32", "nullable": true }, "Salaries": { "type": "array", "items": { "$ref": "#/components/schemas/CPEmployeeSalaryMigrationRequest" }, "description": "List of salary entries with date-controlled validity", "nullable": true }, "EmployeeForm": { "allOf": [ { "$ref": "#/components/schemas/CPDateControlledValueMigrationRequest" } ], "description": "Employee's form of employment with date-controlled validity", "nullable": true }, "TaxMethodOfCalculation": { "allOf": [ { "$ref": "#/components/schemas/CPDateControlledValueMigrationRequest" } ], "description": "Tax method of calculation applied to the employee with date-controlled validity", "nullable": true }, "EmployerContribution": { "allOf": [ { "$ref": "#/components/schemas/CPDateControlledValueMigrationRequest" } ], "description": "Employer contribution type applied to the employee with date-controlled validity", "nullable": true }, "ForaMonthlyConnection": { "allOf": [ { "$ref": "#/components/schemas/ForaMonthlyConnectionRequest" } ], "description": "Fora monthly insurance connection for the employee", "nullable": true }, "ByggLosenEmployeeConnection": { "allOf": [ { "$ref": "#/components/schemas/ByggLosenEmployeeConnectionMigrationRequest" } ], "description": "Bygglösen employee connection for the construction industry", "nullable": true } }, "additionalProperties": false }, "CreateEmployeeContractMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the employee contract", "format": "uuid" }, "ContractStartDate": { "type": "string", "description": "Start date of the employment contract. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "NoticePeriodMonth": { "type": "integer", "description": "Notice period in months", "format": "int32", "nullable": true }, "ContractEndDate": { "type": "string", "description": "End date of the employment contract. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "Position": { "type": "string", "description": "Employee's job title or position", "nullable": true }, "EmployeeCategory": { "type": "integer", "description": "Employee category classification
Possible values: 0 - WhiteCollar, 1 - BlueCollar", "format": "int32", "nullable": true }, "ContractHours": { "type": "integer", "description": "Number of contracted working hours", "format": "int32", "nullable": true }, "ContractPeriod": { "type": "integer", "description": "Determines whether to use the company-wide contract period or a custom one", "format": "int32", "nullable": true }, "UsesVLAFromDate": { "type": "string", "description": "Date from which the VLA (work environment agreement) applies. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the employee uses VLA (work environment agreement) reporting" }, "UsesCompanyExpense": { "type": "boolean", "description": "Indicates whether the employee uses company expense reimbursement" }, "UsesCompanyExpenseFromDate": { "type": "string", "description": "Date from which company expense reimbursement applies. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "OwnAgreementFactor": { "type": "number", "description": "Custom agreement factor for part-time calculation", "format": "double", "nullable": true }, "UseAgreementFactorFromCompany": { "type": "boolean", "description": "Indicates whether the agreement factor is inherited from the company settings" }, "AverageVariableSalarySick": { "type": "number", "description": "Average variable salary used in sick pay calculations", "format": "double", "nullable": true }, "UsesGrossPayExchange": { "type": "boolean", "description": "Indicates whether the employee uses gross pay exchange" }, "AutoIncludeInWageRuns": { "type": "boolean", "description": "Indicates whether the employee is automatically included in wage runs" }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "TimeReserveType": { "type": "integer", "description": "Type of time bank reserve used for the employee
Possible values: 1 - WorkingTimeReserve, 2 - WorkingTimeAcount", "format": "int32", "nullable": true }, "Salaries": { "type": "array", "items": { "$ref": "#/components/schemas/CPEmployeeSalaryMigrationResponse" }, "description": "List of salary entries with date-controlled validity", "nullable": true }, "EmployeeForms": { "type": "array", "items": { "$ref": "#/components/schemas/CPDateControlledValueMigrationResponse" }, "description": "History of employee's forms of employment with date-controlled validity", "nullable": true }, "TaxMethodOfCalculations": { "type": "array", "items": { "$ref": "#/components/schemas/CPDateControlledValueMigrationResponse" }, "description": "History of tax methods of calculation applied to the employee with date-controlled validity", "nullable": true }, "EmployerContributions": { "type": "array", "items": { "$ref": "#/components/schemas/CPDateControlledValueMigrationResponse" }, "description": "History of employer contribution types applied to the employee with date-controlled validity", "nullable": true }, "ByggLosenEmployeeConnections": { "type": "array", "items": { "$ref": "#/components/schemas/ByggLosenEmployeeConnectionMigrationResponse" }, "description": "Bygglösen employee connections for the construction industry", "nullable": true } }, "additionalProperties": false }, "CreateEmployeeContractRequest": { "required": [ "SalaryType" ], "type": "object", "properties": { "EmployeeCategory": { "type": "integer", "description": "Employee category classification
Possible values: 0 - WhiteCollar, 1 - BlueCollar", "format": "int32", "nullable": true }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "ContractStartDate": { "type": "string", "description": "Start date of the employee's contract. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "ContractEndDate": { "type": "string", "description": "End date of the employee's contract, if applicable. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "UsesVLAFromDate": { "type": "string", "description": "Date from which the employee uses VLA (Visma Leave Application). Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the employee uses VLA (Visma Leave Application). If true, UsesVLAFromDate is required" }, "TimeReserveType": { "type": "integer", "description": "Type of time bank reserve
Possible values: 1 - WorkingTimeReserve, 2 - WorkingTimeAcount", "format": "int32", "nullable": true } }, "additionalProperties": false }, "CreateEmployeeContractResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the employee contract", "format": "uuid" }, "EmployeeCategory": { "type": "integer", "description": "Employee category classification (0 = WhiteCollar, 1 = BlueCollar)
Possible values: 0 - WhiteCollar, 1 - BlueCollar", "format": "int32", "nullable": true }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "ContractStartDate": { "type": "string", "description": "Start date of the employee's contract. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "ContractEndDate": { "type": "string", "description": "End date of the employee's contract, if applicable. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "UsesVLAFromDate": { "type": "string", "description": "Date from which the employee uses VLA (Visma Leave Application). Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the employee uses VLA (Visma Leave Application). If true, UsesVLAFromDate is required" }, "ModifiedUtc": { "type": "string", "description": "Timestamp when the contract was last modified (UTC)", "format": "date-time" }, "CreatedUtc": { "type": "string", "description": "Timestamp when the contract was created (UTC)", "format": "date-time" } }, "additionalProperties": false }, "CreateEmployeeMigrationRequest": { "required": [ "Contract", "FirstName", "IdentificationNumber", "LastName" ], "type": "object", "properties": { "FirstName": { "minLength": 1, "type": "string", "description": "Only letters" }, "LastName": { "minLength": 1, "type": "string", "description": "Only letters" }, "EmployeeNumber": { "type": "string", "description": "If left as null next available employee number will be picked eg. 001 - 002", "nullable": true }, "IdentificationNumber": { "minLength": 1, "type": "string", "description": "Format: Personal identification or coordination number (11 or 12 digits)" }, "EmailWork": { "type": "string", "description": "Employee's work email address", "nullable": true }, "PhoneMobile": { "type": "string", "description": "Employee's mobile phone number", "nullable": true }, "PayslipSendMethod": { "type": "integer", "description": "Method used to send payslips to the employee
Possible values: 1 - Pdf, 2 - MyPayslip", "format": "int32" }, "PayslipLanguage": { "type": "integer", "description": "Language used for the employee's payslip. Defaults to Swedish
Possible values: 1 - Swedish, 2 - English", "format": "int32", "default": 1 }, "Type": { "type": "integer", "description": "Classification of the employee type
Possible values: 0 - Regular, 1 - Limited", "format": "int32" }, "PrimaryAddress": { "type": "string", "description": "Employee's primary street address", "nullable": true }, "Zip": { "type": "string", "description": "Employee's postal code", "nullable": true }, "City": { "type": "string", "description": "Employee's city of residence", "nullable": true }, "Country": { "type": "string", "description": "Employee's country of residence", "nullable": true }, "CountryCode": { "type": "string", "description": "Get from eAccounting API, /v2/countries/{countrycode}", "nullable": true }, "PhoneWork": { "type": "string", "description": "Employee's work phone number", "nullable": true }, "HasGrowthSupport": { "type": "boolean", "description": "Indicates whether the employee has growth support (Växa-stöd)", "nullable": true }, "GrowthSupportEndDate": { "type": "string", "description": "Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "HolidayAgreementNumber": { "type": "integer", "description": "Holiday agreement applied to the employee
Possible values: 0 - NoHolidayAgreement, 10 - HolidayAgreement10, 20 - HolidayAgreement20, 21 - HolidayAgreement21, 30 - HolidayAgreement30", "format": "int32", "nullable": true }, "HolidayDailyPayPercent": { "type": "number", "description": "Daily pay percentage used for holiday compensation", "format": "double", "nullable": true }, "PayHolidayAllowanceNextWagerun": { "type": "boolean", "description": "Indicates whether holiday allowance should be paid out in the next wage run" }, "HolidayAllowancePercentage": { "type": "number", "description": "Holiday allowance percentage applied to the employee", "format": "double", "nullable": true }, "CarHasAdjustedBenefitValue": { "type": "boolean", "description": "Indicates whether the car benefit value is manually adjusted" }, "Contract": { "allOf": [ { "$ref": "#/components/schemas/CreateEmployeeContractMigrationRequest" } ], "description": "Employee's employment contract details" }, "BankAndTax": { "allOf": [ { "$ref": "#/components/schemas/CPEmployeeBankAndTaxMigrationRequest" } ], "description": "Employee's bank account and tax settings", "nullable": true }, "CarBenefitHistory": { "type": "array", "items": { "$ref": "#/components/schemas/CarBenefitHistoryMigrationRequest" }, "description": "History of car benefit registrations for the employee", "nullable": true }, "EntryValue": { "allOf": [ { "$ref": "#/components/schemas/CPEmployeeEntryValueMigrationRequest" } ], "description": "Opening balance values for the employee", "nullable": true }, "EmployeeHolidayYears": { "type": "array", "items": { "$ref": "#/components/schemas/CPEmployeeHolidayYearMigrationRequest" }, "description": "Holiday year records for the employee", "nullable": true } }, "additionalProperties": false }, "CreateEmployeeMigrationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the employee", "format": "uuid" }, "Type": { "type": "integer", "description": "Classification of the employee type
Possible values: 0 - Regular, 1 - Limited", "format": "int32" }, "FirstName": { "type": "string", "description": "Employee's first name", "nullable": true }, "LastName": { "type": "string", "description": "Employee's last name", "nullable": true }, "EmployeeNumber": { "type": "string", "description": "Employee number", "nullable": true }, "IdentificationNumber": { "type": "string", "description": "Personal identification or coordination number", "nullable": true }, "PrimaryAddress": { "type": "string", "description": "Employee's primary street address", "nullable": true }, "City": { "type": "string", "description": "Employee's city of residence", "nullable": true }, "Zip": { "type": "string", "description": "Employee's postal code", "nullable": true }, "Country": { "type": "string", "description": "Employee's country of residence", "nullable": true }, "CountryCode": { "type": "string", "description": "Country code from eAccounting API, /v2/countries/{countrycode}", "nullable": true }, "EmailWork": { "type": "string", "description": "Employee's work email address", "nullable": true }, "PhoneMobile": { "type": "string", "description": "Employee's mobile phone number", "nullable": true }, "PhoneWork": { "type": "string", "description": "Employee's work phone number", "nullable": true }, "HasGrowthSupport": { "type": "boolean", "description": "Indicates whether the employee has growth support (Växa-stöd)", "nullable": true }, "GrowthSupportEndDate": { "type": "string", "description": "End date of the growth support period. Format: YYYY-MM-DD", "format": "date-time", "nullable": true }, "PayslipSendMethod": { "type": "integer", "description": "Method used to send payslips to the employee
Possible values: 1 - Pdf, 2 - MyPayslip", "format": "int32" }, "PayslipLanguage": { "type": "integer", "description": "Language used for the employee's payslip
Possible values: 1 - Swedish, 2 - English", "format": "int32" }, "HolidayAgreementNumber": { "type": "integer", "description": "Holiday agreement applied to the employee
Possible values: 0 - NoHolidayAgreement, 10 - HolidayAgreement10, 20 - HolidayAgreement20, 21 - HolidayAgreement21, 30 - HolidayAgreement30", "format": "int32", "nullable": true }, "HolidayDailyPayPercent": { "type": "number", "description": "Daily pay percentage used for holiday compensation", "format": "double" }, "PayHolidayAllowanceNextWagerun": { "type": "boolean", "description": "Indicates whether holiday allowance is paid out in the next wage run" }, "HolidayAllowancePercentage": { "type": "number", "description": "Holiday allowance percentage applied to the employee", "format": "double" }, "CarHasAdjustedBenefitValue": { "type": "boolean", "description": "Indicates whether the car benefit value is manually adjusted" }, "Contract": { "allOf": [ { "$ref": "#/components/schemas/CreateEmployeeContractMigrationResponse" } ], "description": "Employee's employment contract details", "nullable": true }, "CarBenefitHistory": { "type": "array", "items": { "$ref": "#/components/schemas/CarBenefitHistoryMigrationResponse" }, "description": "History of car benefit registrations for the employee", "nullable": true }, "BankAndTax": { "allOf": [ { "$ref": "#/components/schemas/CPEmployeeBankAndTaxMigrationResponse" } ], "description": "Employee's bank account and tax settings", "nullable": true }, "EntryValue": { "allOf": [ { "$ref": "#/components/schemas/CPEmployeeEntryValueMigrationResponse" } ], "description": "Opening balance values for the employee", "nullable": true }, "HolidayYears": { "type": "array", "items": { "$ref": "#/components/schemas/CPEmployeeHolidayYearMigrationResponse" }, "description": "Holiday year records for the employee", "nullable": true } }, "additionalProperties": false }, "CreateEmployeeRequest": { "required": [ "Contract", "FirstName", "IdentificationNumber", "LastName" ], "type": "object", "properties": { "FirstName": { "minLength": 1, "type": "string", "description": "Employee's first name. Only letters are allowed" }, "LastName": { "minLength": 1, "type": "string", "description": "Employee's last name. Only letters are allowed" }, "EmployeeNumber": { "type": "string", "description": "Employee number assigned by the company. If left as null, the next available number will be assigned automatically (e.g. 001, 002)", "nullable": true }, "IdentificationNumber": { "minLength": 1, "type": "string", "description": "Personal identification or coordination number (11 or 12 digits)" }, "EmailWork": { "type": "string", "description": "Employee's work email address", "nullable": true }, "PhoneMobile": { "type": "string", "description": "Employee's mobile phone number", "nullable": true }, "PayslipSendMethod": { "type": "integer", "description": "Method used to send payslips to the employee. If null it defaults to Pdf
Possible values: 1 - Pdf, 2 - MyPayslip", "format": "int32", "nullable": true }, "PayslipLanguage": { "type": "integer", "description": "Language used for the employee's payslip. Defaults to Swedish
Possible values: 1 - Swedish, 2 - English", "format": "int32", "default": 1 }, "Contract": { "allOf": [ { "$ref": "#/components/schemas/CreateEmployeeContractRequest" } ], "description": "Contract details for the employee" } }, "additionalProperties": false }, "CreateEmployeeResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the employee", "format": "uuid" }, "FirstName": { "type": "string", "description": "Employee's first name", "nullable": true }, "LastName": { "type": "string", "description": "Employee's last name", "nullable": true }, "IdentificationNumber": { "type": "string", "description": "Personal identification number (personnummer) of the employee", "nullable": true }, "EmployeeNumber": { "type": "string", "description": "Employee number assigned by the company", "nullable": true }, "PhoneMobile": { "type": "string", "description": "Employee's mobile phone number", "nullable": true }, "PhoneWork": { "type": "string", "description": "Employee's work phone number", "nullable": true }, "EmailWork": { "type": "string", "description": "Employee's work email address. Can be null", "nullable": true }, "PrimaryAddress": { "type": "string", "description": "Primary street address line of the employee's residence", "nullable": true }, "SecondaryAddress": { "type": "string", "description": "Secondary address line (apartment number, floor, etc.)", "nullable": true }, "City": { "type": "string", "description": "City of the employee's residence", "nullable": true }, "Zip": { "type": "string", "description": "Postal code of the employee's residence", "nullable": true }, "Country": { "type": "string", "description": "Country of the employee's residence", "nullable": true }, "HolidayAgreementNumber": { "type": "integer", "description": "The chosen holiday agreement number. Valid numbers are 0, 10, 20 or 30. If null, the employee is a draft employee", "format": "int32", "nullable": true }, "UsesPayslip": { "type": "boolean", "description": "Indicates whether the employee receives digital payslips" }, "UsesWorkingTimeAccountOrReserve": { "type": "boolean", "description": "Indicates whether the employee uses working time account or reserve functionality" }, "EmployeeCategory": { "type": "integer", "description": "Employee category classification
Possible values: 0 - WhiteCollar, 1 - BlueCollar", "format": "int32", "nullable": true }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "Type": { "type": "integer", "description": "Employee type. Only regular employees can use shortcuts
Possible values: 0 - Regular, 1 - Limited", "format": "int32" }, "State": { "type": "integer", "description": "State of the employee. Draft employees are missing information and cannot be used in payroll runs or have shortcuts connected to them
Possible values: 0 - Draft, 1 - Full", "format": "int32" }, "ContractEndDate": { "type": "string", "description": "The end date of the employee's contract, if applicable", "format": "date-time", "nullable": true }, "LastLockedDeviationDate": { "type": "string", "description": "Last date when deviations were locked for this employee", "format": "date-time", "nullable": true }, "ModifiedUtc": { "type": "string", "description": "Timestamp when the employee record was last modified (UTC)", "format": "date-time" }, "CreatedUtc": { "type": "string", "description": "Timestamp when the employee record was created (UTC)", "format": "date-time" }, "HolidayRemainingUnpayed": { "type": "number", "description": "Remaining unpaid holiday days in decimal format", "format": "double", "nullable": true }, "HolidayRemainingSaved": { "type": "number", "description": "Remaining saved holiday days in decimal format", "format": "double", "nullable": true }, "HolidayRemainingPayed": { "type": "number", "description": "Remaining paid holiday days in decimal format", "format": "double", "nullable": true }, "HolidayRemainingAdvance": { "type": "number", "description": "Remaining advance holiday days in decimal format", "format": "double", "nullable": true }, "CompensationTimeBalanceInMinutes": { "type": "number", "description": "Compensation time balance in minutes", "format": "double", "nullable": true }, "TimeResereveType": { "type": "integer", "description": "Type of time bank reserve
Possible values: 1 - WorkingTimeReserve, 2 - WorkingTimeAcount", "format": "int32", "nullable": true }, "TimeResereveInMinutes": { "type": "number", "description": "Amount of minutes accumulated in the time bank reserve", "format": "double", "nullable": true }, "UsesVLAFromDate": { "type": "string", "description": "Date from which the employee uses VLA (Visma Leave Application)", "format": "date-time", "nullable": true }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the employee uses VLA (Visma Leave Application)" }, "UsesCompanyExpenseFromDate": { "type": "string", "description": "Date from which the employee uses company expense management", "format": "date-time", "nullable": true }, "Contract": { "allOf": [ { "$ref": "#/components/schemas/CreateEmployeeContractResponse" } ], "description": "Contract details for the created employee", "nullable": true } }, "additionalProperties": false }, "EmployeeAgreementResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the employee agreement assignment", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the agreement", "nullable": true }, "AgreementId": { "type": "string", "description": "Reference to the agreement definition", "format": "uuid" }, "ActiveSince": { "type": "string", "description": "Date when this agreement became active for the employee", "format": "date-time" }, "HasConfidenceTime": { "type": "boolean", "description": "Indicates whether the agreement includes confidence time provisions" } }, "additionalProperties": false }, "EmployeeResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the employee", "format": "uuid" }, "FirstName": { "type": "string", "description": "Employee's first name", "nullable": true }, "LastName": { "type": "string", "description": "Employee's last name", "nullable": true }, "IdentificationNumber": { "type": "string", "description": "Personal identification number (personnummer) of the employee", "nullable": true }, "EmployeeNumber": { "type": "string", "description": "Employee number assigned by the company", "nullable": true }, "PhoneMobile": { "type": "string", "description": "Employee's mobile phone number", "nullable": true }, "PhoneWork": { "type": "string", "description": "Employee's work phone number", "nullable": true }, "EmailWork": { "type": "string", "description": "Employee's work email address. Can be null", "nullable": true }, "PrimaryAddress": { "type": "string", "description": "Primary street address line of the employee's residence", "nullable": true }, "SecondaryAddress": { "type": "string", "description": "Secondary address line (apartment number, floor, etc.)", "nullable": true }, "City": { "type": "string", "description": "City of the employee's residence", "nullable": true }, "Zip": { "type": "string", "description": "Postal code of the employee's residence", "nullable": true }, "Country": { "type": "string", "description": "Country of the employee's residence", "nullable": true }, "HolidayAgreementNumber": { "type": "integer", "description": "The chosen holiday agreement number. Valid numbers are 0, 10, 20 or 30. If null, the employee is a draft employee", "format": "int32", "nullable": true }, "UsesPayslip": { "type": "boolean", "description": "Indicates whether the employee receives digital payslips" }, "UsesWorkingTimeAccountOrReserve": { "type": "boolean", "description": "Indicates whether the employee uses working time account or reserve functionality" }, "EmployeeCategory": { "type": "integer", "description": "Employee category
Possible values: 0 - WhiteCollar, 1 - BlueCollar", "format": "int32", "nullable": true }, "SalaryType": { "type": "integer", "description": "Salary type for the employee
Possible values: 1 - Monthly, 2 - Hourly", "format": "int32" }, "Type": { "type": "integer", "description": "Employee type. Only regular employees can use shortcuts
Possible values: 0 - Regular, 1 - Limited", "format": "int32" }, "State": { "type": "integer", "description": "State of the employee. Draft employees are missing information and cannot be used in payroll runs or have shortcuts connected to them
Possible values: 0 - Draft, 1 - Full", "format": "int32" }, "ContractEndDate": { "type": "string", "description": "The end date of the employee's contract, if applicable", "format": "date-time", "nullable": true }, "LastLockedDeviationDate": { "type": "string", "description": "Last date when deviations were locked for this employee", "format": "date-time", "nullable": true }, "ModifiedUtc": { "type": "string", "description": "Timestamp when the employee record was last modified (UTC)", "format": "date-time" }, "HolidayRemainingUnpayed": { "type": "number", "description": "Remaining unpaid holiday days in decimal format", "format": "double", "nullable": true }, "HolidayRemainingSaved": { "type": "number", "description": "Remaining saved holiday days in decimal format", "format": "double", "nullable": true }, "HolidayRemainingPayed": { "type": "number", "description": "Remaining paid holiday days in decimal format", "format": "double", "nullable": true }, "HolidayRemainingAdvance": { "type": "number", "description": "Remaining advance holiday days in decimal format", "format": "double", "nullable": true }, "CompensationTimeBalanceInMinutes": { "type": "number", "description": "Compensation time balance in minutes", "format": "double", "nullable": true }, "TimeResereveType": { "type": "integer", "description": "Type of time bank reserve
Possible values: 1 - WorkingTimeReserve, 2 - WorkingTimeAcount", "format": "int32", "nullable": true }, "TimeResereveInMinutes": { "type": "number", "description": "Amount of minutes accumulated in the time bank reserve", "format": "double", "nullable": true }, "UsesVLAFromDate": { "type": "string", "description": "Date from which the employee uses VLA (Visma Leave Application)", "format": "date-time", "nullable": true }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the employee uses VLA (Visma Leave Application)" }, "UsesCompanyExpenseFromDate": { "type": "string", "description": "Date from which the employee uses company expense management", "format": "date-time", "nullable": true }, "EmployeeAgreements": { "type": "array", "items": { "$ref": "#/components/schemas/EmployeeAgreementResponse" }, "description": "List of agreements associated with the employee", "nullable": true }, "EmployeeWorkingSchedules": { "type": "array", "items": { "$ref": "#/components/schemas/EmployeeWorkingScheduleResponse" }, "description": "List of working schedules associated with the employee", "nullable": true } }, "additionalProperties": false }, "EmployeeWorkingScheduleResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the employee working schedule assignment", "format": "uuid" }, "WorkScheduleId": { "type": "string", "description": "Reference to the work schedule definition", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the work schedule", "nullable": true }, "ActiveSince": { "type": "string", "description": "Date when this work schedule became active for the employee", "format": "date-time" }, "WorkWeekCycleStart": { "type": "integer", "description": "Starting week number in the work week cycle, if the schedule uses a rotating pattern", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ExternalPeriodRequest": { "required": [ "DeviationPeriodToDate", "EmployeeId" ], "type": "object", "properties": { "EmployeeId": { "type": "string", "description": "The unique identifier of the employee. Source: Get from /v2/employees", "format": "uuid" }, "DeviationPeriodToDate": { "type": "string", "description": "End date of the deviation period", "format": "date-time" }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Project/cost-center distribution for worked-time salary rows. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "ExternalPeriodResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The unique identifier of the employee", "format": "uuid" }, "PayslipId": { "type": "string", "description": "If the period is picked up on a payslip, the payslip ID will be here", "format": "uuid", "nullable": true }, "DeviationPeriodToDate": { "type": "string", "description": "End date of the deviation period", "format": "date-time" }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Project/cost-center distribution for worked-time salary rows", "nullable": true }, "CreatedUtc": { "type": "string", "description": "Timestamp when the external period was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp when the external period was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "ForaFokRequest": { "required": [ "FokName", "ForaFokCode" ], "type": "object", "properties": { "ForaFokCode": { "minLength": 1, "type": "string", "description": "Fora Fok code (max 9 characters)" }, "FokName": { "minLength": 1, "type": "string", "description": "Fora Fok name (max 255 characters)" } }, "additionalProperties": false }, "ForaFokResponse": { "required": [ "FokId", "FokName" ], "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "FokId": { "type": "string", "description": "Fora Fok code", "nullable": true }, "FokName": { "type": "string", "description": "Fora Fok name", "nullable": true } }, "additionalProperties": false }, "ForaMonthlyConnectionRequest": { "required": [ "ForaFokCode", "StartDate" ], "type": "object", "properties": { "ForaFokCode": { "minLength": 1, "type": "string", "description": "Fora FOK code for insurance classification" }, "StartDate": { "type": "string", "description": "Start date of the Fora monthly insurance connection", "format": "date-time" } }, "additionalProperties": false }, "GetCompanyGuideStateResponse": { "type": "object", "properties": { "GuideState": { "type": "integer", "description": "The current guide state of the company
Possible values: 0 - NotCompleted, 1 - Completed, 2 - NotCompletedUpgradeFromVLDToVLS, 3 - VLAMigrationInProgress, 4 - MTMigrationInProgress", "format": "int32" } }, "additionalProperties": false }, "HolidayRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "HolidayResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "HoursWorkedRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "InconvenientHoursOne": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "InconvenientHoursTwo": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "InconvenientHoursThree": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "InconvenientHoursFour": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "BreakTime": { "type": "integer", "description": "Break duration in minutes", "format": "int32", "nullable": true }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "HoursWorkedResponse": { "type": "object", "properties": { "InconvenientHoursOne": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "InconvenientHoursTwo": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "InconvenientHoursThree": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "InconvenientHoursFour": { "type": "integer", "description": "Inconvenient time duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "BreakTime": { "type": "integer", "description": "Break duration in minutes", "format": "int32", "nullable": true }, "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "InconvenientTimeRuleRequest": { "required": [ "EndTime", "StartTime" ], "type": "object", "properties": { "DayFilter": { "type": "integer", "description": "Code indicating which day the rule applies to. Should not be set if TimeRuleAnnualDateId is set. For possible enum values see https://developer.vismaonline.com/docs/enums#dayfilter", "format": "int32", "nullable": true }, "CodedDay": { "type": "integer", "description": "Numeric code corresponding to a specific holiday or related day. Should not be set if TimeRuleAnnualDateId is set. For possible enum values see https://developer.vismaonline.com/docs/enums#codedday", "format": "int32", "nullable": true }, "InconvenientTimeCode": { "type": "integer", "description": "Code representing the type of inconvenient time compensation. For possible enum values see https://developer.vismaonline.com/docs/enums#inconvenienttimecode", "format": "int32" }, "StartTime": { "minLength": 1, "type": "string", "description": "Start time of the inconvenient time period (format: HH:mm)" }, "EndTime": { "minLength": 1, "type": "string", "description": "End time of the inconvenient time period (format: HH:mm)" }, "TimeRuleAnnualDateId": { "type": "string", "description": "Reference to a specific annual date for this rule. Source: Get from /v2/timeruleannualdates", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "InconvenientTimeRuleResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the inconvenient time rule", "format": "uuid" }, "DayFilter": { "type": "integer", "description": "Code indicating which day the rule applies to. For possible enum values see https://developer.vismaonline.com/docs/enums#dayfilter", "format": "int32", "nullable": true }, "CodedDay": { "type": "integer", "description": "Numeric code corresponding to a specific holiday or related day. For possible enum values see https://developer.vismaonline.com/docs/enums#codedday", "format": "int32", "nullable": true }, "InconvenientTimeCode": { "type": "integer", "description": "Code representing the type of inconvenient time compensation. For possible enum values see https://developer.vismaonline.com/docs/enums#inconvenienttimecode", "format": "int32" }, "StartTime": { "type": "string", "description": "Start time of the inconvenient time period (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "End time of the inconvenient time period (format: HH:mm)", "nullable": true }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the rule was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the rule was last modified", "format": "date-time" }, "OrderNumber": { "type": "integer", "description": "Order in which this rule should be evaluated relative to other rules", "format": "int32" }, "TimeRuleAnnualDateId": { "type": "string", "description": "Reference to a specific annual date for this rule. Source: Get from /v2/timeruleannualdates", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "MigrationStatusResponse": { "type": "object", "properties": { "ServiceId": { "type": "string", "description": "Unique identifier for the migration service", "format": "uuid" }, "Status": { "type": "integer", "description": "Current status of the migration
Possible values: 0 - Initialized, 1 - Started, 2 - Completed, 3 - Failed", "format": "int32" }, "HttpStatusCode": { "type": "integer", "description": "HTTP status code from the migration service response", "format": "int32" }, "ErrorCode": { "type": "integer", "description": "Error code if migration encountered an error", "format": "int32", "nullable": true }, "ErrorId": { "type": "string", "description": "Unique identifier for the error, if applicable", "format": "uuid", "nullable": true }, "MigrationType": { "type": "integer", "description": "Type of migration performed
Possible values: 0 - Employee, 1 - BreakRule, 2 - WorkSchedule, 3 - WorkScheduleTimeAdjustment, 4 - WorkDayOverride, 5 - Agreement, 6 - CompanySetting, 7 - EmployeeAgreements, 8 - EmployeeWorkSchedules, 9 - TimeRuleAnnualDates, 99 - GeneralFailure", "format": "int32", "nullable": true }, "MigrationVariant": { "type": "integer", "description": "Variant of the VLS migration
Possible values: 0 - PayslipEmployeesMigration, 1 - FullMigration", "format": "int32", "nullable": true }, "ErrorValidationResult": { "type": "string", "description": "JSON string containing validation errors from the migration process", "nullable": true }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the migration status was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the migration status was last modified", "format": "date-time" } }, "additionalProperties": false }, "Municipal": { "required": [ "Name" ], "type": "object", "properties": { "Id": { "type": "integer", "description": "Municipal code", "format": "int32" }, "Name": { "type": "string", "description": "Municipal name", "nullable": true } }, "additionalProperties": false }, "OtherAbsenceRequest": { "required": [ "EmployeeId", "EndDate", "OtherAbsenceGroup", "OtherAbsenceQuantityType", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "OtherAbsenceGroup": { "type": "integer", "description": "Absence group/category
Possible values: 0 - OnLeave, 1 - Other", "format": "int32" }, "IsHolidayAccruing": { "type": "boolean", "description": "Is absence holiday accruing. Optional: when omitted or null on create it defaults to true (the same default as manual registration in the UI); when omitted or null on update the shortcut's current value is kept. Has no effect when OtherAbsenceGroup is OnLeave.", "nullable": true }, "OtherAbsenceQuantityType": { "type": "integer", "description": "Type of absence time unit
Possible values: 0 - Calculate, 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth", "format": "int32" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "OtherAbsenceResponse": { "type": "object", "properties": { "OtherAbsenceGroup": { "type": "integer", "description": "Absence group/category
Possible values: 0 - OnLeave, 1 - Other", "format": "int32" }, "IsHolidayAccruing": { "type": "boolean", "description": "Is absence holiday accruing" }, "OtherAbsenceQuantityType": { "type": "integer", "description": "Type of absence time unit
Possible values: 0 - Calculate, 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth", "format": "int32" }, "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "OtherAdditionDeductionPaycodesResponse": { "type": "object", "properties": { "CompensationPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for other compensation additions", "nullable": true }, "DeductionPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for salary deductions", "nullable": true }, "BenefitPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for employee benefits", "nullable": true }, "AdjustmentTaxPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for tax adjustments", "nullable": true } }, "additionalProperties": false }, "OtherAdditionDeductionRequest": { "required": [ "Date", "EmployeeId", "Rows" ], "type": "object", "properties": { "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: get from /v2/employees.", "format": "uuid" }, "Date": { "type": "string", "description": "The date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "Rows": { "type": "array", "items": { "$ref": "#/components/schemas/OtherAdditionDeductionRowRequest" }, "description": "Additions and/or deductions" } }, "additionalProperties": false }, "OtherAdditionDeductionResponse": { "required": [ "Rows" ], "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for", "format": "uuid" }, "Date": { "type": "string", "description": "The date for the shortcut", "format": "date-time" }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "Rows": { "type": "array", "items": { "$ref": "#/components/schemas/OtherAdditionDeductionRowResponse" }, "description": "Additions and/or deductions", "nullable": true } }, "additionalProperties": false }, "OtherAdditionDeductionRowRequest": { "required": [ "PaycodeNumber" ], "type": "object", "properties": { "PaycodeNumber": { "minLength": 1, "type": "string", "description": "Pay code number. Source: get from /v2/paycodes." }, "Quantity": { "type": "number", "description": "Addition/deduction quantity (format: max 2 decimals). Required only for allowance, mile compensation and benefit paycodes.", "format": "double" }, "UnitPrice": { "type": "number", "description": "Addition/deduction unit price (format: max 2 decimals). Required only for allowance and benefit paycodes, if not mile compensation and the paycode doesn't have a formula set. If paycode is mile compensation it's possible to override unit price.", "format": "double" }, "Amount": { "type": "number", "description": "Addition/deduction amount (format: max 2 decimals). Required only for reimbursement paycodes.", "format": "double" }, "VatAmount": { "maximum": 1000000000, "minimum": 0, "type": "number", "description": "Value-added tax amount (format: max 2 decimals). Required only for reimbursement paycodes and when the company uses vat on outlay.", "format": "double" }, "ProjectId": { "type": "string", "description": "Project ID. Source: get from eAccounting API, /v2/projects.", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: get from eAccounting API, /v2/costcenters.", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: get from eAccounting API, /v2/costcenters.", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: get from eAccounting API, /v2/costcenters.", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "OtherAdditionDeductionRowResponse": { "required": [ "PaycodeNumber" ], "type": "object", "properties": { "PaycodeNumber": { "type": "string", "description": "Pay code number", "nullable": true }, "Quantity": { "type": "number", "description": "Addition/deduction quantity", "format": "double" }, "UnitPrice": { "type": "number", "description": "Addition/deduction unit price", "format": "double" }, "Amount": { "type": "number", "description": "Addition/deduction amount", "format": "double" }, "VatAmount": { "type": "number", "description": "Value-added tax amount", "format": "double" }, "ProjectId": { "type": "string", "description": "Project ID", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "OverTimeRuleRequest": { "type": "object", "properties": { "DayFilter": { "type": "integer", "description": "Code indicating which day the rule applies to. For possible enum values see https://developer.vismaonline.com/docs/enums#dayfilter", "format": "int32", "nullable": true }, "CodedDay": { "type": "integer", "description": "Numeric code corresponding to a specific holiday or related day. For possible enum values see https://developer.vismaonline.com/docs/enums#codedday", "format": "int32", "nullable": true }, "StartTime": { "type": "string", "description": "Start time of the overtime period (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "End time of the overtime period (format: HH:mm)", "nullable": true }, "OvertimeCode": { "type": "integer", "description": "Code indicating the classification of overtime based on defined compensation categories. For possible enum values see https://developer.vismaonline.com/docs/enums#overtimecode", "format": "int32" }, "CompensationTimeCode": { "type": "integer", "description": "Code indicating the classification of time compensation based on defined compensation categories. For possible enum values see https://developer.vismaonline.com/docs/enums#compensationtimecode", "format": "int32" }, "TimeRuleAnnualDateId": { "type": "string", "description": "Reference to a specific annual date for this rule. Source: Get from /v2/timeruleannualdates", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "OverTimeRuleResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the overtime rule", "format": "uuid" }, "DayFilter": { "type": "integer", "description": "Code indicating which day the rule applies to. For possible enum values see https://developer.vismaonline.com/docs/enums#dayfilter", "format": "int32", "nullable": true }, "CodedDay": { "type": "integer", "description": "Numeric code corresponding to a specific holiday or related day. For possible enum values see https://developer.vismaonline.com/docs/enums#codedday", "format": "int32", "nullable": true }, "StartTime": { "type": "string", "description": "Start time of the overtime period (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "End time of the overtime period (format: HH:mm)", "nullable": true }, "OvertimeCode": { "type": "integer", "description": "Code indicating the classification of overtime based on defined compensation categories. For possible enum values see https://developer.vismaonline.com/docs/enums#overtimecode", "format": "int32" }, "CompensationTimeCode": { "type": "integer", "description": "Code indicating the classification of time compensation based on defined compensation categories. For possible enum values see https://developer.vismaonline.com/docs/enums#compensationtimecode", "format": "int32" }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the rule was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the rule was last modified", "format": "date-time" }, "OrderNumber": { "type": "integer", "description": "Order in which this rule should be evaluated relative to other rules", "format": "int32" }, "TimeRuleAnnualDateId": { "type": "string", "description": "Reference to a specific annual date for this rule. Source: Get from /v2/timeruleannualdates", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "OvertimeRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "OvertimePayOutMethod": { "type": "integer", "description": "Type of overtime pay out method
Possible values: 1 - Money, 2 - Time", "format": "int32", "default": 2 }, "ScheduleStartTime": { "type": "string", "description": "Start time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM", "nullable": true }, "ScheduleEndTime": { "type": "string", "description": "End time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM", "nullable": true }, "ScheduledDayBreakTime": { "type": "integer", "description": "Break duration in minutes. Used only if the employee has irregular working schedule.", "format": "int32" }, "ExtraBreakTime": { "type": "integer", "description": "Extra break duration in minutes", "format": "int32" }, "OvertimeOne": { "type": "integer", "description": "Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "OvertimeTwo": { "type": "integer", "description": "Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "OvertimeThree": { "type": "integer", "description": "Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "OvertimeFour": { "type": "integer", "description": "Overtime duration in minutes at level 4. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "AdditionalHoursInMinutes": { "type": "integer", "description": "Additional hours duration in minutes. Used only for part-time employees when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "OvertimeResponse": { "type": "object", "properties": { "OvertimePayOutMethod": { "type": "integer", "description": "Type of overtime pay out method
Possible values: 1 - Money, 2 - Time", "format": "int32" }, "ScheduleStartTime": { "type": "string", "description": "Start time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM", "nullable": true }, "ScheduleEndTime": { "type": "string", "description": "End time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM", "nullable": true }, "ScheduledDayBreakTime": { "type": "integer", "description": "Break duration in minutes. Used only if the employee has irregular working schedule.", "format": "int32" }, "ExtraBreakTime": { "type": "integer", "description": "Extra break duration in minutes", "format": "int32" }, "OvertimeOne": { "type": "integer", "description": "Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "OvertimeTwo": { "type": "integer", "description": "Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "OvertimeThree": { "type": "integer", "description": "Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "OvertimeFour": { "type": "integer", "description": "Overtime duration in minutes at level 4. Used only when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "AdditionalHoursInMinutes": { "type": "integer", "description": "Additional hours duration in minutes. Used only for part-time employees when ShortcutRegistrationMethod is set to hour.", "format": "int32", "nullable": true }, "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "PaginatedResponseOfAgreementResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfBreakRuleResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/BreakRuleResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfEmployeeResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/EmployeeResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfExternalPeriodResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/ExternalPeriodResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfPayCodeResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfPayslipDetailedResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/PayslipDetailedResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfPayslipResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/PayslipResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfTimeRuleAnnualDateResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/TimeRuleAnnualDateResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfWageRunResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/WageRunResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfWorkDayOverrideResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/WorkDayOverrideResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfWorkScheduleResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleResponse" } } }, "additionalProperties": false }, "PaginatedResponseOfWorkScheduleTimeAdjustmentResponse": { "required": [ "Data", "Meta" ], "type": "object", "properties": { "Meta": { "allOf": [ { "$ref": "#/components/schemas/CommonPaginationMetadata" } ] }, "Data": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleTimeAdjustmentResponse" } } }, "additionalProperties": false }, "ParentalLeaveRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "IsTenDaysAtTheBirthOfChild": { "type": "boolean", "description": "Is leave registered during the first 10 days after the birth of a child. If IsTenDaysAtTheBirthOfChild is true, IsHolidayAccruing is ignored and has no effect on the resulting payslip rows." }, "IsHolidayAccruing": { "type": "boolean", "description": "Is leave holiday accruing. Optional: when omitted or null on create it defaults to true (the same default as manual registration in the UI); when omitted or null on update the shortcut's current value is kept. If IsTenDaysAtTheBirthOfChild is true, IsHolidayAccruing is ignored and has no effect on the resulting payslip rows.", "nullable": true }, "AbsenceTimeUnit": { "type": "integer", "description": "Type of absence time unit
Possible values: 0 - Calculate, 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth", "format": "int32" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "ParentalLeaveResponse": { "type": "object", "properties": { "IsTenDaysAtTheBirthOfChild": { "type": "boolean", "description": "Is leave registered during the first 10 days after the birth of a child." }, "IsHolidayAccruing": { "type": "boolean", "description": "Is leave holiday accruing" }, "AbsenceTimeUnit": { "type": "integer", "description": "Type of absence time unit
Possible values: 0 - Calculate, 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth", "format": "int32" }, "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "PayCodeResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the paycode", "format": "uuid" }, "PaycodeNumber": { "type": "string", "description": "The numeric code that identifies the paycode", "nullable": true }, "PaycodeName": { "type": "string", "description": "Display name of the paycode", "nullable": true }, "PaycodeTypeName": { "type": "string", "description": "Name of the paycode type category", "nullable": true }, "PaycodeTypeId": { "type": "string", "description": "Unique identifier of the paycode type category", "format": "uuid" }, "Formula": { "type": "string", "description": "Calculation formula used to compute the paycode amount", "nullable": true }, "CanBeUsedByBlueCollars": { "type": "boolean", "description": "Indicates whether the paycode is applicable to blue-collar employees" }, "CanBeUsedByWhiteCollars": { "type": "boolean", "description": "Indicates whether the paycode is applicable to white-collar employees" }, "CanBeUsedForMonthlySalary": { "type": "boolean", "description": "Indicates whether the paycode is applicable to employees with monthly salary" }, "CanBeUsedForHourlySalary": { "type": "boolean", "description": "Indicates whether the paycode is applicable to employees with hourly salary" }, "CanBeUsedByLimitedEmployees": { "type": "boolean", "description": "Indicates whether the paycode is applicable to limited employees" }, "VisibleOnPayslipPrint": { "type": "boolean", "description": "Indicates whether the paycode is visible on the printed payslip" }, "ModifiedUtc": { "type": "string", "description": "Date and time in UTC when the paycode was last modified", "format": "date-time" } }, "additionalProperties": false }, "PayrollSettingsResponse": { "type": "object", "properties": { "CompanyName": { "type": "string", "description": "Name of the company associated with the payroll settings", "nullable": true }, "CompanyRegistrationNumber": { "type": "string", "description": "Company registration number (organisationsnummer) used for tax and government reporting", "nullable": true }, "UsesVatOnExpense": { "type": "boolean", "description": "Indicates whether VAT is applied on expense reimbursements" }, "UsesMyPayslip": { "type": "boolean", "description": "Indicates whether the My Payslip digital payslip service is enabled for employees" }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the company uses VLA (work environment agreement) reporting" }, "UsesTravelAndExpense": { "type": "boolean", "description": "Indicates whether the travel and expense management feature is enabled" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the payroll settings were last modified", "format": "date-time" }, "MonthlySalaryPaymentPeriod": { "type": "integer", "description": "Defines which period monthly salary covers.
Possible values: 1 - CurrentMonth, 2 - PreviousMonth, 3 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryDeviationPeriod": { "type": "integer", "description": "Defines which period deviations (e.g., absences, overtime) are reported for monthly salaried employees.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWagePaymentPeriod": { "type": "integer", "description": "Defines which period hourly wage payments cover.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWageDeviationPeriod": { "type": "integer", "description": "Defines which period deviations (e.g., absences, overtime) are reported for hourly wage employees.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryPaymentPeriodUntilDay": { "type": "integer", "description": "Day of the month up to which the monthly salary payment period extends. Only applicable when MonthlySalaryPaymentPeriod is set to UntilDateOfMonth", "format": "int32", "nullable": true }, "HourlyWagePaymentPeriodUntilDay": { "type": "integer", "description": "Day of the month up to which the hourly wage payment period extends. Only applicable when HourlyWagePaymentPeriod is set to UntilDateOfMonth", "format": "int32", "nullable": true } }, "additionalProperties": false }, "PayslipDetailedResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the payslip", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "Unique identifier of the employee the payslip belongs to", "format": "uuid" }, "SalaryPeriod_ToDate": { "type": "string", "description": "End date of the salary period", "format": "date-time" }, "SalaryPeriod_FromDate": { "type": "string", "description": "Start date of the salary period", "format": "date-time" }, "DeviationPeriod_ToDate": { "type": "string", "description": "End date of the deviation reporting period", "format": "date-time" }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the payslip was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the payslip was last modified", "format": "date-time" }, "LockedDate": { "type": "string", "description": "Date when the payslip was locked, or null if it has not been locked", "format": "date-time", "nullable": true }, "GrossSalary": { "type": "number", "description": "Total gross salary amount before deductions", "format": "double" }, "NetSalary": { "type": "number", "description": "Net salary amount paid to the employee after deductions", "format": "double" }, "PreliminaryTax": { "type": "number", "description": "Preliminary tax amount deducted from the gross salary", "format": "double" }, "PaymentDateUtc": { "type": "string", "description": "UTC date when the salary payment is scheduled", "format": "date-time" }, "WageRunType": { "type": "integer", "description": "Type of the wage run this payslip belongs to
Possible values: Possible values: 1 - normal, 2 - extra, 3 - payment from employee", "format": "int32" } }, "additionalProperties": false }, "PayslipResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier of the payslip", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "Unique identifier of the employee the payslip belongs to", "format": "uuid" }, "SalaryPeriod_ToDate": { "type": "string", "description": "End date of the salary period", "format": "date-time" }, "SalaryPeriod_FromDate": { "type": "string", "description": "Start date of the salary period", "format": "date-time" }, "DeviationPeriod_ToDate": { "type": "string", "description": "End date of the deviation reporting period", "format": "date-time" }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the payslip was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the payslip was last modified", "format": "date-time" }, "LockedDate": { "type": "string", "description": "Date when the payslip was locked, or null if it has not been locked", "format": "date-time", "nullable": true }, "Locked": { "type": "boolean", "description": "Indicates whether the payslip is locked and cannot be modified" } }, "additionalProperties": false }, "ProjectCostCenterAllocationRequest": { "type": "object", "properties": { "Id": { "type": "string", "description": "Project id or cost center item id for this allocation.", "format": "uuid" }, "Percentage": { "type": "number", "description": "Allocation percentage for this entry. Allocations with a percentage of 0 are ignored.", "format": "double" } }, "additionalProperties": false }, "ProjectCostCenterAllocationResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Project id or cost center item id for this allocation.", "format": "uuid" }, "Percentage": { "type": "number", "description": "Allocation percentage for this entry.", "format": "double" } }, "additionalProperties": false }, "ProjectCostCenterDistributionRequest": { "type": "object", "properties": { "Project": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationRequest" }, "description": "Allocations on Project. The percentages within Project must total at most 100%. Each allocation Id is a project id. Source: Get from eAccounting API, /v2/projects", "nullable": true }, "CostCenter1": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationRequest" }, "description": "Allocations on cost center 1. The percentages within CostCenter1 must total at most 100%. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters", "nullable": true }, "CostCenter2": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationRequest" }, "description": "Allocations on cost center 2. The percentages within CostCenter2 must total at most 100%. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters", "nullable": true }, "CostCenter3": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationRequest" }, "description": "Allocations on cost center 3. The percentages within CostCenter3 must total at most 100%. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters", "nullable": true } }, "additionalProperties": false }, "ProjectCostCenterDistributionResponse": { "type": "object", "properties": { "Project": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationResponse" }, "description": "Allocations on Project. Each allocation Id is a project id. Source: Get from eAccounting API, /v2/projects", "nullable": true }, "CostCenter1": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationResponse" }, "description": "Allocations on cost center 1. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters", "nullable": true }, "CostCenter2": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationResponse" }, "description": "Allocations on cost center 2. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters", "nullable": true }, "CostCenter3": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectCostCenterAllocationResponse" }, "description": "Allocations on cost center 3. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters", "nullable": true } }, "additionalProperties": false }, "SickLeaveRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "DontCreateKarens": { "type": "boolean", "description": "Indicates whether the shortcut should generate karens (waiting day) deductions or not" }, "KarensDeductionHoursOverride": { "type": "number", "description": "Amount of hours to override the karens deduction with. Can only be set if the employee has an irregular schedule", "format": "double", "nullable": true }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "SickLeaveResponse": { "type": "object", "properties": { "DontCreateKarens": { "type": "boolean", "description": "Indicates whether the shortcut should generate karens (waiting day) deductions or not" }, "KarensDeductionHoursOverride": { "type": "number", "description": "Amount of hours to override the karens deduction with. Can only be set if the employee has an irregular schedule", "format": "double", "nullable": true }, "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "TimeBankRequest": { "required": [ "EmployeeId", "EndDate", "ShortcutRegistrationMethod", "StartDate" ], "type": "object", "properties": { "PayOutSource": { "type": "integer", "description": "Type of hours balance, which will be decreased by the shortcut, null will be interpreted as CompensationTime
Possible values: 1 - CompensationTime, 2 - WorkingTimeReserve", "format": "int32", "nullable": true }, "CompPayoutMethod": { "type": "integer", "description": "Type of compensation for substracted hours
Possible values: 1 - Money (only for hours registration method), 2 - Time (for time and hours registration methods)", "format": "int32", "default": 2 }, "ScheduleStartTime": { "type": "string", "description": "Deprecated property (value will be ignored)", "nullable": true }, "ScheduleEndTime": { "type": "string", "description": "Deprecated property (value will be ignored)", "nullable": true }, "ScheduledDayBreakTime": { "type": "integer", "description": "Deprecated property (value will be ignored)", "format": "int32" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "maximum": 100, "minimum": 0, "type": "number", "description": "The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.", "format": "double" }, "MinutesOfDay": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionRequest" } ], "description": "Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.", "nullable": true } }, "additionalProperties": false }, "TimeBankResponse": { "type": "object", "properties": { "PayOutSource": { "type": "integer", "description": "Type of hours balance, which will be decreased by the shortcut
Possible values: 1 - CompensationTime, 2 - WorkingTimeReserve", "format": "int32", "nullable": true }, "CompPayoutMethod": { "type": "integer", "description": "Type of compensation for substracted hours
Possible values: 1 - Money, 2 - Time", "format": "int32" }, "ScheduleStartTime": { "type": "string", "description": "Deprecated property (value will always be null)", "nullable": true }, "ScheduleEndTime": { "type": "string", "description": "Deprecated property (value will always be null)", "nullable": true }, "ScheduledDayBreakTime": { "type": "integer", "description": "Deprecated property (value will always be 0)", "format": "int32" }, "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees", "format": "uuid" }, "StartDate": { "type": "string", "description": "Start date for the shortcut", "format": "date-time" }, "EndDate": { "type": "string", "description": "End date for the shortcut", "format": "date-time" }, "ShortcutRegistrationMethod": { "type": "integer", "description": "Registration method for the shortcut
Possible values: 0 - Time, 1 - Hours, 2 - Percentage", "format": "int32" }, "PercentOfDay": { "type": "number", "description": "The percentage of the day that the shortcut is registered for", "format": "double" }, "MinutesOfDay": { "type": "integer", "description": "The number of minutes the shortcut is registered for", "format": "int32" }, "StartTime": { "type": "string", "description": "The start time the shortcut is registered for (format: HH:mm)", "nullable": true }, "EndTime": { "type": "string", "description": "The end time the shortcut is registered for (format: HH:mm)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "IsRead": { "type": "boolean", "description": "Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it." }, "ProjectId": { "type": "string", "description": "Project ID. Source: Get from eAccounting API, /v2/projects", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters", "format": "uuid", "nullable": true }, "ProjectCostCenterDistribution": { "allOf": [ { "$ref": "#/components/schemas/ProjectCostCenterDistributionResponse" } ], "description": "Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.", "nullable": true } }, "additionalProperties": false }, "TimeRuleAnnualDateRequest": { "required": [ "Day", "Month", "Name" ], "type": "object", "properties": { "Name": { "minLength": 1, "type": "string", "description": "Name of the time rule annual date" }, "Month": { "type": "integer", "description": "Month of the year for the time rule annual date (1-12)", "format": "int32" }, "Day": { "type": "integer", "description": "Day of the month for the time rule annual date (1-31)", "format": "int32" } }, "additionalProperties": false }, "TimeRuleAnnualDateResponse": { "required": [ "Name" ], "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the time rule annual date record", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the time rule annual date", "nullable": true }, "Month": { "type": "integer", "description": "Month of the year for the time rule annual date (1-12)", "format": "int32" }, "Day": { "type": "integer", "description": "Day of the month for the time rule annual date (1-31)", "format": "int32" }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the time rule annual date record was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the time rule annual date record was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "TravelAndExpensePaycodesResponse": { "type": "object", "properties": { "ReimbursmentPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for reimbursement of travel and expense costs", "nullable": true }, "CompensationPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for travel and expense compensation", "nullable": true }, "AllowancePaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for travel and expense allowances", "nullable": true }, "BenefitPaycodes": { "type": "array", "items": { "$ref": "#/components/schemas/PayCodeResponse" }, "description": "Paycodes used for travel and expense benefits", "nullable": true } }, "additionalProperties": false }, "TravelAndExpenseRequest": { "required": [ "Date", "EmployeeId", "Rows" ], "type": "object", "properties": { "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut should be registered for. Source: get from /v2/employees.", "format": "uuid" }, "Date": { "type": "string", "description": "The date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "ReportLink": { "type": "string", "description": "Report link (format: URL, https is required)", "nullable": true }, "Comment": { "maxLength": 2000, "minLength": 0, "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "Rows": { "type": "array", "items": { "$ref": "#/components/schemas/TravelAndExpenseRowRequest" }, "description": "Travel and other Expenses" } }, "additionalProperties": false }, "TravelAndExpenseResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The ID of the employee that the shortcut is registered for", "format": "uuid" }, "Date": { "type": "string", "description": "The date for the shortcut (format: yyyy-MM-dd)", "format": "date-time" }, "ReportLink": { "type": "string", "description": "Report link (format: URL)", "nullable": true }, "Comment": { "type": "string", "description": "Optional comment for the shortcut", "nullable": true }, "Rows": { "type": "array", "items": { "$ref": "#/components/schemas/TravelAndExpenseRowResponse" }, "description": "Travel and other Expenses", "nullable": true } }, "additionalProperties": false }, "TravelAndExpenseRowRequest": { "required": [ "PaycodeNumber" ], "type": "object", "properties": { "PaycodeNumber": { "minLength": 1, "type": "string", "description": "Pay code number. Source: get from /v2/paycodes." }, "Quantity": { "type": "number", "description": "Expense quantity (format: max 2 decimals). Required only for allowance, mile compensation and benefit paycodes.", "format": "double" }, "UnitPrice": { "type": "number", "description": "Expense unit price (format: max 2 decimals). Required only for allowance and benefit paycodes, if not mile compensation and the paycode doesn't have a formula set. If paycode is mile compensation it's possible to override unit price.", "format": "double", "nullable": true }, "Amount": { "type": "number", "description": "Expense amount (format: max 2 decimals). Required only for reimbursement paycodes.", "format": "double", "nullable": true }, "VatAmount": { "maximum": 1000000000, "minimum": 0, "type": "number", "description": "Value-added tax amount (format: max 2 decimals). Required only for reimbursement paycodes and when the company uses vat on outlay.", "format": "double", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID. Source: get from eAccounting API, /v2/projects.", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1. Source: get from eAccounting API, /v2/costcenters.", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2. Source: get from eAccounting API, /v2/costcenters.", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3. Source: get from eAccounting API, /v2/costcenters.", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "TravelAndExpenseRowResponse": { "required": [ "PaycodeNumber" ], "type": "object", "properties": { "PaycodeNumber": { "type": "string", "description": "Pay code number", "nullable": true }, "Quantity": { "type": "number", "description": "Addition/deduction quantity", "format": "double" }, "UnitPrice": { "type": "number", "description": "Addition/deduction unit price", "format": "double", "nullable": true }, "Amount": { "type": "number", "description": "Addition/deduction amount", "format": "double", "nullable": true }, "VatAmount": { "type": "number", "description": "Value-added tax amount", "format": "double", "nullable": true }, "ProjectId": { "type": "string", "description": "Project ID", "format": "uuid", "nullable": true }, "CostCenterItemId1": { "type": "string", "description": "Cost center item ID 1", "format": "uuid", "nullable": true }, "CostCenterItemId2": { "type": "string", "description": "Cost center item ID 2", "format": "uuid", "nullable": true }, "CostCenterItemId3": { "type": "string", "description": "Cost center item ID 3", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "UpdateCompanySettingsRequest": { "required": [ "AutomaticWageRunDataImport", "BookkeepHolidayDebt", "ContractPeriodHours", "DefaultPrintEmployeeSortOrder", "HourlyWageDeviationPeriod", "HourlyWagePaymentPeriod", "MergeSimilarRowsOnPayslip", "MonthlySalaryDeviationPeriod", "MonthlySalaryPaymentPeriod", "PaymentOption", "SelectedRoundingNetAmount", "UsesTravelAndExpense", "UsesVatOnExpense", "UsesVLA", "WhiteCollarSickPayBonus" ], "type": "object", "properties": { "HourlyWagePaymentPeriod": { "type": "integer", "description": "Defines which period hourly wage payments cover
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWageDeviationPeriod": { "type": "integer", "description": "Defines which period deviations are reported for hourly wage employees
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWagePaymentPeriodUntilDay": { "type": "integer", "description": "Day of the month up to which the hourly wage payment period extends. Only applicable when HourlyWagePaymentPeriod is set to UntilDateOfMonth", "format": "int32", "nullable": true }, "MonthlySalaryPaymentPeriod": { "type": "integer", "description": "Defines which period monthly salary covers
Possible values: 1 - CurrentMonth, 2 - PreviousMonth, 3 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryDeviationPeriod": { "type": "integer", "description": "Defines which period deviations are reported for monthly salaried employees
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryPaymentPeriodUntilDay": { "type": "integer", "description": "Day of the month up to which the monthly salary payment period extends. Only applicable when MonthlySalaryPaymentPeriod is set to UntilDateOfMonth", "format": "int32", "nullable": true }, "UsesDifferentPeriodsForBlueCollar": { "type": "boolean", "description": "Indicates whether blue collar employees use payment and deviation periods that differ from white collar employees. When true, the BlueCollar period fields are persisted; otherwise blue collar mirrors white collar.", "nullable": true }, "HourlyWagePaymentPeriodBlueCollar": { "type": "integer", "description": "Defines which period hourly wage payments cover for blue collar employees. Required when UsesDifferentPeriodsForBlueCollar is true.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32", "nullable": true }, "HourlyWageDeviationPeriodBlueCollar": { "type": "integer", "description": "Defines which period hourly wage deviations are reported for blue collar employees. Required when UsesDifferentPeriodsForBlueCollar is true.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32", "nullable": true }, "HourlyWagePaymentPeriodUntilDayBlueCollar": { "type": "integer", "description": "Day of the month up to which the blue collar hourly wage payment period extends. Only applicable when HourlyWagePaymentPeriodBlueCollar is set to UntilDateOfMonth.", "format": "int32", "nullable": true }, "MonthlySalaryPaymentPeriodBlueCollar": { "type": "integer", "description": "Defines which period monthly salary covers for blue collar employees. Required when UsesDifferentPeriodsForBlueCollar is true.
Possible values: 1 - CurrentMonth, 2 - PreviousMonth, 3 - UntilDateOfMonth", "format": "int32", "nullable": true }, "MonthlySalaryDeviationPeriodBlueCollar": { "type": "integer", "description": "Defines which period monthly salary deviations are reported for blue collar employees. Required when UsesDifferentPeriodsForBlueCollar is true.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32", "nullable": true }, "MonthlySalaryPaymentPeriodUntilDayBlueCollar": { "type": "integer", "description": "Day of the month up to which the blue collar monthly salary payment period extends. Only applicable when MonthlySalaryPaymentPeriodBlueCollar is set to UntilDateOfMonth.", "format": "int32", "nullable": true }, "PaymentOption": { "type": "integer", "description": "Payment method for payroll disbursements
Possible values: 1 - BankList, 2 - OperatingAccount, 3 - Cash", "format": "int32" }, "ContractPeriodHours": { "type": "integer", "description": "Number of contracted working hours per period", "format": "int32" }, "SelectedRoundingNetAmount": { "type": "integer", "description": "Rounding method applied to net salary amounts
Possible values: 0 - RoundingToWhole, 1 - RoundingToDecimals", "format": "int32" }, "UsesVatOnExpense": { "type": "boolean", "description": "Indicates whether VAT is applied on expense reimbursements" }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the company uses VLA (work environment agreement) reporting" }, "UsesTravelAndExpense": { "type": "boolean", "description": "Indicates whether the travel and expense management feature is enabled" }, "LedgerAccountPersonalTax": { "type": "integer", "description": "Ledger account number for personal tax", "format": "int64", "nullable": true }, "LedgerAccountRounding": { "type": "integer", "description": "Ledger account number for rounding", "format": "int64", "nullable": true }, "LedgerAccountDisbursementOfBenefits": { "type": "integer", "description": "Ledger account number for disbursement of benefits", "format": "int64", "nullable": true }, "LedgerAccountAccruedEmployeContributions": { "type": "integer", "description": "Ledger account number for accrued employee contributions", "format": "int64", "nullable": true }, "LedgerAccountFullEmployersContributionBornIn1956": { "type": "integer", "description": "Ledger account number for full employer contributions for employees born in 1956", "format": "int64", "nullable": true }, "LedgerAccountEmployersContributionBornIn1938To1955": { "type": "integer", "description": "Ledger account number for employer contributions for employees born between 1938 and 1955", "format": "int64", "nullable": true }, "LedgerAccountEmployersContributionBorn1937OrEarlier": { "type": "integer", "description": "Ledger account number for employer contributions for employees born in 1937 or earlier", "format": "int64", "nullable": true }, "LedgerAccountEmployersContributionRegionalAid": { "type": "integer", "description": "Ledger account number for employer contributions with regional aid reduction", "format": "int64", "nullable": true }, "LedgerAccountEmployersContributionResearchAndDevelopment": { "type": "integer", "description": "Ledger account number for employer contributions for research and development", "format": "int64", "nullable": true }, "LedgerAccountEmployersContributionGrowthSupportFirstEmployees": { "type": "integer", "description": "Ledger account number for employer contributions for growth support for first employees", "format": "int64", "nullable": true }, "LedgerAccountRoundingOffEmployerFees": { "type": "integer", "description": "Ledger account number for rounding off employer fees", "format": "int64", "nullable": true }, "LedgerAccountExhilaratedHolidayPay": { "type": "integer", "description": "Ledger account number for exhilarated holiday pay", "format": "int64", "nullable": true }, "LedgerAccountCalculatedExhilarated": { "type": "integer", "description": "Ledger account number for calculated exhilarated holiday pay", "format": "int64", "nullable": true }, "LedgerAccountChangeInHolidayPayBlueCollar": { "type": "integer", "description": "Ledger account number for change in holiday pay for blue collar employees", "format": "int64", "nullable": true }, "LedgerAccountChangeInHolidayPayWhiteCollar": { "type": "integer", "description": "Ledger account number for change in holiday pay for white collar employees", "format": "int64", "nullable": true }, "LedgerAccountEmployerContributionHolidayDebt": { "type": "integer", "description": "Ledger account number for employer contribution holiday debt", "format": "int64", "nullable": true }, "BookkeepHolidayDebt": { "type": "boolean", "description": "Indicates whether holiday debt should be bookkept in the ledger" }, "MergeSimilarRowsOnPayslip": { "type": "boolean", "description": "Indicates whether similar rows on the payslip should be merged into one" }, "AutomaticWageRunDataImport": { "type": "boolean", "description": "Indicates whether automatic import of wage run data is enabled" }, "Agreement10": { "allOf": [ { "$ref": "#/components/schemas/UpdateHolidayAgreement10Request" } ], "description": "Settings for holiday agreement 10 (daily pay percentage). Omit to leave unchanged", "nullable": true }, "Agreement20": { "allOf": [ { "$ref": "#/components/schemas/UpdateHolidayAgreement20Request" } ], "description": "Settings for holiday agreement 20. Omit to leave unchanged", "nullable": true }, "Agreement21": { "allOf": [ { "$ref": "#/components/schemas/UpdateHolidayAgreement21Request" } ], "description": "Settings for holiday agreement 21. Omit to leave unchanged", "nullable": true }, "Agreement30": { "allOf": [ { "$ref": "#/components/schemas/UpdateHolidayAgreement30Request" } ], "description": "Settings for holiday agreement 30 (compensation percentage). Omit to leave unchanged", "nullable": true }, "DefaultPrintEmployeeSortOrder": { "type": "integer", "description": "Default sort order used when printing employee lists
Possible values: 0 - EmployeeNumber, 1 - FirstName_LastName, 2 - LastName_FirstName", "format": "int32" }, "WhiteCollarSickPayBonus": { "type": "boolean", "description": "Indicates whether white collar sick pay bonus is applied" }, "HolidayIntermittentMethod": { "type": "integer", "description": "Method used for calculating intermittent holiday pay and days
Possible values: 0 - Net, 1 - Gross", "format": "int32", "nullable": true } }, "additionalProperties": false }, "UpdateCompanySettingsResponse": { "type": "object", "properties": { "HourlyWagePaymentPeriod": { "type": "integer", "description": "Defines which period hourly wage payments cover
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWageDeviationPeriod": { "type": "integer", "description": "Defines which period deviations are reported for hourly wage employees
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWagePaymentPeriodUntilDay": { "type": "integer", "description": "Day of the month up to which the hourly wage payment period extends. Only applicable when HourlyWagePaymentPeriod is set to UntilDateOfMonth", "format": "int32", "nullable": true }, "MonthlySalaryPaymentPeriod": { "type": "integer", "description": "Defines which period monthly salary covers
Possible values: 1 - CurrentMonth, 2 - PreviousMonth, 3 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryDeviationPeriod": { "type": "integer", "description": "Defines which period deviations are reported for monthly salaried employees
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryPaymentPeriodUntilDay": { "type": "integer", "description": "Day of the month up to which the monthly salary payment period extends. Only applicable when MonthlySalaryPaymentPeriod is set to UntilDateOfMonth", "format": "int32", "nullable": true }, "UsesDifferentPeriodsForBlueCollar": { "type": "boolean", "description": "Indicates whether blue collar employees use payment and deviation periods that differ from white collar employees." }, "HourlyWagePaymentPeriodBlueCollar": { "type": "integer", "description": "Defines which period hourly wage payments cover for blue collar employees.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWageDeviationPeriodBlueCollar": { "type": "integer", "description": "Defines which period hourly wage deviations are reported for blue collar employees.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "HourlyWagePaymentPeriodUntilDayBlueCollar": { "type": "integer", "description": "Day of the month up to which the blue collar hourly wage payment period extends.", "format": "int32", "nullable": true }, "MonthlySalaryPaymentPeriodBlueCollar": { "type": "integer", "description": "Defines which period monthly salary covers for blue collar employees.
Possible values: 1 - CurrentMonth, 2 - PreviousMonth, 3 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryDeviationPeriodBlueCollar": { "type": "integer", "description": "Defines which period monthly salary deviations are reported for blue collar employees.
Possible values: 1 - PreviousMonth, 2 - UntilDateOfMonth", "format": "int32" }, "MonthlySalaryPaymentPeriodUntilDayBlueCollar": { "type": "integer", "description": "Day of the month up to which the blue collar monthly salary payment period extends.", "format": "int32", "nullable": true }, "PaymentOption": { "type": "integer", "description": "Payment method for payroll disbursements
Possible values: 1 - BankList, 2 - OperatingAccount, 3 - Cash", "format": "int32" }, "ContractPeriodHours": { "type": "integer", "description": "Number of contracted working hours per period", "format": "int32" }, "SelectedRoundingNetAmount": { "type": "integer", "description": "Rounding method applied to net salary amounts
Possible values: 0 - RoundingToWhole, 1 - RoundingToDecimals", "format": "int32" }, "UsesVatOnExpense": { "type": "boolean", "description": "Indicates whether VAT is applied on expense reimbursements" }, "UsesVLA": { "type": "boolean", "description": "Indicates whether the company uses VLA (work environment agreement) reporting" }, "UsesTravelAndExpense": { "type": "boolean", "description": "Indicates whether the travel and expense management feature is enabled" }, "LedgerAccountPersonalTax": { "type": "integer", "description": "Ledger account number for personal tax", "format": "int64" }, "LedgerAccountRounding": { "type": "integer", "description": "Ledger account number for rounding", "format": "int64" }, "LedgerAccountDisbursementOfBenefits": { "type": "integer", "description": "Ledger account number for disbursement of benefits", "format": "int64" }, "LedgerAccountAccruedEmployeContributions": { "type": "integer", "description": "Ledger account number for accrued employee contributions", "format": "int64" }, "LedgerAccountFullEmployersContributionBornIn1956": { "type": "integer", "description": "Ledger account number for full employer contributions for employees born in 1956", "format": "int64" }, "LedgerAccountEmployersContributionBornIn1938To1955": { "type": "integer", "description": "Ledger account number for employer contributions for employees born between 1938 and 1955", "format": "int64" }, "LedgerAccountEmployersContributionBorn1937OrEarlier": { "type": "integer", "description": "Ledger account number for employer contributions for employees born in 1937 or earlier", "format": "int64" }, "LedgerAccountEmployersContributionRegionalAid": { "type": "integer", "description": "Ledger account number for employer contributions with regional aid reduction", "format": "int64" }, "LedgerAccountEmployersContributionResearchAndDevelopment": { "type": "integer", "description": "Ledger account number for employer contributions for research and development", "format": "int64" }, "LedgerAccountEmployersContributionGrowthSupportFirstEmployees": { "type": "integer", "description": "Ledger account number for employer contributions for growth support for first employees", "format": "int64" }, "LedgerAccountRoundingOffEmployerFees": { "type": "integer", "description": "Ledger account number for rounding off employer fees", "format": "int64" }, "LedgerAccountCalculatedExhilarated": { "type": "integer", "description": "Ledger account number for calculated exhilarated holiday pay", "format": "int64" }, "LedgerAccountChangeInHolidayPayBlueCollar": { "type": "integer", "description": "Ledger account number for change in holiday pay for blue collar employees", "format": "int64" }, "LedgerAccountChangeInHolidayPayWhiteCollar": { "type": "integer", "description": "Ledger account number for change in holiday pay for white collar employees", "format": "int64" }, "LedgerAccountEmployerContributionHolidayDebt": { "type": "integer", "description": "Ledger account number for employer contribution holiday debt", "format": "int64" }, "LedgerAccountExhilaratedHolidayPay": { "type": "integer", "description": "Ledger account number for exhilarated holiday pay", "format": "int64" }, "BookkeepHolidayDebt": { "type": "boolean", "description": "Indicates whether holiday debt is bookkept in the ledger" }, "AutomaticWageRunDataImport": { "type": "boolean", "description": "Indicates whether automatic import of wage run data is enabled" }, "DefaultPrintEmployeeSortOrder": { "type": "integer", "description": "Default sort order used when printing employee lists
Possible values: 0 - EmployeeNumber, 1 - FirstName_LastName, 2 - LastName_FirstName", "format": "int32" }, "WhiteCollarSickPayBonus": { "type": "boolean", "description": "Indicates whether white collar sick pay bonus is applied" }, "HolidayIntermittentMethod": { "type": "integer", "description": "Method used for calculating intermittent holiday pay and days
Possible values: 0 - Net, 1 - Gross", "format": "int32", "nullable": true } }, "additionalProperties": false }, "UpdateHolidayAgreement10Request": { "type": "object", "properties": { "CurrentHolPeriodStart": { "type": "string", "description": "Start date of the current holiday period", "format": "date-time", "nullable": true }, "CurrentHolPeriodEnd": { "type": "string", "description": "End date of the current holiday period", "format": "date-time", "nullable": true }, "StartMonthHolYear": { "type": "integer", "description": "Start month of the holiday year", "format": "int32", "nullable": true }, "DailyPayPercent": { "type": "number", "description": "Daily pay percentage used as holiday compensation (Semesterersättning)", "format": "double", "nullable": true }, "ConsiderAvgHourlyPay": { "type": "boolean", "description": "Indicates whether average hourly pay is used instead of calculated hourly pay", "nullable": true }, "Active": { "type": "boolean", "description": "Indicates whether the holiday agreement is active", "nullable": true } }, "additionalProperties": false }, "UpdateHolidayAgreement20Request": { "type": "object", "properties": { "CurrentHolPeriodStart": { "type": "string", "description": "Start date of the current holiday period", "format": "date-time", "nullable": true }, "CurrentHolPeriodEnd": { "type": "string", "description": "End date of the current holiday period", "format": "date-time", "nullable": true }, "StartMonthHolYear": { "type": "integer", "description": "Start month of the holiday year", "format": "int32", "nullable": true }, "EarningYear": { "type": "boolean", "description": "Indicates whether the earning year is the same as the withdrawal year", "nullable": true }, "SalaryAdditionPercent": { "type": "number", "description": "Holiday salary addition percentage (Semestertillägg)", "format": "double", "nullable": true }, "SalaryAdditionVariablePercent": { "type": "number", "description": "Variable holiday salary addition percentage for flexible holiday (Rörlig semester)", "format": "double", "nullable": true }, "AddHolSalAddition": { "type": "boolean", "description": "Indicates whether holiday salary addition is paid out at the time of withdrawal", "nullable": true }, "ConsiderSSGSaved": { "type": "boolean", "description": "Indicates whether the degree of employment is considered for saved holiday days", "nullable": true }, "ConsiderHolidayAdditionVariableOldRules": { "type": "boolean", "description": "Indicates whether the old rule for variable holiday is applied (0.5% per day)", "nullable": true }, "Active": { "type": "boolean", "description": "Indicates whether the holiday agreement is active", "nullable": true } }, "additionalProperties": false }, "UpdateHolidayAgreement21Request": { "type": "object", "properties": { "CurrentHolPeriodStart": { "type": "string", "description": "Start date of the current holiday period", "format": "date-time", "nullable": true }, "CurrentHolPeriodEnd": { "type": "string", "description": "End date of the current holiday period", "format": "date-time", "nullable": true }, "StartMonthHolYear": { "type": "integer", "description": "Start month of the holiday year", "format": "int32", "nullable": true }, "EarningYear": { "type": "boolean", "description": "Indicates whether the earning year is the same as the withdrawal year", "nullable": true }, "SalaryAdditionPercent": { "type": "number", "description": "Holiday salary addition percentage (Semestertillägg)", "format": "double", "nullable": true }, "SalaryAdditionVariablePercent": { "type": "number", "description": "Variable holiday salary addition percentage for flexible holiday (Rörlig semester)", "format": "double", "nullable": true }, "AddHolSalAddition": { "type": "boolean", "description": "Indicates whether holiday salary addition is paid out at the time of withdrawal", "nullable": true }, "ConsiderSSGSaved": { "type": "boolean", "description": "Indicates whether the degree of employment is considered for saved holiday days", "nullable": true }, "ConsiderHolidayAdditionVariableOldRules": { "type": "boolean", "description": "Indicates whether the old rule for variable holiday is applied (0.5% per day)", "nullable": true }, "Active": { "type": "boolean", "description": "Indicates whether the holiday agreement is active", "nullable": true } }, "additionalProperties": false }, "UpdateHolidayAgreement30Request": { "type": "object", "properties": { "CompensationPercent": { "type": "number", "description": "Holiday compensation percentage (Semestersättning)", "format": "double", "nullable": true }, "ConsiderAvgHourlyPay": { "type": "boolean", "description": "Indicates whether average hourly pay is used instead of calculated hourly pay", "nullable": true }, "Active": { "type": "boolean", "description": "Indicates whether the holiday agreement is active", "nullable": true } }, "additionalProperties": false }, "WageRunResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier for the wage run", "format": "uuid" }, "Description": { "type": "string", "description": "Wage run description", "nullable": true }, "CreatedUtc": { "type": "string", "description": "UTC timestamp when the wage run was created", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "UTC timestamp when the wage run was last modified", "format": "date-time" }, "SalaryPeriodMonthlyFromDateUtc": { "type": "string", "description": "UTC timestamp when payment period starts for monthly salary in this wage run", "format": "date-time" }, "SalaryPeriodMonthlyToDateUtc": { "type": "string", "description": "UTC timestamp when payment period ends for monthly salary in this wage run", "format": "date-time" }, "SalaryPeriodHourlyFromDateUtc": { "type": "string", "description": "UTC timestamp when payment period starts for hourly salary in this wage run", "format": "date-time" }, "SalaryPeriodHourlyToDateUtc": { "type": "string", "description": "UTC timestamp when payment period ends for hourly salary in this wage run", "format": "date-time" }, "DeviationPeriodMonthlyToDateUtc": { "type": "string", "description": "UTC timestamp when deviation period starts", "format": "date-time" }, "DeviationPeriodHourlyToDateUtc": { "type": "string", "description": "UTC timestamp when deviation period ends", "format": "date-time" }, "PaymentDateUtc": { "type": "string", "description": "UTC timestamp when payment is made for this wage run", "format": "date-time" }, "GrossSalary": { "type": "number", "description": "Gross salary sum for this wage run", "format": "double" }, "NetSalary": { "type": "number", "description": "Net salary sum for this wage run", "format": "double" }, "Tax": { "type": "number", "description": "Total tax amount for this wage run", "format": "double" }, "WageRunType": { "type": "integer", "description": "Type of the wage run
Possible values: 1 - ordinary pay, 2 - additional payment", "format": "int32" }, "PayslipIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "List of payslip IDs associated with this wage run", "nullable": true }, "Locked": { "type": "boolean", "description": "Indicates whether the wage run is locked" } }, "additionalProperties": false }, "WorkCategory": { "required": [ "Name" ], "type": "object", "properties": { "Category": { "type": "integer", "description": "Work category code", "format": "int32" }, "Grouping": { "type": "integer", "description": "Work category grouping", "format": "int32" }, "Name": { "type": "string", "description": "Work category name", "nullable": true } }, "additionalProperties": false }, "WorkDayOverrideRequest": { "required": [ "DateToOverride", "EmployeeId" ], "type": "object", "properties": { "EmployeeId": { "type": "string", "description": "The unique identifier of the employee that the work day override should be registered for. Source: Get from /v2/employees", "format": "uuid" }, "DateToOverride": { "type": "string", "description": "Date that should be overriden", "format": "date-time" }, "StartTime": { "type": "string", "description": "Work day start time (format: HH:mm). Null indicates a free day.", "nullable": true }, "EndTime": { "type": "string", "description": "Work day end time (format: HH:mm). Null indicates a free day.", "nullable": true }, "LunchBreakId": { "type": "string", "description": "Unique identifier of a lunch break, if any", "format": "uuid", "nullable": true }, "FirstCoffeeBreakId": { "type": "string", "description": "Unique identifier of a first coffee break, if any", "format": "uuid", "nullable": true }, "SecondCoffeeBreakId": { "type": "string", "description": "Unique identifier of a second coffee break, if any", "format": "uuid", "nullable": true }, "FullTimeStartTime": { "type": "string", "description": "Full-time work day start time (format: HH:mm)", "nullable": true }, "FullTimeEndTime": { "type": "string", "description": "Full-time work day end time (format: HH:mm)", "nullable": true }, "FullTimeLunchBreakId": { "type": "string", "description": "Unique identifier of a lunch break for full-time work day, if any", "format": "uuid", "nullable": true }, "FullTimeFirstCoffeeBreakId": { "type": "string", "description": "Unique identifier of a first coffee break for full-time work day, if any", "format": "uuid", "nullable": true }, "FullTimeSecondCoffeeBreakId": { "type": "string", "description": "Unique identifier of a second coffee break for full-time work day, if any", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "WorkDayOverrideResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "EmployeeId": { "type": "string", "description": "The unique identifier of the employee that the work day is registered for", "format": "uuid" }, "DateToOverride": { "type": "string", "description": "Date that is overriden", "format": "date-time" }, "StartTime": { "type": "string", "description": "Work day start time (format: HH:mm). Null indicates a free day.", "nullable": true }, "EndTime": { "type": "string", "description": "Work day end time (format: HH:mm). Null indicates a free day.", "nullable": true }, "LunchBreakId": { "type": "string", "description": "Unique identifier of a lunch break", "format": "uuid", "nullable": true }, "FirstCoffeeBreakId": { "type": "string", "description": "Unique identifier of a first coffee break", "format": "uuid", "nullable": true }, "SecondCoffeeBreakId": { "type": "string", "description": "Unique identifier of a second coffee break", "format": "uuid", "nullable": true }, "FullTimeStartTime": { "type": "string", "description": "Full-time work day start time (format: HH:mm)", "nullable": true }, "FullTimeEndTime": { "type": "string", "description": "Full-time work day end time (format: HH:mm)", "nullable": true }, "FullTimeLunchBreakId": { "type": "string", "description": "Unique identifier of a lunch break for full-time work day", "format": "uuid", "nullable": true }, "FullTimeFirstCoffeeBreakId": { "type": "string", "description": "Unique identifier of a first coffee break for full-time work day", "format": "uuid", "nullable": true }, "FullTimeSecondCoffeeBreakId": { "type": "string", "description": "Unique identifier of a second coffee break for full-time work day", "format": "uuid", "nullable": true }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the work day override was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the work day override was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "WorkScheduleRequest": { "required": [ "HandleBreakRules", "IsActive", "IsFullTime", "Name", "ScheduleType" ], "type": "object", "properties": { "Name": { "minLength": 1, "type": "string", "description": "Name of the work schedule (max 255 characters)" }, "IsActive": { "type": "boolean", "description": "Is time work schedule active. Inactive schedule can still be used by an employee." }, "ScheduleType": { "type": "integer", "description": "Work schedule type
Possible values: 0 - Scheduled, 1 - Irregular", "format": "int32" }, "HandleBreakRules": { "type": "boolean", "description": "Indicates whether work schedule can handle break rules" }, "IsFullTime": { "type": "boolean", "description": "Indicates whether work schedule is full time" }, "FullTimeWorkScheduleId": { "type": "string", "description": "Unique identifier of the full time work schedule. Required for part-time regular schedules.", "format": "uuid", "nullable": true }, "WorkScheduleTimeAdjustmentId": { "type": "string", "description": "Unique identifier of the work schedule time adjustment. Required for regular schedules.", "format": "uuid", "nullable": true }, "WorkScheduleWorkDaysIrregularWorkingHours": { "allOf": [ { "$ref": "#/components/schemas/WorkScheduleWorkDaysIrregularWorkingHoursRequest" } ], "description": "Work days working hours. Required for irregular schedules.", "nullable": true }, "WorkScheduleWorkDays": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleWorkDayRequest" }, "description": "Work schedule work days. Required for regular schedules.", "nullable": true }, "WorkScheduleSeasons": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleSeasonRequest" }, "description": "Work schedule periods/seasons. Required for regular schedules.", "nullable": true } }, "additionalProperties": false }, "WorkScheduleResponse": { "required": [ "Name" ], "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the work schedule", "nullable": true }, "IsActive": { "type": "boolean", "description": "Is time work schedule active" }, "ScheduleType": { "type": "integer", "description": "Work schedule type
Possible values: 0 - Scheduled, 1 - Irregular", "format": "int32" }, "HandleBreakRules": { "type": "boolean", "description": "Indicates whether work schedule can handle break rules" }, "IsFullTime": { "type": "boolean", "description": "Indicates whether work schedule is full time" }, "CreatedFromExternalApp": { "type": "boolean", "description": "Indicates whether work schedule is created not via VLS", "nullable": true }, "FullTimeWorkScheduleId": { "type": "string", "description": "Unique identifier of the full time work schedule", "format": "uuid", "nullable": true }, "WorkScheduleTimeAdjustmentId": { "type": "string", "description": "Unique identifier of the work schedule time adjustment", "format": "uuid", "nullable": true }, "WorkScheduleWorkDaysIrregularWorkingHours": { "allOf": [ { "$ref": "#/components/schemas/WorkScheduleWorkDaysIrregularWorkingHoursResponse" } ], "description": "Work days working hours for irregular schedules", "nullable": true }, "WorkScheduleWorkDays": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleWorkDayResponse" }, "description": "Work schedule work days", "nullable": true }, "WorkScheduleSeasons": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleSeasonResponse" }, "description": "Work schedule periods/seasons", "nullable": true }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the work schedule was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the work schedule was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "WorkScheduleSeasonRequest": { "required": [ "EndDay", "EndMonth", "PeriodIndex", "StartDay", "StartMonth" ], "type": "object", "properties": { "StartDay": { "type": "integer", "description": "Start day of the season (1-31, depending on the start month)", "format": "int32" }, "StartMonth": { "type": "integer", "description": "Start month of the season (1-12)", "format": "int32" }, "EndDay": { "type": "integer", "description": "End day of the season (1-31, depending on the end month)", "format": "int32" }, "EndMonth": { "type": "integer", "description": "End month of the season (1-12)", "format": "int32" }, "PeriodIndex": { "type": "integer", "description": "Index of the period/season within the work schedule (starting from 0)", "format": "int32" } }, "additionalProperties": false }, "WorkScheduleSeasonResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "StartDay": { "type": "integer", "description": "Start day of the season", "format": "int32" }, "StartMonth": { "type": "integer", "description": "Start month of the season", "format": "int32" }, "EndDay": { "type": "integer", "description": "End day of the season", "format": "int32" }, "EndMonth": { "type": "integer", "description": "End month of the season", "format": "int32" }, "PeriodIndex": { "type": "integer", "description": "Index of the period/season within the work schedule", "format": "int32" }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the work schedule period/season was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the work schedule period/season was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "WorkScheduleTimeAdjustmentRequest": { "required": [ "Name", "WorkScheduleTimeAdjustmentWorkDays" ], "type": "object", "properties": { "Name": { "minLength": 1, "type": "string", "description": "Name of the time adjustment (max 255 characters)" }, "IsActive": { "type": "boolean", "description": "Is time adjustment active" }, "WorkScheduleTimeAdjustmentWorkDays": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleTimeAdjustmentWorkDayRequest" }, "description": "Time adjustment work days", "nullable": true } }, "additionalProperties": false }, "WorkScheduleTimeAdjustmentResponse": { "required": [ "Name", "WorkScheduleTimeAdjustmentWorkDays" ], "type": "object", "properties": { "Id": { "type": "string", "description": "Time adjustment unique identifier", "format": "uuid" }, "Name": { "type": "string", "description": "Name of the time adjustment", "nullable": true }, "IsActive": { "type": "boolean", "description": "Is time adjustment active" }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the time adjustment was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the time adjustment was last modified (UTC)", "format": "date-time" }, "WorkScheduleTimeAdjustmentWorkDays": { "type": "array", "items": { "$ref": "#/components/schemas/WorkScheduleTimeAdjustmentWorkDayResponse" }, "description": "Time adjustment work days", "nullable": true } }, "additionalProperties": false }, "WorkScheduleTimeAdjustmentWorkDayRequest": { "type": "object", "properties": { "CodedDay": { "type": "integer", "description": "Code corresponding to a specific holiday/event day of the year. Either CodedDay or AnnualDate must be provided.
Possible values: 1 - NewYearsDay, 2 - TwelfthDay, 3 - GoodFriDay, 4 - EasterEve, 5 - EasterDay, 6 - DayAfterEasterDay, 7 - FirstOfMay, 8 - AscensionDay, 9 - WhitsunEve, 10 - WhitsunDay, 11 - DayAfterWhitsunDay, 12 - MidsummerEve, 13 - MidsummerDay, 14 - AllSaintsDay, 15 - ChristmasEve, 16 - ChristmasDay, 17 - DayAfterChristmasDay, 18 - NewYearsEve, 19 - MaundyThursday, 20 - TwelfthDayDayBefore, 21 - FirstOfMayDayBefore, 22 - AscensionDayDayBefore, 23 - MidsummerEveDayBefore, 24 - ChristmasEveDayBefore, 25 - NewYearsEveDayBefore, 26 - AscensionDayDayAfter, 27 - AllSaintsDayDayBefore, 30 - NationalDay, 31 - NationalDayDayBefore, 110 - NewYearsDayDayAfter, 120 - NationalDayDayAfter, 130 - MidsummerDayDayAfter", "format": "int32", "nullable": true }, "AnnualDate": { "type": "string", "description": "Date of a recurring day of the year (format: MM-dd). Either CodedDay or AnnualDate must be provided.", "nullable": true }, "MinutesToWork": { "type": "integer", "description": "Number of minutes to work on the specified day. Null indicates day is full time.", "format": "int32", "nullable": true }, "Note": { "type": "string", "description": "Optional note/comment (max 50 characters)", "nullable": true } }, "additionalProperties": false }, "WorkScheduleTimeAdjustmentWorkDayResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Time adjustment work day unique identifier", "format": "uuid" }, "CodedDay": { "type": "integer", "description": "Code corresponding to a specific holiday/event day of the year
Possible values: 1 - NewYearsDay, 2 - TwelfthDay, 3 - GoodFriDay, 4 - EasterEve, 5 - EasterDay, 6 - DayAfterEasterDay, 7 - FirstOfMay, 8 - AscensionDay, 9 - WhitsunEve, 10 - WhitsunDay, 11 - DayAfterWhitsunDay, 12 - MidsummerEve, 13 - MidsummerDay, 14 - AllSaintsDay, 15 - ChristmasEve, 16 - ChristmasDay, 17 - DayAfterChristmasDay, 18 - NewYearsEve, 19 - MaundyThursday, 20 - TwelfthDayDayBefore, 21 - FirstOfMayDayBefore, 22 - AscensionDayDayBefore, 23 - MidsummerEveDayBefore, 24 - ChristmasEveDayBefore, 25 - NewYearsEveDayBefore, 26 - AscensionDayDayAfter, 27 - AllSaintsDayDayBefore, 30 - NationalDay, 31 - NationalDayDayBefore, 110 - NewYearsDayDayAfter, 120 - NationalDayDayAfter, 130 - MidsummerDayDayAfter", "format": "int32", "nullable": true }, "AnnualDate": { "type": "string", "description": "Date of a recurring day of the year (format: MM-dd)", "nullable": true }, "MinutesToWork": { "type": "integer", "description": "Number of minutes to work on the specified day. Null indicates day is full time.", "format": "int32", "nullable": true }, "Note": { "type": "string", "description": "Optional note/comment", "nullable": true }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the time adjustment work day was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the time adjustment work day was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "WorkScheduleWorkDayRequest": { "required": [ "DayIndex", "PeriodIndex", "WeekIndex" ], "type": "object", "properties": { "PeriodIndex": { "type": "integer", "description": "Index of the period/season within the work schedule (starting from 0)", "format": "int32" }, "WeekIndex": { "type": "integer", "description": "Index of the week within the period/season (starting from 0)", "format": "int32" }, "DayIndex": { "maximum": 6, "minimum": 0, "type": "integer", "description": "Index of the day within the week (Monday = 0,..., Sunday = 6)", "format": "int32" }, "StartTime": { "type": "string", "description": "Work day start time (format: HH:mm). Null indicates a free day.", "nullable": true }, "EndTime": { "type": "string", "description": "Work day end time (format: HH:mm). Null indicates a free day.", "nullable": true }, "LunchBreakId": { "type": "string", "description": "Unique identifier of a lunch break, if any", "format": "uuid", "nullable": true }, "FirstCoffeeBreakId": { "type": "string", "description": "Unique identifier of a first coffee break, if any", "format": "uuid", "nullable": true }, "SecondCoffeeBreakId": { "type": "string", "description": "Unique identifier of a second coffee break, if any", "format": "uuid", "nullable": true }, "AverageMinutesToWork": { "maximum": 1440, "minimum": 0, "type": "integer", "description": "Average minutes to work during the day, excluding breaks (max 1440 minutes)", "format": "int32" } }, "additionalProperties": false }, "WorkScheduleWorkDayResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "PeriodIndex": { "type": "integer", "description": "Index of the period/season within the work schedule", "format": "int32" }, "WeekIndex": { "type": "integer", "description": "Index of the week within the period/season", "format": "int32" }, "DayIndex": { "type": "integer", "description": "Index of the day within the week (Monday = 0,..., Sunday = 6)", "format": "int32" }, "StartTime": { "type": "string", "description": "Work day start time (format: HH:mm). Null indicates a free day.", "nullable": true }, "EndTime": { "type": "string", "description": "Work day end time (format: HH:mm). Null indicates a free day.", "nullable": true }, "LunchBreakId": { "type": "string", "description": "Unique identifier of a lunch break, if any", "format": "uuid", "nullable": true }, "FirstCoffeeBreakId": { "type": "string", "description": "Unique identifier of a first coffee break, if any", "format": "uuid", "nullable": true }, "SecondCoffeeBreakId": { "type": "string", "description": "Unique identifier of a second coffee break, if any", "format": "uuid", "nullable": true }, "AverageMinutesToWork": { "type": "integer", "description": "Average minutes to work during the day, excluding breaks", "format": "int32" }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when the work day was created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when the work day was last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "WorkScheduleWorkDaysIrregularWorkingHoursRequest": { "required": [ "MinutesToWorkFullTime" ], "type": "object", "properties": { "MinutesToWorkFullTime": { "maximum": 10080, "minimum": 0, "type": "integer", "description": "Minutes to work for full-time employees per week (max 10080 minutes)", "format": "int32" }, "WorkingDaysFullTime": { "maximum": 7, "minimum": 0, "type": "number", "description": "Number of working days for full-time employees per week (max 7 days)", "format": "double", "nullable": true }, "MinutesToWorkPartTime": { "maximum": 10080, "minimum": 0, "type": "integer", "description": "Minutes to work for part-time employees per week (max 10080 minutes)", "format": "int32", "nullable": true }, "WorkingDaysPartTime": { "maximum": 7, "minimum": 0, "type": "number", "description": "Number of working days for part-time employees per week (max 7 days)", "format": "double", "nullable": true } }, "additionalProperties": false }, "WorkScheduleWorkDaysIrregularWorkingHoursResponse": { "type": "object", "properties": { "Id": { "type": "string", "description": "Unique identifier provided by VLS", "format": "uuid" }, "MinutesToWorkFullTime": { "type": "integer", "description": "Minutes to work for full-time employees per week", "format": "int32" }, "WorkingDaysFullTime": { "type": "number", "description": "Number of working days for full-time employees per week", "format": "double", "nullable": true }, "MinutesToWorkPartTime": { "type": "integer", "description": "Minutes to work for part-time employees per week", "format": "int32", "nullable": true }, "WorkingDaysPartTime": { "type": "number", "description": "Number of working days for part-time employees per week", "format": "double", "nullable": true }, "CreatedUtc": { "type": "string", "description": "Timestamp indicating when work days working hours were created (UTC)", "format": "date-time" }, "ModifiedUtc": { "type": "string", "description": "Timestamp indicating when work days working hours were last modified (UTC)", "format": "date-time" } }, "additionalProperties": false }, "WorkType": { "required": [ "Description", "Name" ], "type": "object", "properties": { "Code": { "type": "integer", "description": "Work type code", "format": "int32" }, "Name": { "type": "string", "description": "Work type name", "nullable": true }, "Description": { "type": "string", "description": "Work type description", "nullable": true } }, "additionalProperties": false } } }, "tags": [ { "name": "WorkScheduleTimeAdjustments", "description": "Operations for managing work schedule time adjustments for a company. Work schedule time adjustments are used to define exceptions for specific dates which are repeating every year.\r\n\r\n" }, { "name": "WorkSchedules", "description": "Operations for managing work schedules for company. Work schedule allows to define working hours for employees, which can work in various schedule types: regular, irregular, full-time, part-time, etc.\r\n\r\n" }, { "name": "WorkDayOverrides", "description": "Operations for managing work day overrides for employees. Work day override allows to specify different working times/duration for specific days.\r\n\r\n" }, { "name": "WageRuns", "description": "Operations for fetching wage runs created for Your company's employees.\r\n\r\n" }, { "name": "TimeRuleAnnualDates", "description": "Operations for managing time rule annual dates for company. Time rule annual dates are used to define specific dates that are relevant for time rules, such as holidays or special events.\r\n\r\n" }, { "name": "TravelAndExpense", "description": "Operations for managing travel and expense shortcuts for employees. Travel and expense shortcuts allow tracking of employee travel and other expenses based on supplied pay code numbers.\r\n\r\n" }, { "name": "TimeBank", "description": "Operations for managing timebank shortcuts for employees. Timebank shortcuts allow tracking of employee accumulated hours expenditure.\r\n\r\n\r\n" }, { "name": "SickLeave", "description": "Operations for managing sick leave shortcuts for employees. Sick leave shortcuts allow tracking of employee sick leave periods with configurable registration methods (time, hours, or percentage).\r\n\r\n\r\n" }, { "name": "ParentalLeave", "description": "Operations for managing parental leave shortcuts for employees. Parental leave shortcuts allow tracking of employee leaves related to parental responsibilities.\r\n\r\n" }, { "name": "Overtime", "description": "Operations for managing overtime shortcuts for employees. Overtime shortcuts allow tracking of employee overtime periods with configurable registration methods (time or hours).\r\n\r\n" }, { "name": "OtherAdditionDeduction", "description": "Operations for managing other addition and deduction shortcuts for employees. Other addition and deduction shortcuts allow tracking of employee additions and/or deductions based on supplied pay code numbers.\r\n\r\n" }, { "name": "OtherAbsence", "description": "Operations for managing other absence shortcuts for employees. Other absence shortcuts allow tracking of employee other (non-specific) absence/leave periods with configurable registration methods (time, hours or percentage).\r\n\r\n" }, { "name": "HoursWorked", "description": "Operations for managing hours worked shortcuts for employees. Hours worked shortcuts allow tracking of employee worked time.\r\n\r\n" }, { "name": "Holiday", "description": "Operations for managing holiday shortcuts for employees. Holiday shortcuts allow tracking of employee holiday/vacation periods.\r\n\r\n" }, { "name": "CareOfSickChild", "description": "Operations for managing care of sick child shortcuts for employees. Care of sick child shortcuts allow tracking of employee leaves related to caring for sick children.\r\n\r\n" }, { "name": "Payslips", "description": "Operations for managing employee payslips. Use this to retrieve a single payslip or list payslips for a specific employee or wage run in your company's payroll system.\r\n\r\n" }, { "name": "PayrollSettings", "description": "Managing company payroll settings, including configuration of payroll periods, tax settings, and other payroll-related preferences. \r\n\r\n\r\n" }, { "name": "Paycodes", "description": "Managing paycodes in your company's payroll system. You can retrieve all paycodes, paycode by specified id and specific travel and expense paycodes, other additional deduction paycodes.\r\n\r\n" }, { "name": "ReportSettings", "description": "Operations for managing report settings in the payroll system. Reports include Fora FOK codes and ByggLosen.\r\n\r\n" }, { "name": "MigrationStatus", "description": "Managing migration status for the VLS migration flow, including retrieving the current migration status for a company.\n\r\n\r\n" }, { "name": "EmployeesMigration", "description": "Managing employee migration data, including creating and updating employees via the migration flow.\n\r\n\r\n" }, { "name": "Company", "description": "Managing company guide state for the migration flow, including completing the VLS guide and MT migration.\n\r\n\r\n" }, { "name": "CompanySettings", "description": "Managing company settings for the migration flow, including payroll periods, payment options, ledger accounts, and holiday agreement configurations.\r\n\r\n\r\n" }, { "name": "ExternalPeriods", "description": "Operations for reporting per-employee values for a deviation period from an external system. An external period carries a percentage-based project/cost-center distribution for the employee's worked time. The values are picked up when they are imported into the payslip for that period.\n\nA period cannot be updated — delete it and create a new one instead. An integration can only see and manage the periods it has created itself.\n\nOverview of the project and cost center distribution of ordinary working time on the payslip: [Fördelning ordinarie arbetstid](https://support.spiris.se/lon/sv-se/content/online-help/payrun-adjust-payslip.htm#fordelning-ordinarie-arbetstid)\n\r\n\r\n" }, { "name": "Employees", "description": "Managing employees in your company's payroll system. You can retrieve employee information including personal details, contract status, employment agreements, work schedules, holiday balances, and time bank values.\r\n\r\n" }, { "name": "BreakRule", "description": "Creating or getting break rules of the company.\r\n\r\n" }, { "name": "Agreements", "description": "Creating or getting agreements for the company.\r\n\r\n" } ] }