{
    "openapi": "3.0.0",
    "info": {
        "title": "Craftboxx API Documentation",
        "description": "\nThis document provides a comprehensive guide to integrating with the Craftboxx API. It is designed for developers looking to build applications and services that interact with the Craftboxx platform.\n\n### Authentication\n\nTo use the API, you must first generate a Bearer access token.\n\n1. Obtain a Token: Send a `POST` request with your employee credentials (email and password) to the `/auth/create-token` endpoint.\n2. Authorize Requests: Include the obtained token in the `Authorization` header for every subsequent API call. The header should be formatted as follows:\n   `Authorization: Bearer <YOUR_ACCESS_TOKEN>`\n\nYour API access is governed by the same permissions you have in the Craftboxx Planner. If your token is invalid or expired, the API will return a `401 Unauthorized` status code.\n\n### API Principles\n\nThis API largely follows RESTful design principles. Endpoints are organized around resources, and it uses standard HTTP methods for operations.\n\n### Requests for Resource Collections\n\nWhen fetching a list of resources (e.g., `/articles`, `/projects`), you can use a variety of query parameters to refine the results.\n\n#### Filtering and Searching\n\n- Generic Search (`q`): Performs a broad search across all relevant fields of a resource.\n  - Example: `/articles?q=Bosch Akkuschrauber`\n- Filter by ID (`id[]`): Retrieves specific resources by their unique IDs.\n  - Example (Single): `/articles?id=50`\n  - Example (Multiple): `/articles?id[]=50&id[]=51`\n- Exclude by ID (`exclude[]`): Excludes specific resources from the results.\n  - Example (Single): `/articles?exclude=50`\n  - Example (Multiple): `/articles?exclude[]=50&exclude[]=51`\n- Attribute Filtering: Filters results based on specific attribute values. By default this is an exact match (`=`). It also supports multiple values using array syntax, and opt-in prefix (`LIKE`) searches (see Comparison Operators).\n  - Example (Exact match): `/articles?manufacturer=Bosch`\n  - Example (Prefix/LIKE search): `/articles?manufacturer=Bosch%&manufacturer_comparison=like`\n  - Example (Multiple values): `/articles?manufacturer[]=Bosch&manufacturer[]=Makita`\n- Comparison Operators: For more precise filtering on attributes like dates or numbers, you can specify a comparison operator. The default (when omitted) is an exact match (`=`).\n  - Example (Date greater than or equal to): `date_comparison=%3E%3D&date=2025-05-01` (where `%3E%3D` is the URL-encoded version of `>=`)\n  - Allowed Operators: `LIKE`, `NOT LIKE`, `=`, `!=`, `>`, `>=`, `<`, `<=`, `between`, `not between`\n  - LIKE searches are restricted to prefix (starts-with) matches: a `%` or `_` wildcard is only allowed as the trailing character, e.g. `name=Test%&name_comparison=like`. Leading or inner wildcards (`%Test`, `Te%t`) are rejected.\n- Range Filtering (`between`): Match a value within (or outside) an inclusive range by passing both bounds as a comma-separated value together with the `between` (or `not between`) comparison. Both bounds are required.\n  - Example (Created within July 2026): `created_at=2026-07-01,2026-07-31&created_at_comparison=between`\n- Date Formats: While many date formats are accepted, the recommended format is ISO-8601 with a timezone, such as `2025-01-01T12:00:00+01:00`.\n\n#### Sorting\n\n- Sort Order (`order_by` & `order_direction`): Sorts the result set by a specific attribute in either ascending or descending order.\n  - Example: `/articles?order_by=manufacturer&order_direction=desc`\n\n#### Pagination\n\n- Paginating Results (`per_page` & `page`): Controls the number of items per page and which page of results to return.\n  - Example: `/articles?per_page=25&page=3`\n\n#### Working with Relationships\n\nRelations are by default not included in the response. They has to be explicitly loaded. You have the following options:\n \n- Load Relations (`with`): Eager-loads related resources to include them in the response, reducing the need for subsequent API calls.\n  - Example (Single): `/articles?with=assignments`\n  - Example (Multiple): `/employees?with[]=assignments&with[]=projects`\n- Filter Fields (`only`): Returns only the specified attributes of a resource, supporting nested structures with dot notation.\n   - Example (Single): `/articles?only=id`\n   - Example (Multiple): `/articles?only[]=id&only[]=name`\n   - Example (Nested): `/assignments?with=project&only[]=id&only[]=project.id`\n- Filter by Relations: Retrieves resources that are associated with another specific resource.\n   - Example (Get all articles for assignment 50): `/articles?assignments=50`\n- Count Relations (`count`): Returns a count of related resources instead of the resources themselves.\n   - Example (Single): `/assignments?with_count=articles`\n   - Example (Multiple): `/assignments?with_count[]=articles&with_count[]=employees`\n- Min / Max value of a Relation: Retrieves the minimum or maximum value of a relation.\n   - Example (Single): `/projects?with_min=assignment.start&with_max=assignment.end`\n   - Example (Multiple): `/projects?with_min[]=assignment.start&with_min[]=documentations.documented_on&with_max[]=assignment.end&with_max[]=documentations.documented_on`\n- Sum of a Relation: Retrieves the sum of a relation.\n   - Example (Single): `/assignment?with_sum=billable_timesheet_activites.duration_seconds`\n   - Example (Multiple): `/assignment?with_sum[]=billable_timesheet_activites.duration_seconds`\n- Filter by Relational Properties: Filters based on the properties of a related model. The model and property are separated by a hyphen.\n   - Example (Find projects by a customer's customer number): `/projects?customer-customer_number=123`\n   - Comparison operators apply here as well, appended to the whole parameter: `/assignments?project-project_nr=SA%&project-project_nr_comparison=like`\n\nNote: For a complete list of filterable attributes and relations for a resource, refer to the attributes available in its corresponding `GET` Schema.\n\n### Requests for a Single Resource\n\nTo retrieve a single resource, make a `GET` request to the resource endpoint with its unique ID.\n\n- Example (Single): `/articles/50`\n- Filter Fields (`only`): Returns only the specified attributes of a resource (Same as the `only` parameter for resource collections)\n    - Example (Single): `/articles/50?only=id`\n    - Example (Multiple): `/articles/50?only[]=id&only[]=name`\n- Load Relations (`load`): You can use `load` for eager-loading related resources (Similar to the `with` parameter for resource collections)\n    - Example (Single): `/timesheets/123?load[]=employee`\n    - Example (Multiple): `/timesheets/123?load[]=activities&load[]=employee`\n- If a resource does not exist, the API will return a `404 Not Found` error.\n\n### HTTP Methods Overview\n\n| Method   | Action                                      | Successful Response | Error Responses                                |\n| :------- | :------------------------------------------ | :------------------ | :--------------------------------------------- |\n| GET      | Retrieves one or a collection of resources. | `200 OK`            | `401 Unauthorized`, `404 Not Found`            |\n| POST     | Creates a new resource.                     | `201 Created`       | `401 Unauthorized`, `422 Unprocessable Entity` |\n| PUT      | Updates an existing resource.               | `200 OK`            | `401 Unauthorized`, `404 Not Found`, `422 Unprocessable Entity` |\n| DELETE   | Deletes a resource.                         | `200 OK`            | `401 Unauthorized`, `404 Not Found`            |\n\n### Common Status Codes\n\n| Code | Meaning                  | Description                                                                 |\n| :--- | :----------------------- | :-------------------------------------------------------------------------- |\n| 200  | OK                       | The request was successful.                                                 |\n| 201  | Created                  | The resource was successfully created (used for `POST` requests).           |\n| 401  | Unauthorized             | The request lacks credentials or permissions.                               |\n| 404  | Not Found                | The requested resource could not be found.                                  |\n| 422  | Unprocessable Entity     | The request was well-formed, but contains semantic errors (e.g., validation failed). |\n| 500  | Internal Server Error    | An unexpected error occurred on the server, often when a requested relation does not exist. Craftboxx is automatically notified about it. |\n\n<br>\n",
        "contact": {
            "name": "CRAFTBOXX GmbH",
            "url": "https://www.craftboxx.de",
            "email": "info@craftboxx.de"
        },
        "version": "1.1.0"
    },
    "servers": [
        {
            "url": "https://api.craftboxx.de"
        }
    ],
    "paths": {
        "/absences/recurring-rules": {
            "get": {
                "tags": [
                    "Absence recurring rules"
                ],
                "summary": "Returns absence recurring rules ",
                "operationId": "ca7c4e6f3f08f71f1a1cc98a417125fd",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/absence_recurring_rule--template_id"
                    },
                    {
                        "$ref": "#/components/parameters/absence_recurring_rule--interval"
                    },
                    {
                        "$ref": "#/components/parameters/absence_recurring_rule--source"
                    },
                    {
                        "$ref": "#/components/parameters/absence_recurring_rule--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absence recurring rules",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Absence recurring rules",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/AbsenceRecurringRule"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Absence recurring rules"
                ],
                "summary": "Create an absence recurring rule",
                "operationId": "713586d844ef89aa4a042592b7f451e8",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAbsenceRecurringRuleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/absences/recurring-rules/{recurringRuleId}": {
            "get": {
                "tags": [
                    "Absence recurring rules"
                ],
                "summary": "Returns a specific absence recurring rule",
                "operationId": "d0ae6d0645ab1fbe48fb0af868647cea",
                "parameters": [
                    {
                        "name": "recurringRuleId",
                        "in": "path",
                        "description": "RecurringRule id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absence recurring rule",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AbsenceRecurringRule"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Absence recurring rules"
                ],
                "summary": "Updates an absence recurring rule ",
                "operationId": "0cd7ee46405cca1eef64bfd02fdaaf45",
                "parameters": [
                    {
                        "name": "recurringRuleId",
                        "in": "path",
                        "description": "Recurring Rule id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateAbsenceRecurringRuleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Absence recurring rules"
                ],
                "summary": "Deletes an absence recurring rule",
                "operationId": "8de478c9317849bbac05854e366e6813",
                "parameters": [
                    {
                        "name": "recurringRuleId",
                        "in": "path",
                        "description": "Recurring rule id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/absences/types": {
            "get": {
                "tags": [
                    "Absence types"
                ],
                "summary": "Returns all available absence reasons",
                "operationId": "3002322a3906effe398289e8d6bc952e",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/absence_type--name"
                    },
                    {
                        "$ref": "#/components/parameters/absence_type--group"
                    },
                    {
                        "$ref": "#/components/parameters/absence_type--color"
                    },
                    {
                        "$ref": "#/components/parameters/absence_type--source"
                    },
                    {
                        "$ref": "#/components/parameters/absence_type--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absence reasons list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Absence reasons list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/AbsenceType"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Absence types"
                ],
                "summary": "Add a new absence reason",
                "operationId": "2fdcd448302ce4370370d5186de6f515",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAbsenceTypeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/absences/types/{typeId}": {
            "get": {
                "tags": [
                    "Absence types"
                ],
                "summary": "Returns a specific absence reason",
                "operationId": "d37641f23057432235b108c9ce400806",
                "parameters": [
                    {
                        "name": "typeId",
                        "in": "path",
                        "description": "Type id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absence reason",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AbsenceType"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Absence types"
                ],
                "summary": "Updates a specific absence reason",
                "operationId": "127f27eca502116e1ec03a31984a9fc2",
                "parameters": [
                    {
                        "name": "typeId",
                        "in": "path",
                        "description": "Tag id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateAbsenceTypeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Absence types"
                ],
                "summary": "Remove absence reason",
                "operationId": "c6c9995b32cab8edfef6fa2e61505420",
                "parameters": [
                    {
                        "name": "typeId",
                        "in": "path",
                        "description": "Absence type id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/absences": {
            "get": {
                "tags": [
                    "Absences"
                ],
                "summary": "Returns absences",
                "operationId": "4eee0abd2b067c35b255527f41a67b80",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--start"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--end"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--started"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--ended"
                    },
                    {
                        "$ref": "#/components/parameters/absence--employees"
                    },
                    {
                        "$ref": "#/components/parameters/absence--type_id"
                    },
                    {
                        "$ref": "#/components/parameters/absence--template_id"
                    },
                    {
                        "$ref": "#/components/parameters/absence--recurring_rule_id"
                    },
                    {
                        "$ref": "#/components/parameters/absence--all_day"
                    },
                    {
                        "$ref": "#/components/parameters/absence--timezone"
                    },
                    {
                        "$ref": "#/components/parameters/absence--hints"
                    },
                    {
                        "$ref": "#/components/parameters/absence--source"
                    },
                    {
                        "$ref": "#/components/parameters/absence--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absences list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Absences list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Absence"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Absences"
                ],
                "summary": "Add absence",
                "operationId": "84deff88656eb04a768b30130377b425",
                "requestBody": {
                    "description": "StoreAbsenceRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAbsenceRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/absences/{absenceId}": {
            "get": {
                "tags": [
                    "Absences"
                ],
                "summary": "Returns specific absence",
                "operationId": "0944b5651ea1c6f4e69877ea2bdbd522",
                "parameters": [
                    {
                        "name": "absenceId",
                        "in": "path",
                        "description": "Absence id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absence",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Absence"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Absences"
                ],
                "summary": "Update absence",
                "operationId": "f64f8f3f247042feccd5df407b6ca75e",
                "parameters": [
                    {
                        "name": "absenceId",
                        "in": "path",
                        "description": "Absence id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateAbsenceRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateAbsenceRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Absences"
                ],
                "summary": "Remove absence",
                "operationId": "3bbf50ce2fa9f92630f66a8be3eedfef",
                "parameters": [
                    {
                        "name": "absenceId",
                        "in": "path",
                        "description": "Absence id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/auth/create-token": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Creates and returns an access token",
                "operationId": "8f0f75cc0d7a77a017b4c99611f27d26",
                "requestBody": {
                    "description": "Authentication request",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AuthRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/auth/revoke-token": {
            "get": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Revokes the current user's access token",
                "operationId": "6ed3d344ec3e63080e0e2a426379ad08",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/articles/groups": {
            "get": {
                "tags": [
                    "Article groups"
                ],
                "summary": "Return articles groups",
                "operationId": "fed088cab499aa5f4f47fb6ad4793d3c",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/article_group--name"
                    },
                    {
                        "$ref": "#/components/parameters/article_group--color"
                    },
                    {
                        "$ref": "#/components/parameters/article_group--source"
                    },
                    {
                        "$ref": "#/components/parameters/article_group--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Article groups list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Article groups list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/ArticleGroup"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Article groups"
                ],
                "summary": "Add a new article group",
                "operationId": "0875651316a79e0659968d0990ab4afe",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreArticleGroupRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/articles/groups/{groupId}": {
            "get": {
                "tags": [
                    "Article groups"
                ],
                "summary": "Returns a specific article group",
                "operationId": "97c2c3ed371853171ad432a256e70fe1",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Article group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Article group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ArticleGroup"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Article groups"
                ],
                "summary": "Update article group",
                "operationId": "0a89ab32fd5f4a92a8031ab22b98759a",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateArticleGroupRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Article groups"
                ],
                "summary": "Remove article group",
                "operationId": "6c3a59948f0e3be44e18c25a4d6fb07d",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Article group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/articles": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "Returns articles",
                "operationId": "20f46a4be21edb0179e4df7acaa45c18",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/article--group_id"
                    },
                    {
                        "$ref": "#/components/parameters/article--picture_id"
                    },
                    {
                        "$ref": "#/components/parameters/article--name"
                    },
                    {
                        "$ref": "#/components/parameters/article--manufacturer"
                    },
                    {
                        "$ref": "#/components/parameters/article--supplier_article_nr"
                    },
                    {
                        "$ref": "#/components/parameters/article--manufacturer_article_nr"
                    },
                    {
                        "$ref": "#/components/parameters/article--ean"
                    },
                    {
                        "$ref": "#/components/parameters/article--unit_price"
                    },
                    {
                        "$ref": "#/components/parameters/article--vat_rate"
                    },
                    {
                        "$ref": "#/components/parameters/article--vat_included"
                    },
                    {
                        "$ref": "#/components/parameters/article--currency"
                    },
                    {
                        "$ref": "#/components/parameters/article--price_date"
                    },
                    {
                        "$ref": "#/components/parameters/article--unit"
                    },
                    {
                        "$ref": "#/components/parameters/article--article_url"
                    },
                    {
                        "$ref": "#/components/parameters/article--info"
                    },
                    {
                        "$ref": "#/components/parameters/article--source"
                    },
                    {
                        "$ref": "#/components/parameters/article--source_external_id"
                    },
                    {
                        "$ref": "#/components/parameters/article--dangerous_material"
                    },
                    {
                        "$ref": "#/components/parameters/article--assignments"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Articles list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Articles list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Article"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Add article",
                "operationId": "9df6bd8bd202eed7afab4cf724e19398",
                "requestBody": {
                    "description": "StoreArticleRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreArticleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/articles/{articleId}": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "Returns a specific article",
                "operationId": "17b2b382f730344552ea2007a461aa27",
                "parameters": [
                    {
                        "name": "articleId",
                        "in": "path",
                        "description": "Article id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Article",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Article"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Articles"
                ],
                "summary": "Update article",
                "operationId": "467ad2f88156aa61f7b6c0797cc2de17",
                "parameters": [
                    {
                        "name": "articleId",
                        "in": "path",
                        "description": "Article id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateArticleRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateArticleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Articles"
                ],
                "summary": "Remove article",
                "operationId": "f2504b52c2eebdc961ee818b0845e956",
                "parameters": [
                    {
                        "name": "articleId",
                        "in": "path",
                        "description": "Article id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments/recurring-rules": {
            "get": {
                "tags": [
                    "Assignment recurring rules"
                ],
                "summary": "Returns assignment recurring rules",
                "operationId": "35bb7a52a7594100c772555a2d350d7c",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_recurring_rule--template_id"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_recurring_rule--interval"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_recurring_rule--source"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_recurring_rule--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Assignment recurring rules",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Assignment recurring rules",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/AssignmentRecurringRule"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Assignment recurring rules"
                ],
                "summary": "Create an assignment recurring rule",
                "operationId": "bdb9cf818fdafac207ac9d92d8bc2ba0",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAssignmentRecurringRuleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments/recurring-rules/{recurringRuleId}": {
            "get": {
                "tags": [
                    "Assignment recurring rules"
                ],
                "summary": "Returns a specific assignment recurring rule",
                "operationId": "6bd16ea30b11e4082f9f262746706fcd",
                "parameters": [
                    {
                        "name": "recurringRuleId",
                        "in": "path",
                        "description": "RecurringRule id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Assignment recurring rule",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AssignmentRecurringRule"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Assignment recurring rules"
                ],
                "summary": "Updates an assignment recurring rule",
                "operationId": "b087be25185bfa63256c145d14f7d667",
                "parameters": [
                    {
                        "name": "recurringRuleId",
                        "in": "path",
                        "description": "Recurring Rule id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateAssignmentRecurringRuleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Assignment recurring rules"
                ],
                "summary": "Deletes an assignment recurring rule",
                "operationId": "3e848ac73b9a50816b9966befb705e23",
                "parameters": [
                    {
                        "name": "recurringRuleId",
                        "in": "path",
                        "description": "RecurringRule id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments/tags": {
            "get": {
                "tags": [
                    "Assignment Tags"
                ],
                "summary": "Returns all available tags",
                "operationId": "70b47e69ad03be757a9b8886bd085dd4",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_tag--name"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_tag--color"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_tag--source"
                    },
                    {
                        "$ref": "#/components/parameters/assignment_tag--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tags list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Tags list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/AssignmentTag"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Assignment Tags"
                ],
                "summary": "Add new tag",
                "operationId": "aa96d8378485159a12f76f66df583158",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAssignmentTagRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments/tags/{tagId}": {
            "get": {
                "tags": [
                    "Assignment Tags"
                ],
                "summary": "Returns specific tag",
                "operationId": "55050a9b78b4a481cadf989a55f564de",
                "parameters": [
                    {
                        "name": "tagId",
                        "in": "path",
                        "description": "Tag id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tag",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AssignmentTag"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Assignment Tags"
                ],
                "summary": "Updates an assignment tag",
                "operationId": "f69f44898d055bba2df11999290a2e1b",
                "parameters": [
                    {
                        "name": "tagId",
                        "in": "path",
                        "description": "Tag id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateAssignmentTagRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Assignment Tags"
                ],
                "summary": "Removes an assignment tag",
                "operationId": "c2e72de8cb76d427bc27f55483bf70c3",
                "parameters": [
                    {
                        "name": "tagId",
                        "in": "path",
                        "description": "Tag id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments": {
            "get": {
                "tags": [
                    "Assignments"
                ],
                "summary": "Returns assignments.",
                "operationId": "5e676b85f8bcc603be0c177760a1b201",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--start"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--end"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--started"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--ended"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--show_archived"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--employees"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--vehicles"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--tools"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--articles"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--tags"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--project_id"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--customer_address_id"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--title"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--state"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--all_day"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--is_template"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--source"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--source_external_id"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--lat"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--lng"
                    },
                    {
                        "$ref": "#/components/parameters/assignment--radius"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Assignments list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Assignments list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Assignment"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Assignments"
                ],
                "summary": "Add assignment",
                "operationId": "ad5b9a0b3a5905244f248a83d310b32a",
                "requestBody": {
                    "description": "StoreAssignmentRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAssignmentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments/{assignmentId}": {
            "get": {
                "tags": [
                    "Assignments"
                ],
                "summary": "Returns a specific assignment",
                "operationId": "441a8591349992f5213fc166cc6e72a2",
                "parameters": [
                    {
                        "name": "assignmentId",
                        "in": "path",
                        "description": "Assignment ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Assignment",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Assignment"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Assignments"
                ],
                "summary": "Updates a specific assignment",
                "operationId": "c22a105cdde4ddcebc98db76a54b963b",
                "parameters": [
                    {
                        "name": "assignmentId",
                        "in": "path",
                        "description": "Assignment ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateAssignmentRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateAssignmentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Assignments"
                ],
                "summary": "Removes an assignment",
                "operationId": "3f9387fdb70e63e17c2653f448ffffa2",
                "parameters": [
                    {
                        "name": "assignmentId",
                        "in": "path",
                        "description": "Assignment id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/assignments/check-availability": {
            "get": {
                "tags": [
                    "Assignments"
                ],
                "summary": "Returns the unavailable employees, vehicles and tools in a date range",
                "operationId": "a61cede49940858a1590e96572d802af",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/availability--start"
                    },
                    {
                        "$ref": "#/components/parameters/availability--end"
                    },
                    {
                        "$ref": "#/components/parameters/availability--exclude"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/customers/addresses": {
            "get": {
                "tags": [
                    "Customer addresses"
                ],
                "summary": "Returns all addresses",
                "operationId": "3dee4aad01ff69afc049ede313d49213",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--customer_id"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--type"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--use"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--name"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--city"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--zip"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--source"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--source_external_id"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--lat"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--lng"
                    },
                    {
                        "$ref": "#/components/parameters/customer_address--radius"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Locations & contacts list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Locations & contacts list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/CustomerAddress"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Customer addresses"
                ],
                "summary": "Add customer address",
                "operationId": "7ca66cbd762ec44d43b3dc76461ec396",
                "requestBody": {
                    "description": "StoreAddressRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreCustomerAddressRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/customers/addresses/{addressId}": {
            "get": {
                "tags": [
                    "Customer addresses"
                ],
                "summary": "Returns a specific customer address",
                "operationId": "0efa5e59a52d52a052d8038340f4a2ff",
                "parameters": [
                    {
                        "name": "addressId",
                        "in": "path",
                        "description": "Address id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Location & contact",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CustomerAddress"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Customer addresses"
                ],
                "summary": "Update customer address",
                "operationId": "4c87088d305c827cd17acf9fc9832236",
                "parameters": [
                    {
                        "name": "addressId",
                        "in": "path",
                        "description": "Address id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateAddressRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateCustomerAddressRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Customer addresses"
                ],
                "summary": "Remove customer address",
                "operationId": "b33037331830a36fa8d06157afefb942",
                "parameters": [
                    {
                        "name": "addressId",
                        "in": "path",
                        "description": "Address id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/customers": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Returns customers",
                "operationId": "cda07c455deb3862267a3326b0c9d8fd",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/customer--name"
                    },
                    {
                        "$ref": "#/components/parameters/customer--name_addon"
                    },
                    {
                        "$ref": "#/components/parameters/customer--customer_number"
                    },
                    {
                        "$ref": "#/components/parameters/customer--info"
                    },
                    {
                        "$ref": "#/components/parameters/customer--source"
                    },
                    {
                        "$ref": "#/components/parameters/customer--source_external_id"
                    },
                    {
                        "$ref": "#/components/parameters/customer--projects"
                    },
                    {
                        "$ref": "#/components/parameters/customer--addresses"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customers list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Customers list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Customer"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Add customer",
                "operationId": "05089f633eadb677aafc9f3d471e7d3e",
                "requestBody": {
                    "description": "StoreCustomerRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreCustomerRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/customers/{customerId}": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Returns specific customer",
                "operationId": "6d6ca4ad1bb2ba570265c2c327a6472f",
                "parameters": [
                    {
                        "name": "customerId",
                        "in": "path",
                        "description": "Customer id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Customer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Customers"
                ],
                "summary": "Update customer",
                "operationId": "2d6c88eaef7804c89b3c6f37e6c503b6",
                "parameters": [
                    {
                        "name": "customerId",
                        "in": "path",
                        "description": "Customer id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateCustomerRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateCustomerRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Customers"
                ],
                "summary": "Remove customer",
                "operationId": "e906cb3910e6bd1240ea3b04da511b86",
                "parameters": [
                    {
                        "name": "customerId",
                        "in": "path",
                        "description": "Customer id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documents": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Returns documents",
                "operationId": "58aa02e52615eb94196343283d7e4b56",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/document--type"
                    },
                    {
                        "$ref": "#/components/parameters/document--title"
                    },
                    {
                        "$ref": "#/components/parameters/document--source"
                    },
                    {
                        "$ref": "#/components/parameters/document--source_external_id"
                    },
                    {
                        "$ref": "#/components/parameters/document--assignments"
                    },
                    {
                        "name": "project_id",
                        "in": "query",
                        "description": "All documents that are global or belong to the project ID.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Documents list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Documents list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Document"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Add a new document",
                "operationId": "1376f0c660d7ac76c951592057ca0d19",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreDocumentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documents/{documentsId}": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Returns a specific document",
                "operationId": "c69a4d81a8829b251c50a2073256a45f",
                "parameters": [
                    {
                        "name": "documentsId",
                        "in": "path",
                        "description": "Document id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Document",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Document"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documents/{documentId}": {
            "put": {
                "tags": [
                    "Documents"
                ],
                "summary": "Update document",
                "operationId": "8770f3d83f0f2d9d225ba3158f73309f",
                "parameters": [
                    {
                        "name": "documentId",
                        "in": "path",
                        "description": "Document id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateDocumentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Remove document",
                "operationId": "868e962b2145844a643da70e368e28f8",
                "parameters": [
                    {
                        "name": "documentId",
                        "in": "path",
                        "description": "Document id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documentations/signatures": {
            "get": {
                "tags": [
                    "Documentation signature templates"
                ],
                "summary": "Returns documentation signature templates",
                "operationId": "fcdbaea6b199ca682b9655203a8faddf",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/documentation_signature--text"
                    },
                    {
                        "$ref": "#/components/parameters/documentation_signature--attachment_possible"
                    },
                    {
                        "$ref": "#/components/parameters/documentation_signature--source"
                    },
                    {
                        "$ref": "#/components/parameters/documentation_signature--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Signature templates list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Signature templates list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/DocumentationSignature"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Documentation signature templates"
                ],
                "summary": "Add a new signature template",
                "operationId": "b0a491bbb8fa03918d086b43b15e2196",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreDocumentationSignatureRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documentations/signatures/{signatureTemplateId}": {
            "get": {
                "tags": [
                    "Documentation signature templates"
                ],
                "summary": "Returns a specific signature template",
                "operationId": "2e510e1713022a991f79bb207b40e7d9",
                "parameters": [
                    {
                        "name": "signatureTemplateId",
                        "in": "path",
                        "description": "Signature template id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Signature template",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DocumentationSignature"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Documentation signature templates"
                ],
                "summary": "Updates a signature template",
                "operationId": "403a4df36b3a760a18159f51cc5e7839",
                "parameters": [
                    {
                        "name": "signatureTemplateId",
                        "in": "path",
                        "description": "Signature template id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateDocumentationSignatureRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documentation signature templates"
                ],
                "summary": "Remove signature template",
                "operationId": "c559ed7042a674ff0dbed2465d2fe80f",
                "parameters": [
                    {
                        "name": "signatureTemplateId",
                        "in": "path",
                        "description": "Signature template id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documentations": {
            "get": {
                "tags": [
                    "Documentations"
                ],
                "summary": "Returns documentation from a specific assignment",
                "operationId": "1ba507fb18e371b924af9c2637d64b57",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--assignment_id"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--author_id"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--title"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--state"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--type"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--source"
                    },
                    {
                        "$ref": "#/components/parameters/documentation--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Documentations list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Documentations list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Documentation"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Documentations"
                ],
                "summary": "Add documentation to a specified assignment",
                "operationId": "3301a37cc248d230743f5bb35b8ae634",
                "requestBody": {
                    "description": "StoreDocumentationRequest",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreDocumentationRequest"
                            }
                        },
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreDocumentationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/documentations/{documentationId}": {
            "get": {
                "tags": [
                    "Documentations"
                ],
                "summary": "Returns specific documentation",
                "operationId": "37e4ae6f217a55c9bcae63c0aee75447",
                "parameters": [
                    {
                        "name": "documentationId",
                        "in": "path",
                        "description": "Documentation id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Documentation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Documentation"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Documentations"
                ],
                "summary": "Updates documentation",
                "operationId": "90dbe6c4de9ceca62d1ea453bc90c5da",
                "parameters": [
                    {
                        "name": "documentationId",
                        "in": "path",
                        "description": "Documentation id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateDocumentationRequest",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateDocumentationRequest"
                            }
                        },
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateDocumentationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Documentations"
                ],
                "summary": "Deletes specific documentation",
                "operationId": "f6ed90c43fdd32f248b14be9830c0d23",
                "parameters": [
                    {
                        "name": "documentationId",
                        "in": "path",
                        "description": "Documentation ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/absence-accounts/balances": {
            "get": {
                "tags": [
                    "Employee absence account balances"
                ],
                "summary": "Returns absence account balances. Use parameters like 'employee_id' and 'year' to filter.",
                "operationId": "f60cc7f31118d6957c81c14f1a36ff9d",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/employee_absence_account_balance--employee_id"
                    },
                    {
                        "$ref": "#/components/parameters/employee_absence_account_balance--year"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Absence account balance list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Yearly absence account balances per employee and year",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/EmployeeAbsenceAccountBalance"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/absence-accounts/balances/{balanceId}": {
            "get": {
                "tags": [
                    "Employee absence account balances"
                ],
                "summary": "Returns a specific absence account balance",
                "operationId": "e3722cae8f1ec70186f3c6ef57f9b97b",
                "parameters": [
                    {
                        "name": "balanceId",
                        "in": "path",
                        "description": "Absence account balance id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Leave balance",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EmployeeAbsenceAccountBalance"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/balance-compensations": {
            "get": {
                "tags": [
                    "Employee balance compensations"
                ],
                "summary": "Returns balance compensations",
                "operationId": "d0e0356a7270e537d6ed5f70e7fd5e49",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/employee_balance_compensation--employee_id"
                    },
                    {
                        "$ref": "#/components/parameters/employee_balance_compensation--date"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Balance compensations list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Balance compensations list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/EmployeeBalanceCompensation"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Employee balance compensations"
                ],
                "summary": "Add new balance compensations",
                "operationId": "94f5b2af45d527fa8e859e5cd37bc175",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreEmployeeBalanceCompensationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/balance-compensations/{balanceCompensationId}": {
            "get": {
                "tags": [
                    "Employee balance compensations"
                ],
                "summary": "Returns specific balance compensation",
                "operationId": "dda49a5c27675551de4f00b683de9bcd",
                "parameters": [
                    {
                        "name": "balanceCompensationId",
                        "in": "path",
                        "description": "Balance compensation id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Balance compensation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EmployeeBalanceCompensation"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Employee balance compensations"
                ],
                "summary": "Update balance compensations",
                "operationId": "94c580d290f5d302d16a4f39963f0fda",
                "parameters": [
                    {
                        "name": "balanceCompensationId",
                        "in": "path",
                        "description": "Balance compensation id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateEmployeeBalanceCompensationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Employee balance compensations"
                ],
                "summary": "Remove a specific balance compensation",
                "operationId": "68a5f5e842af724bf972306a78e03b50",
                "parameters": [
                    {
                        "name": "balanceCompensationId",
                        "in": "path",
                        "description": "Balance compensation id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/groups": {
            "get": {
                "tags": [
                    "Employee groups"
                ],
                "summary": "Returns employees groups",
                "operationId": "930d864b66957a23de2084497817abec",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/employee_group--name"
                    },
                    {
                        "$ref": "#/components/parameters/employee_group--color"
                    },
                    {
                        "$ref": "#/components/parameters/employee_group--source"
                    },
                    {
                        "$ref": "#/components/parameters/employee_group--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Employee Groups list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Employee Groups list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/EmployeeGroup"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Employee groups"
                ],
                "summary": "Add a new employee group",
                "operationId": "9f26b561bfd2ee576032aa1560ce5641",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreEmployeeGroupRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/groups/{groupId}": {
            "get": {
                "tags": [
                    "Employee groups"
                ],
                "summary": "Returns specific employee group",
                "operationId": "7d6cee9ccf9f79b10a8b6ef1cf42a57d",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Employee group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Employee Group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EmployeeGroup"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Employee groups"
                ],
                "summary": "Update employee group",
                "operationId": "950a58985b1e739002b618c2e92a683d",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateEmployeeGroupRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Employee groups"
                ],
                "summary": "Remove employee group",
                "operationId": "fd35de27bc8a4c927a08cad06ae59f93",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Employee group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/target-working-times": {
            "get": {
                "tags": [
                    "Employee target working times"
                ],
                "summary": "Returns employees target working times",
                "operationId": "eae3d10bb4f45874e501bd26cc4565bf",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/employee_target_working_time--employee_id"
                    },
                    {
                        "$ref": "#/components/parameters/employee_target_working_time--starting"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Target working times list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Target working times list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/EmployeeTargetWorkingTime"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Employee target working times"
                ],
                "summary": "Add target working time",
                "operationId": "af23dcc303573b90519d7860c954fbc7",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreTargetWorkingTimeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/target-working-times/{targetWorkingTimeId}": {
            "get": {
                "tags": [
                    "Employee target working times"
                ],
                "summary": "Returns specific employee target working time",
                "operationId": "a048aabd4405f5e0669349c00108382d",
                "parameters": [
                    {
                        "name": "targetWorkingTimeId",
                        "in": "path",
                        "description": "Target working time id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Target working time",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EmployeeTargetWorkingTime"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Employee target working times"
                ],
                "summary": "Update target working time",
                "operationId": "dd6206059bce20e679bd207cafd14445",
                "parameters": [
                    {
                        "name": "targetWorkingTimeId",
                        "in": "path",
                        "description": "Target working time id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateTargetWorkingTimeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Employee target working times"
                ],
                "summary": "Remove target working time",
                "operationId": "64d63e934c5e9838bbbfb9f1edebc361",
                "parameters": [
                    {
                        "name": "targetWorkingTimeId",
                        "in": "path",
                        "description": "Target working time id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/time-accounts/balances": {
            "get": {
                "tags": [
                    "Employee time account balances"
                ],
                "summary": "Returns time account balances. Use parameters 'date' and 'employee_id' to filter.",
                "operationId": "85ba2237df497a73187859ba6058fa2e",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/employee_time_account_balance--employee_id"
                    },
                    {
                        "$ref": "#/components/parameters/employee_time_account_balance--date"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Time accounts list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Time accounts list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/EmployeeTimeAccountBalance"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees": {
            "get": {
                "tags": [
                    "Employees"
                ],
                "summary": "Returns employees",
                "operationId": "9aeb15c3a8c5b0b8b9e0931d1673e787",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/employee--group_id"
                    },
                    {
                        "$ref": "#/components/parameters/employee--picture_id"
                    },
                    {
                        "$ref": "#/components/parameters/employee--first_name"
                    },
                    {
                        "$ref": "#/components/parameters/employee--last_name"
                    },
                    {
                        "$ref": "#/components/parameters/employee--email"
                    },
                    {
                        "$ref": "#/components/parameters/employee--phone"
                    },
                    {
                        "$ref": "#/components/parameters/employee--mobile"
                    },
                    {
                        "$ref": "#/components/parameters/employee--skills"
                    },
                    {
                        "$ref": "#/components/parameters/employee--info"
                    },
                    {
                        "$ref": "#/components/parameters/employee--locale"
                    },
                    {
                        "$ref": "#/components/parameters/employee--number"
                    },
                    {
                        "$ref": "#/components/parameters/employee--position"
                    },
                    {
                        "$ref": "#/components/parameters/employee--department"
                    },
                    {
                        "$ref": "#/components/parameters/employee--inactive"
                    },
                    {
                        "$ref": "#/components/parameters/employee--driver_license"
                    },
                    {
                        "$ref": "#/components/parameters/employee--truck_license"
                    },
                    {
                        "$ref": "#/components/parameters/employee--assignments"
                    },
                    {
                        "$ref": "#/components/parameters/employee--absences"
                    },
                    {
                        "$ref": "#/components/parameters/employee--notes"
                    },
                    {
                        "$ref": "#/components/parameters/employee--lat"
                    },
                    {
                        "$ref": "#/components/parameters/employee--lng"
                    },
                    {
                        "$ref": "#/components/parameters/employee--radius"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Employees list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Employees list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Employee"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Employees"
                ],
                "summary": "Add employee",
                "operationId": "2475af536398d342aca2fd7f60f9af3a",
                "requestBody": {
                    "description": "StoreEmployeeRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreEmployeeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employees/{employeeId}": {
            "get": {
                "tags": [
                    "Employees"
                ],
                "summary": "Returns specific employee",
                "operationId": "31ccfed36ecd34826dd16cbd3d8323cf",
                "parameters": [
                    {
                        "name": "employeeId",
                        "in": "path",
                        "description": "Employee id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Employee",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Employee"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Employees"
                ],
                "summary": "Update employee",
                "operationId": "74b2bfbe6101578f0e9f755a7f956870",
                "parameters": [
                    {
                        "name": "employeeId",
                        "in": "path",
                        "description": "Employee id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateEmployeeRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateEmployeeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Employees"
                ],
                "summary": "Remove employee",
                "operationId": "3da273f73b534fa3a8ba1e9f4566a608",
                "parameters": [
                    {
                        "name": "employeeId",
                        "in": "path",
                        "description": "Employee id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/icons": {
            "get": {
                "tags": [
                    "Icons"
                ],
                "summary": "Returns icons",
                "operationId": "83e0db843ce888eceeaedaa9bafb4fc7",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/icon--icon"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Icon"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/icons/{iconId}": {
            "get": {
                "tags": [
                    "Icons"
                ],
                "summary": "Returns specific icon",
                "operationId": "a77972b11a880b495afdd0b9493baebf",
                "parameters": [
                    {
                        "name": "iconId",
                        "in": "path",
                        "description": "Icon id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Icon"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/licenses": {
            "get": {
                "tags": [
                    "Roles, permissions and licenses"
                ],
                "summary": "Returns licenses",
                "operationId": "c04b7a8e3709aa5fac4dd19c8b321382",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/license--employee_id"
                    },
                    {
                        "$ref": "#/components/parameters/license--source"
                    },
                    {
                        "$ref": "#/components/parameters/license--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Licenses list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Licenses list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/License"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/my/company/settings": {
            "get": {
                "tags": [
                    "My"
                ],
                "summary": "Returns the logged-in company settings",
                "operationId": "0744334ba7c8de653a5a96599ce806a8",
                "responses": {
                    "200": {
                        "description": "Settings",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CompanySettings"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "My"
                ],
                "summary": "Updates the logged-in company settings",
                "operationId": "6ff774c957a321bc7a9674b0b5b5932a",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateMyCompanySettingsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Settings",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/CompanySettings"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/my/company": {
            "get": {
                "tags": [
                    "My"
                ],
                "summary": "Returns your company information",
                "operationId": "c220d325003f3b2d6518105ba15128fb",
                "responses": {
                    "200": {
                        "description": "Company",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Company"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/employee/settings": {
            "get": {
                "tags": [
                    "My"
                ],
                "summary": "Returns the logged-in employee settings",
                "operationId": "d8bac4ee62d602fea9d66a074c932917",
                "responses": {
                    "200": {
                        "description": "Settings",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EmployeeSettings"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "My"
                ],
                "summary": "Updates the logged-in employee settings",
                "operationId": "09e522d29cb70ebb2204a7b4645c39bf",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateMyEmployeeSettingsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Settings",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EmployeeSettings"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/my/employee": {
            "get": {
                "tags": [
                    "My"
                ],
                "summary": "Returns your employee information",
                "operationId": "002847f6e8cf77939b77ecbb97a48dfb",
                "responses": {
                    "200": {
                        "description": "Employee",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Employee"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "My"
                ],
                "summary": "Save information of the logged-in employee",
                "operationId": "482b9bb4c4363683ce7266cb7dea8b5c",
                "requestBody": {
                    "description": "UpdateMyEmployeeRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateMyEmployeeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Employee",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Employee"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notes": {
            "get": {
                "tags": [
                    "Notes"
                ],
                "summary": "Returns notes",
                "operationId": "7fad703d7cfb72e806ec83757fecbf36",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--start"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--end"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--started"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--ended"
                    },
                    {
                        "$ref": "#/components/parameters/note--employees"
                    },
                    {
                        "$ref": "#/components/parameters/note--template_id"
                    },
                    {
                        "$ref": "#/components/parameters/note--title"
                    },
                    {
                        "$ref": "#/components/parameters/note--description"
                    },
                    {
                        "$ref": "#/components/parameters/note--all_day"
                    },
                    {
                        "$ref": "#/components/parameters/note--timezone"
                    },
                    {
                        "$ref": "#/components/parameters/note--source"
                    },
                    {
                        "$ref": "#/components/parameters/note--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Notes list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Notes list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Note"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Notes"
                ],
                "summary": "Add a new note",
                "operationId": "5377750f30a4050374527c2a0e85cfb3",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreNoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notes/{notesId}": {
            "get": {
                "tags": [
                    "Notes"
                ],
                "summary": "Returns a specific note",
                "operationId": "3cfe685dc77c1790b9fbd1eba6d23329",
                "parameters": [
                    {
                        "name": "notesId",
                        "in": "path",
                        "description": "Note id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Note",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Note"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notes/{noteId}": {
            "put": {
                "tags": [
                    "Notes"
                ],
                "summary": "Update note",
                "operationId": "b03e598fb1e928cd281fd799240efb5f",
                "parameters": [
                    {
                        "name": "noteId",
                        "in": "path",
                        "description": "Note id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateNoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Notes"
                ],
                "summary": "Remove note",
                "operationId": "df77c2d5e615557597ac69c07d4d50b7",
                "parameters": [
                    {
                        "name": "noteId",
                        "in": "path",
                        "description": "Note id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notifications": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Returns your notifications",
                "operationId": "b1274a2aaae8a4295a7e1925e8d8090f",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/push_notification--causer_id"
                    },
                    {
                        "$ref": "#/components/parameters/push_notification--type"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Notifications list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Notifications list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PushNotification"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Removes all your notifications",
                "operationId": "83cb9e29aa2e091e93c6b2fc4a689921",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notifications/{notification}": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Returns one of your notifications",
                "operationId": "52b581dca6f3eb7b010de26791edfc80",
                "parameters": [
                    {
                        "name": "notification",
                        "in": "path",
                        "description": "Notification id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Notification",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PushNotification"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Removes one of your notifications",
                "operationId": "e2d094a6e160f95ee6c34a9d99c7863e",
                "parameters": [
                    {
                        "name": "notification",
                        "in": "path",
                        "description": "Notification id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notifications/mark-all-read": {
            "put": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Marks all your notifications as read",
                "description": "Marks every unread notification (read_at is null) as read. Already-read notifications keep their original timestamp. read_at defaults to the current time when omitted.",
                "operationId": "4d53e3eb9d0e49c14388b10eed7f8b18",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdatePushNotificationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notifications/{notification}/mark-read": {
            "put": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Marks one of your notifications as read",
                "description": "read_at defaults to the current time when omitted.",
                "operationId": "40590b31845b39d3136fde8bddd0d46d",
                "parameters": [
                    {
                        "name": "notification",
                        "in": "path",
                        "description": "Notification id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdatePushNotificationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Notification",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PushNotification"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/notifications/send": {
            "post": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Sends a message to selected employees or the whole company",
                "description": "Requires the \"notification.index\" permission.",
                "operationId": "e503c9bb99880f57195770d4c1aa76b8",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SendNotificationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/projects": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "Returns projects",
                "operationId": "e66a4b9c561c9e3e0b98d95b6437ff91",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/project--customer_id"
                    },
                    {
                        "$ref": "#/components/parameters/project--title"
                    },
                    {
                        "$ref": "#/components/parameters/project--project_nr"
                    },
                    {
                        "$ref": "#/components/parameters/project--source"
                    },
                    {
                        "$ref": "#/components/parameters/project--source_external_id"
                    },
                    {
                        "$ref": "#/components/parameters/project--assignments"
                    },
                    {
                        "$ref": "#/components/parameters/project--assignment_employees"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Projects list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Project"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Add a project",
                "operationId": "3e5e24c249cabe95d4c10927fda15c42",
                "requestBody": {
                    "description": "StoreProjectRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreProjectRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/projects/{projectId}": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "Returns a specific project",
                "operationId": "ac75596f4bf3c5cb62b7293586b69d1d",
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Project id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Project"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Projects"
                ],
                "summary": "Update project",
                "operationId": "6cd01e1b09fc43f128147b6e87f6cfca",
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Project id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateProjectRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateProjectRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Projects"
                ],
                "summary": "Remove project",
                "operationId": "f59aeb700e512c35f5dd079f95205bb6",
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "ProjectId ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/projects/{projectId}/share": {
            "get": {
                "tags": [
                    "Projects"
                ],
                "summary": "Returns a sharable link",
                "operationId": "3461da18c29884d98909655aeecaf87d",
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Project id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "assignment_id",
                        "in": "query",
                        "description": "The assignment ids to share. Deliver none to share the whole project",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/projects/{projectId}/pdf": {
            "post": {
                "tags": [
                    "Projects"
                ],
                "summary": "Generates a project PDF",
                "operationId": "f4cf40b63d88af21a018a46e101a2cf9",
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Project id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "GeneratePdfRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GeneratePdfRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/roles": {
            "get": {
                "tags": [
                    "Roles, permissions and licenses"
                ],
                "summary": "Returns roles",
                "operationId": "a54b004ebbd6168338f4feed2095aa40",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/role--name"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Roles list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Roles list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Role"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets/activities/types": {
            "get": {
                "tags": [
                    "Timesheet activity types"
                ],
                "summary": "Returns all timesheet activities types",
                "operationId": "940d700952e99dedb0c93399988a843d",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activity types list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Activity types list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/TimesheetActivityType"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Timesheet activity types"
                ],
                "summary": "Adds a timesheet activity type to a timesheet",
                "operationId": "7a268835a7f876d592fa806d60468409",
                "requestBody": {
                    "description": "StoreTypeRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreTimesheetActivityTypeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets/activities/types/{typeId}": {
            "get": {
                "tags": [
                    "Timesheet activity types"
                ],
                "summary": "Returns specific timesheet activity",
                "operationId": "86fda17ee791eff203acce74e73ffd4b",
                "parameters": [
                    {
                        "name": "typeId",
                        "in": "path",
                        "description": "Timesheet activity type id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activity type",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TimesheetActivityType"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Timesheet activity types"
                ],
                "summary": "Updates specific timesheet activity type",
                "operationId": "f70b39ee9415e04664c7500bd88d44ab",
                "parameters": [
                    {
                        "name": "typeId",
                        "in": "path",
                        "description": "Timesheet activity type ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateTypeRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateTimesheetActivityTypeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Timesheet activity types"
                ],
                "summary": "Remove the timesheet activity type",
                "operationId": "51c76e68d4073126066ad34d008fd57e",
                "parameters": [
                    {
                        "name": "typeId",
                        "in": "path",
                        "description": "Timesheet activity type id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets/activities": {
            "get": {
                "tags": [
                    "Timesheet activities"
                ],
                "summary": "Returns all timesheet activities",
                "operationId": "436f7a25bb43edad42ef9e15fb2f07e5",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--start"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--end"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--started"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--ended"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--timesheet_id"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--type_id"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--assignment_id"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--documentation_id"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--lat"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--lng"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet_activity--radius"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activities list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Activities list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/TimesheetActivity"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Timesheet activities"
                ],
                "summary": "Adds timesheet activity to a timesheet",
                "operationId": "85fd57fadcb057c960246e3b1c804311",
                "requestBody": {
                    "description": "StoreActivityRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreTimesheetActivityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets/activities/{activityId}": {
            "get": {
                "tags": [
                    "Timesheet activities"
                ],
                "summary": "Returns specific timesheet activity",
                "operationId": "7a12804522ba6643f83f84a4af968ca5",
                "parameters": [
                    {
                        "name": "activityId",
                        "in": "path",
                        "description": "Timesheet activity id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activity",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TimesheetActivity"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Timesheet activities"
                ],
                "summary": "Updates specific timesheet activity",
                "operationId": "eb966141b60c8d217e5cbc823b941f1d",
                "parameters": [
                    {
                        "name": "activityId",
                        "in": "path",
                        "description": "Timesheet activity ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateActivityRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateTimesheetActivityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Timesheet activities"
                ],
                "summary": "Remove timesheet activity (activity)",
                "operationId": "906c8b40ba3f1aa66d3bc104fcaed311",
                "parameters": [
                    {
                        "name": "activityId",
                        "in": "path",
                        "description": "Timesheet activity id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets": {
            "get": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Returns timesheets",
                "operationId": "97f5415184dc9433a1b1fe55178240b2",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--start"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--end"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--started"
                    },
                    {
                        "$ref": "#/components/parameters/schedulable--ended"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet--employee_id"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet--working_time"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet--break_time"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet--source"
                    },
                    {
                        "$ref": "#/components/parameters/timesheet--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timesheets list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Timesheets list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Timesheet"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Add a timesheet",
                "operationId": "92d97e7cb3d8f06195a1dc7b213fe2bd",
                "requestBody": {
                    "description": "StoreTimesheetRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreTimesheetRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets/{timesheetId}": {
            "get": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Returns a specific timesheet",
                "operationId": "fd81cef869e1a67d20623d817ef53c82",
                "parameters": [
                    {
                        "name": "timesheetId",
                        "in": "path",
                        "description": "Timesheet id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timesheet",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Timesheet"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Updates specific timesheet",
                "operationId": "897ae5953307532e8b30e67050cb662d",
                "parameters": [
                    {
                        "name": "timesheetId",
                        "in": "path",
                        "description": "Timesheet ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateTimesheetRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateTimesheetRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Remove timesheet",
                "operationId": "ad0cfc76d1664fa53d429a579f4d44da",
                "parameters": [
                    {
                        "name": "timesheetId",
                        "in": "path",
                        "description": "Timesheet id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/timesheets/{timesheetId}/insert-auto-break-activity": {
            "post": {
                "tags": [
                    "Timesheets"
                ],
                "summary": "Adds a break in the middle of the timesheet depending on the company settings. ",
                "operationId": "7a94f585fc73919a62af07c9db1c380b",
                "parameters": [
                    {
                        "name": "timesheetId",
                        "in": "path",
                        "description": "Timesheet id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "204": {
                        "description": "Will be returned if the break cannot be created. Reasons can be: There is already one break tracked, not enough working time, or the auto break feature is not activated."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/tools/groups": {
            "get": {
                "tags": [
                    "Tool groups"
                ],
                "summary": "Returns tool groups",
                "operationId": "a87b03b0f01307ce3d5a8cff5eb1279f",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/tool_group--name"
                    },
                    {
                        "$ref": "#/components/parameters/tool_group--color"
                    },
                    {
                        "$ref": "#/components/parameters/tool_group--source"
                    },
                    {
                        "$ref": "#/components/parameters/tool_group--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Resource groups list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Resource groups list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/ToolGroup"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Tool groups"
                ],
                "summary": "Add a new tool group",
                "operationId": "851503a6570b726b4b07e0ad315ee611",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreToolGroupRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/tools/groups/{groupId}": {
            "get": {
                "tags": [
                    "Tool groups"
                ],
                "summary": "Returns a specific tool group",
                "operationId": "05b61fd750aedc4222beefc61b31bdc5",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Tool group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Resource group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ToolGroup"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Tool groups"
                ],
                "summary": "Update tool group",
                "operationId": "e12b671b613dfb39f0b293713e4bca8d",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateToolGroupRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Tool groups"
                ],
                "summary": "Remove the tool group",
                "operationId": "c6ba7bf7cc9bd333c5ee4865e6970730",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Tool group id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/tools": {
            "get": {
                "tags": [
                    "Tools"
                ],
                "summary": "Returns tools",
                "operationId": "c5a85c8b85693c666eadaf2d94ff79a0",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/tool--group_id"
                    },
                    {
                        "$ref": "#/components/parameters/tool--picture_id"
                    },
                    {
                        "$ref": "#/components/parameters/tool--manufacturer"
                    },
                    {
                        "$ref": "#/components/parameters/tool--model"
                    },
                    {
                        "$ref": "#/components/parameters/tool--serial_number"
                    },
                    {
                        "$ref": "#/components/parameters/tool--condition"
                    },
                    {
                        "$ref": "#/components/parameters/tool--next_maintenance"
                    },
                    {
                        "$ref": "#/components/parameters/tool--info"
                    },
                    {
                        "$ref": "#/components/parameters/tool--source"
                    },
                    {
                        "$ref": "#/components/parameters/tool--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tools list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Tools list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Tool"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Tools"
                ],
                "summary": "Add a new tool",
                "operationId": "9016de86c9db5a45860822281742a2d3",
                "requestBody": {
                    "description": "StoreToolRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreToolRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/tools/{toolId}": {
            "get": {
                "tags": [
                    "Tools"
                ],
                "summary": "Returns specific tool",
                "operationId": "fa91d2a73f1a943d9f390e1d4cef2633",
                "parameters": [
                    {
                        "name": "toolId",
                        "in": "path",
                        "description": "Tool id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tool",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Tool"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Tools"
                ],
                "summary": "Update tool",
                "operationId": "ad78311ea7a1d7b987773351db9ff771",
                "parameters": [
                    {
                        "name": "toolId",
                        "in": "path",
                        "description": "Tool id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateToolRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateToolRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Tools"
                ],
                "summary": "Remove tool",
                "operationId": "8cc5b120b27fadf58005c9918d8f30bc",
                "parameters": [
                    {
                        "name": "toolId",
                        "in": "path",
                        "description": "Absence id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/uploads": {
            "get": {
                "tags": [
                    "Uploads"
                ],
                "summary": "Returns uploads",
                "operationId": "84d7232e0b95d85b1e31b2d90c76d0a4",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/upload--file_type"
                    },
                    {
                        "$ref": "#/components/parameters/upload--file_mime_type"
                    },
                    {
                        "$ref": "#/components/parameters/upload--processed"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Uploads list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Uploads list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Upload"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/uploads/{uploadId}": {
            "get": {
                "tags": [
                    "Uploads"
                ],
                "summary": "Returns specific upload",
                "operationId": "441493fc3a457637320e98696450affa",
                "parameters": [
                    {
                        "name": "uploadId",
                        "in": "path",
                        "description": "Upload id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upload",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Upload"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/vehicles": {
            "get": {
                "tags": [
                    "Vehicles"
                ],
                "summary": "Returns vehicles",
                "operationId": "f627fb85543e356532922246d50e6e2a",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/general--id"
                    },
                    {
                        "$ref": "#/components/parameters/general--per_page"
                    },
                    {
                        "$ref": "#/components/parameters/general--page"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/general--return"
                    },
                    {
                        "$ref": "#/components/parameters/general--group_by"
                    },
                    {
                        "$ref": "#/components/parameters/general--with"
                    },
                    {
                        "$ref": "#/components/parameters/general--exclude"
                    },
                    {
                        "$ref": "#/components/parameters/general--q"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--manufacturer"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--picture_id"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--model"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--registration_number"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--license_plate"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--condition"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--date_of_purchase"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--next_maintenance"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--mot_expires"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--info"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--source"
                    },
                    {
                        "$ref": "#/components/parameters/vehicle--source_external_id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Vehicles list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/PaginatedResponse"
                                                },
                                                {
                                                    "properties": {
                                                        "data": {
                                                            "description": "Vehicles list",
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Vehicle"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            ]
                                        },
                                        {
                                            "$ref": "#/components/schemas/AggregateResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/GroupedAggregateResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "post": {
                "tags": [
                    "Vehicles"
                ],
                "summary": "Add vehicle",
                "operationId": "3b250a933fc5648aedd688fdcf4eae81",
                "requestBody": {
                    "description": "StoreVehicleRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreVehicleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/Created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        },
        "/vehicles/{vehicleId}": {
            "get": {
                "tags": [
                    "Vehicles"
                ],
                "summary": "Returns a specific vehicle",
                "operationId": "28a798564a5769abcbd747b2d6d2fe8d",
                "parameters": [
                    {
                        "name": "vehicleId",
                        "in": "path",
                        "description": "Vehicle id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Vehicle",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Vehicle"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "put": {
                "tags": [
                    "Vehicles"
                ],
                "summary": "Updates vehicle",
                "operationId": "113ede87ef2849cdad2137f9b5999e60",
                "parameters": [
                    {
                        "name": "vehicleId",
                        "in": "path",
                        "description": "Vehicle id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "UpdateVehicleRequest",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateVehicleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Vehicles"
                ],
                "summary": "Remove vehicle",
                "operationId": "bfc403e718c4eef60e3bee6062dcb4a0",
                "parameters": [
                    {
                        "name": "vehicleId",
                        "in": "path",
                        "description": "Vehicle id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Success"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "500": {
                        "$ref": "#/components/responses/InternalServerError"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "StoreAbsenceRecurringRuleRequest": {
                "title": "StoreAbsenceRecurringRuleRequest",
                "required": [
                    "template_id",
                    "interval"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateAbsenceRecurringRuleRequest"
                    },
                    {
                        "properties": {
                            "template_id": {
                                "title": "template_id",
                                "description": "The template for creating new absence recurring rule",
                                "type": "integer"
                            },
                            "interval": {
                                "title": "interval",
                                "description": "The interval for creating new absences for the recurring rule",
                                "type": "integer",
                                "enum": [
                                    "DAILY",
                                    "DAILY_MON_TO_FRI",
                                    "WEEKLY",
                                    "TWO_WEEKLY",
                                    "THREE_WEEKLY",
                                    "FOUR_WEEKLY",
                                    "SIX_WEEKLY",
                                    "EIGHT_WEEKLY",
                                    "MONTHLY",
                                    "QUARTERLY",
                                    "HALF_YEARLY",
                                    "YEARLY"
                                ]
                            },
                            "start": {
                                "title": "start",
                                "description": "The start of the recurring rule, if not sent, the start of the absence (template_id) is being used",
                                "type": "string"
                            },
                            "end": {
                                "title": "end",
                                "description": "The end of the recurring rule. If not set -> no ending",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateAbsenceRecurringRuleRequest": {
                "title": "UpdateAbsenceRecurringRuleRequest",
                "properties": {
                    "end": {
                        "title": "end",
                        "description": "The end of the recurring rule",
                        "type": "string"
                    },
                    "template_id": {
                        "title": "template_id",
                        "description": "The template for creating new appointments of the recurring rule",
                        "type": "integer"
                    },
                    "source": {
                        "title": "source",
                        "description": "The recurring rule source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The recurring rule source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreAbsenceRequest": {
                "title": "StoreAbsenceRequest",
                "required": [
                    "type",
                    "employees"
                ],
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateAbsenceRequest"
                    }
                ]
            },
            "StoreAbsenceTypeRequest": {
                "title": "StoreAbsenceTypeRequest",
                "required": [
                    "name",
                    "color"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateAbsenceTypeRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "The name of the absence type",
                                "type": "string"
                            },
                            "color": {
                                "title": "color",
                                "description": "The color of the absence type. Use #FFEEFF Hex format",
                                "type": "string"
                            },
                            "group": {
                                "title": "group",
                                "description": "The group of the absence type. Values: holiday, sick, null",
                                "type": "string"
                            },
                            "custom_icon_id": {
                                "title": "custom_icon_id",
                                "description": "The icon id",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateAbsenceTypeRequest": {
                "title": "UpdateAbsenceTypeRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "The name of the absence type",
                        "type": "string"
                    },
                    "color": {
                        "title": "color",
                        "description": "The color of the absence type. Use #FFEEFF Hex format",
                        "type": "string"
                    },
                    "group": {
                        "title": "group",
                        "description": "The group of the absence type. Values: holiday, sick, null",
                        "type": "string",
                        "enum": [
                            "holiday",
                            "sick",
                            "other"
                        ]
                    },
                    "custom_icon_id": {
                        "title": "custom_icon_id",
                        "description": "The icon id",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The type source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The type source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "UpdateAbsenceRequest": {
                "title": "UpdateAbsenceRequest",
                "required": [
                    "type",
                    "employees"
                ],
                "properties": {
                    "type": {
                        "title": "type",
                        "description": "Absence type id (1=holiday, 2=sick + your type from absence/types)",
                        "type": "integer",
                        "example": 1
                    },
                    "employees": {
                        "title": "employees",
                        "description": "Employees ids",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "all_day": {
                        "title": "all_day",
                        "description": "all_day absence?",
                        "type": "boolean",
                        "example": false
                    },
                    "start": {
                        "title": "start",
                        "description": "The absence start",
                        "type": "string",
                        "format": "date-time",
                        "example": "2026-07-01T08:00:00+02:00"
                    },
                    "end": {
                        "title": "end",
                        "description": "The absence end",
                        "type": "string",
                        "format": "date-time",
                        "example": "2026-07-05T17:00:00+02:00"
                    },
                    "source": {
                        "title": "source",
                        "description": "The absence source",
                        "type": "string",
                        "example": "api"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The absence source_external_id",
                        "type": "string",
                        "example": "ext-12345"
                    }
                },
                "type": "object"
            },
            "StoreArticleGroupRequest": {
                "title": "StoreArticleGroupRequest",
                "required": [
                    "name",
                    "color"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateArticleGroupRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "Article Group Name",
                                "type": "string"
                            },
                            "color": {
                                "title": "color",
                                "description": "Group color",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateArticleGroupRequest": {
                "title": "UpdateArticleGroupRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "Article Group Name",
                        "type": "string"
                    },
                    "color": {
                        "title": "color",
                        "description": "Group color",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The group source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The group source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreArticleRequest": {
                "title": "StoreArticleRequest",
                "required": [
                    "name"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateArticleRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "Article name",
                                "type": "string",
                                "example": "Akkuschrauber GSR 18V"
                            },
                            "manufacturer": {
                                "title": "manufacturer",
                                "description": "Article manufacturer",
                                "type": "string",
                                "example": "Bosch"
                            },
                            "manufacturer_article_nr": {
                                "title": "manufacturer_article_nr",
                                "description": "Article manufacturer number",
                                "type": "string"
                            },
                            "ean": {
                                "title": "ean",
                                "description": "Article EAN",
                                "type": "string"
                            },
                            "supplier_article_nr": {
                                "title": "supplier_article_nr",
                                "description": "Supplier article number",
                                "type": "string"
                            },
                            "unit_price": {
                                "title": "unit_price",
                                "description": "Price",
                                "type": "number",
                                "format": "float",
                                "example": 129.9
                            },
                            "currency": {
                                "title": "currency",
                                "description": "Currency",
                                "type": "string",
                                "enum": [
                                    "EUR",
                                    "USD",
                                    "CHF",
                                    "UAH",
                                    "PLN",
                                    "RON"
                                ]
                            },
                            "vat_rate": {
                                "title": "vat_rate",
                                "description": "VAT rate",
                                "type": "number",
                                "format": "float",
                                "example": 19
                            },
                            "vat_included": {
                                "title": "vat_included",
                                "description": "Price is VAT included",
                                "type": "boolean",
                                "enum": [
                                    "0",
                                    "1"
                                ]
                            },
                            "unit": {
                                "title": "unit",
                                "description": "Unit",
                                "type": "string",
                                "enum": [
                                    "BAG",
                                    "BAR",
                                    "BOTTLE",
                                    "BOX",
                                    "BUCKET",
                                    "BUNCH",
                                    "CAN",
                                    "CANISTER",
                                    "CARDBOARD",
                                    "CUBIC_METRE",
                                    "CENTIMETERS",
                                    "CONTAINER",
                                    "DAYS",
                                    "DOZEN",
                                    "FLAT_FEE",
                                    "GRAMS",
                                    "HOURS",
                                    "KILOGRAMS",
                                    "KILOMETER",
                                    "KILOWATT_PEAK",
                                    "LITRE",
                                    "METRES",
                                    "MILLILITRE",
                                    "MILLIMETRES",
                                    "PACK",
                                    "PAIR",
                                    "PANEL",
                                    "PARCEL",
                                    "PERCENT",
                                    "PIECE",
                                    "ROLL",
                                    "RUNNING_METER",
                                    "SAC",
                                    "SET",
                                    "SQUAREMETER",
                                    "TONS",
                                    "TRIMMING",
                                    "TUBE"
                                ]
                            },
                            "price_date": {
                                "title": "price_date",
                                "description": "From(price date)",
                                "type": "string",
                                "format": "date-time"
                            },
                            "article_url": {
                                "title": "article_url",
                                "description": "Article url",
                                "type": "string"
                            },
                            "info": {
                                "title": "info",
                                "description": "Description",
                                "type": "string"
                            },
                            "dangerous_material": {
                                "title": "dangerous_material",
                                "description": "Is it dangerous material?",
                                "type": "boolean"
                            },
                            "group_id": {
                                "title": "group_id",
                                "description": "Group id",
                                "type": "integer"
                            },
                            "used": {
                                "title": "used",
                                "description": "Amount of used material",
                                "type": "number",
                                "format": "float"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateArticleRequest": {
                "title": "UpdateArticleRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "Article name",
                        "type": "string"
                    },
                    "manufacturer": {
                        "title": "manufacturer",
                        "description": "Article manufacturer",
                        "type": "string"
                    },
                    "manufacturer_article_nr": {
                        "title": "manufacturer_article_nr",
                        "description": "Article manufacturer number",
                        "type": "string"
                    },
                    "ean": {
                        "title": "ean",
                        "description": "Article EAN",
                        "type": "string"
                    },
                    "supplier_article_nr": {
                        "title": "supplier_article_nr",
                        "description": "Supplier article number",
                        "type": "string"
                    },
                    "unit_price": {
                        "title": "unit_price",
                        "description": "Price",
                        "type": "number",
                        "format": "float",
                        "example": 2.5
                    },
                    "currency": {
                        "title": "currency",
                        "description": "Currency",
                        "type": "string",
                        "enum": [
                            "EUR",
                            "USD",
                            "CHF",
                            "UAH",
                            "PLN",
                            "RON"
                        ]
                    },
                    "vat_rate": {
                        "title": "vat_rate",
                        "description": "VAT rate",
                        "type": "number",
                        "format": "float",
                        "example": 19
                    },
                    "vat_included": {
                        "title": "vat_included",
                        "description": "Price is VAT included",
                        "type": "boolean",
                        "enum": [
                            "0",
                            "1"
                        ]
                    },
                    "unit": {
                        "title": "unit",
                        "description": "Unit",
                        "type": "string",
                        "enum": [
                            "BAG",
                            "BAR",
                            "BOTTLE",
                            "BOX",
                            "BUCKET",
                            "BUNCH",
                            "CAN",
                            "CANISTER",
                            "CARDBOARD",
                            "CUBIC_METRE",
                            "CENTIMETERS",
                            "CONTAINER",
                            "DAYS",
                            "DOZEN",
                            "FLAT_FEE",
                            "GRAMS",
                            "HOURS",
                            "KILOGRAMS",
                            "KILOMETER",
                            "KILOWATT_PEAK",
                            "LITRE",
                            "METRES",
                            "MILLILITRE",
                            "MILLIMETRES",
                            "PACK",
                            "PAIR",
                            "PANEL",
                            "PARCEL",
                            "PERCENT",
                            "PIECE",
                            "ROLL",
                            "RUNNING_METER",
                            "SAC",
                            "SET",
                            "SQUAREMETER",
                            "TONS",
                            "TRIMMING",
                            "TUBE"
                        ]
                    },
                    "price_date": {
                        "title": "price_date",
                        "description": "From(price date)",
                        "type": "string",
                        "format": "date-time"
                    },
                    "article_url": {
                        "title": "article_url",
                        "description": "Article url",
                        "type": "string"
                    },
                    "info": {
                        "title": "info",
                        "description": "Description",
                        "type": "string"
                    },
                    "dangerous_material": {
                        "title": "dangerous_material",
                        "description": "Is it dangerous material?",
                        "type": "boolean"
                    },
                    "group_id": {
                        "title": "group_id",
                        "description": "Group id",
                        "type": "integer"
                    },
                    "used": {
                        "title": "used",
                        "description": "Amount of used material",
                        "type": "number",
                        "format": "float",
                        "example": 0.5
                    },
                    "source": {
                        "title": "source",
                        "description": "The article source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The article source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreAssignmentRecurringRuleRequest": {
                "title": "StoreAssignmentRecurringRuleRequest",
                "required": [
                    "template_id",
                    "interval"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateAssignmentRecurringRuleRequest"
                    },
                    {
                        "properties": {
                            "template_id": {
                                "title": "template_id",
                                "description": "The template for creating new appointments for the recurring rule",
                                "type": "integer"
                            },
                            "interval": {
                                "title": "interval",
                                "description": "The interval for creating new appointments for the recurring rule",
                                "type": "integer",
                                "enum": [
                                    "DAILY",
                                    "DAILY_MON_TO_FRI",
                                    "WEEKLY",
                                    "TWO_WEEKLY",
                                    "THREE_WEEKLY",
                                    "FOUR_WEEKLY",
                                    "SIX_WEEKLY",
                                    "EIGHT_WEEKLY",
                                    "MONTHLY",
                                    "QUARTERLY",
                                    "HALF_YEARLY",
                                    "YEARLY"
                                ]
                            },
                            "start": {
                                "title": "start",
                                "description": "The start of the recurring rule, if not sent, the start of the appointment (template_id) is being used",
                                "type": "string"
                            },
                            "end": {
                                "title": "end",
                                "description": "The end of the recurring rule. If not set -> no ending",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateAssignmentRecurringRuleRequest": {
                "title": "UpdateAssignmentRecurringRuleRequest",
                "properties": {
                    "end": {
                        "title": "end",
                        "description": "The end of the recurring rule",
                        "type": "string"
                    },
                    "template_id": {
                        "title": "template_id",
                        "description": "The template for creating new appointment for the recurring rule",
                        "type": "integer"
                    },
                    "source": {
                        "title": "source",
                        "description": "The recurring rule source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The recurring rule source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreAssignmentRequest": {
                "title": "StoreAssignmentRequest",
                "required": [
                    "title",
                    "project_id"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateAssignmentRequest"
                    },
                    {
                        "properties": {
                            "project_id": {
                                "title": "project_id",
                                "description": "The assignment project id",
                                "type": "integer"
                            },
                            "customer_address_id": {
                                "title": "customer_address_id",
                                "description": "The assignment customer addressid id",
                                "type": "integer"
                            },
                            "title": {
                                "title": "title",
                                "description": "The assignment title",
                                "type": "string"
                            },
                            "description": {
                                "title": "description",
                                "description": "The assignment description",
                                "type": "string"
                            },
                            "to_be_documented": {
                                "title": "to_be_documented",
                                "description": "The assignment 'to be documented info' ",
                                "type": "string"
                            },
                            "internal_info": {
                                "title": "internal_info",
                                "description": "The assignment 'internal planner note'",
                                "type": "string"
                            },
                            "site_notes": {
                                "title": "site_notes",
                                "description": "The assignment 'important hint'",
                                "type": "string"
                            },
                            "state": {
                                "title": "state",
                                "description": "Assignment state",
                                "type": "string",
                                "enum": [
                                    "UNPLANNED",
                                    "SCHEDULED",
                                    "IN_PROGRESS",
                                    "PAUSED",
                                    "DELAYED",
                                    "DONE"
                                ]
                            },
                            "all_day": {
                                "title": "all_day",
                                "description": "The assignment all_day",
                                "type": "boolean"
                            },
                            "is_template": {
                                "title": "is_template",
                                "description": "Is the assignment a template?",
                                "type": "boolean"
                            },
                            "start": {
                                "title": "start",
                                "description": "The assignment start",
                                "type": "string",
                                "format": "date-time"
                            },
                            "end": {
                                "title": "end",
                                "description": "The assignment end",
                                "type": "string"
                            },
                            "employees": {
                                "title": "employees",
                                "description": "List of employee ids attached to this appointment",
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "vehicles": {
                                "title": "vehicles",
                                "description": "List of vehicle ids attached to this appointment",
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "tools": {
                                "title": "tools",
                                "description": "List of tool ids attached to this appointment",
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "documents": {
                                "title": "documents",
                                "description": "List of document ids attached to this appointment",
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "tags": {
                                "title": "tags",
                                "description": "List of label (assignment_tags) ids attached to this appointment",
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "articles": {
                                "title": "articles",
                                "description": "Articles, use index keys as article id and assign a subarray with key amount",
                                "type": "array",
                                "items": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "amount": {
                                                "description": "Planned amount of this article",
                                                "type": "integer"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "StoreAssignmentTagRequest": {
                "title": "StoreAssignmentTagRequest",
                "required": [
                    "name",
                    "color"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateAssignmentTagRequest"
                    },
                    {
                        "properties": {
                            "custom_icon_id": {
                                "title": "custom_icon_id",
                                "description": "The label icon id, leave null for default",
                                "type": "integer"
                            },
                            "name": {
                                "title": "name",
                                "description": "The label name",
                                "type": "string"
                            },
                            "color": {
                                "title": "color",
                                "description": "The label color in hex format starting including #",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateAssignmentTagRequest": {
                "title": "UpdateAssignmentTagRequest",
                "properties": {
                    "custom_icon_id": {
                        "title": "custom_icon_id",
                        "description": "The label icon id, leave null for default",
                        "type": "integer"
                    },
                    "name": {
                        "title": "name",
                        "description": "The label name",
                        "type": "string"
                    },
                    "color": {
                        "title": "color",
                        "description": "The label color in hex format starting including #",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The tag source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The tag source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "UpdateAssignmentRequest": {
                "title": "UpdateAssignmentRequest",
                "properties": {
                    "customer_address_id": {
                        "title": "customer_address_id",
                        "description": "The assignment customer addressid id",
                        "type": "integer"
                    },
                    "title": {
                        "title": "title",
                        "description": "The assignment title",
                        "type": "string"
                    },
                    "description": {
                        "title": "description",
                        "description": "The assignment description",
                        "type": "string"
                    },
                    "to_be_documented": {
                        "title": "to_be_documented",
                        "description": "The assignment 'to be documented info' ",
                        "type": "string"
                    },
                    "internal_info": {
                        "title": "internal_info",
                        "description": "The assignment 'internal planner note'",
                        "type": "string"
                    },
                    "site_notes": {
                        "title": "site_notes",
                        "description": "The assignment 'important hint'",
                        "type": "string"
                    },
                    "state": {
                        "title": "state",
                        "description": "Assignment state",
                        "type": "string",
                        "enum": [
                            "UNPLANNED",
                            "SCHEDULED",
                            "IN_PROGRESS",
                            "PAUSED",
                            "DELAYED",
                            "DONE"
                        ]
                    },
                    "all_day": {
                        "title": "all_day",
                        "description": "The assignment all_day",
                        "type": "boolean"
                    },
                    "start": {
                        "title": "start",
                        "description": "The assignment start",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "title": "end",
                        "description": "The assignment end",
                        "type": "string",
                        "format": "date-time"
                    },
                    "source": {
                        "title": "source",
                        "description": "The assignment source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The assignment source_external_id",
                        "type": "string"
                    },
                    "employees": {
                        "title": "employees",
                        "description": "List of employee ids attached to this appointment",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "vehicles": {
                        "title": "vehicles",
                        "description": "List of vehicle ids attached to this appointment",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "tools": {
                        "title": "tools",
                        "description": "List of tool ids attached to this appointment",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "documents": {
                        "title": "documents",
                        "description": "List of document ids attached to this appointment",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "tags": {
                        "title": "tags",
                        "description": "List of label (assignment_tags) ids attached to this appointment",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "articles": {
                        "title": "articles",
                        "description": "Articles, use index keys as article id and assign a subarray with key amount",
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "properties": {
                                    "amount": {
                                        "description": "Planned amount of this article",
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "example": {
                            "60": {
                                "amount": 4
                            },
                            "2": {
                                "amount": 16
                            },
                            "47": {
                                "amount": 10
                            }
                        }
                    }
                },
                "type": "object"
            },
            "AuthRequest": {
                "title": "AuthRequest",
                "properties": {
                    "email": {
                        "title": "email",
                        "description": "email",
                        "type": "string",
                        "example": "employee@example.com"
                    },
                    "password": {
                        "title": "password",
                        "description": "password",
                        "type": "string",
                        "example": "your-password"
                    }
                },
                "type": "object"
            },
            "StoreCustomerAddressRequest": {
                "title": "StoreCustomerAddressRequest",
                "required": [
                    "customer_id"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateCustomerAddressRequest"
                    },
                    {
                        "properties": {
                            "customer_id": {
                                "title": "customer_id",
                                "description": "The id of the customer where the address belongs to",
                                "type": "integer"
                            },
                            "type": {
                                "title": "type",
                                "description": "The customer address type. One of predefined values",
                                "type": "string",
                                "enum": [
                                    "MAILING",
                                    "BILLING",
                                    "DELIVERY"
                                ]
                            },
                            "street": {
                                "title": "street",
                                "description": "The customer address street",
                                "type": "string"
                            },
                            "street_addon": {
                                "title": "street_addon",
                                "description": "The customer address street addon",
                                "type": "string"
                            },
                            "zip": {
                                "title": "zip",
                                "description": "The customer address zip",
                                "type": "string"
                            },
                            "city": {
                                "title": "city",
                                "description": "The customer address city",
                                "type": "string"
                            },
                            "country": {
                                "title": "country",
                                "description": "The customer address country",
                                "type": "string",
                                "enum": [
                                    "AF",
                                    "AL",
                                    "DZ",
                                    "AD",
                                    "AO",
                                    "AG",
                                    "AR",
                                    "AM",
                                    "AU",
                                    "AT",
                                    "AZ",
                                    "BS",
                                    "BH",
                                    "BD",
                                    "BB",
                                    "BY",
                                    "BE",
                                    "BZ",
                                    "BJ",
                                    "BT",
                                    "BO",
                                    "BA",
                                    "BW",
                                    "BR",
                                    "BN",
                                    "BG",
                                    "BF",
                                    "BI",
                                    "CV",
                                    "KH",
                                    "CM",
                                    "CA",
                                    "CF",
                                    "TD",
                                    "CL",
                                    "CN",
                                    "CO",
                                    "KM",
                                    "CG",
                                    "CD",
                                    "CR",
                                    "HR",
                                    "CU",
                                    "CY",
                                    "CZ",
                                    "CI",
                                    "DK",
                                    "DJ",
                                    "DM",
                                    "DO",
                                    "EC",
                                    "EG",
                                    "SV",
                                    "GQ",
                                    "ER",
                                    "EE",
                                    "SZ",
                                    "ET",
                                    "FJ",
                                    "FI",
                                    "FR",
                                    "GA",
                                    "GM",
                                    "GE",
                                    "DE",
                                    "GH",
                                    "GR",
                                    "GD",
                                    "GT",
                                    "GN",
                                    "GW",
                                    "GY",
                                    "HT",
                                    "HN",
                                    "HU",
                                    "IS",
                                    "IN",
                                    "ID",
                                    "IR",
                                    "IQ",
                                    "IE",
                                    "IL",
                                    "IT",
                                    "JM",
                                    "JP",
                                    "JO",
                                    "KZ",
                                    "KE",
                                    "KI",
                                    "KP",
                                    "KR",
                                    "KW",
                                    "KG",
                                    "LA",
                                    "LV",
                                    "LB",
                                    "LS",
                                    "LR",
                                    "LY",
                                    "LI",
                                    "LT",
                                    "LU",
                                    "MG",
                                    "MW",
                                    "MY",
                                    "MV",
                                    "ML",
                                    "MT",
                                    "MH",
                                    "MR",
                                    "MU",
                                    "MX",
                                    "FM",
                                    "MD",
                                    "MC",
                                    "MN",
                                    "ME",
                                    "MA",
                                    "MZ",
                                    "MM",
                                    "NA",
                                    "NR",
                                    "NP",
                                    "NL",
                                    "NZ",
                                    "NI",
                                    "NE",
                                    "NG",
                                    "MK",
                                    "NO",
                                    "OM",
                                    "PK",
                                    "PW",
                                    "PA",
                                    "PG",
                                    "PY",
                                    "PE",
                                    "PH",
                                    "PL",
                                    "PT",
                                    "QA",
                                    "RO",
                                    "RU",
                                    "RW",
                                    "KN",
                                    "LC",
                                    "VC",
                                    "WS",
                                    "SM",
                                    "ST",
                                    "SA",
                                    "SN",
                                    "RS",
                                    "SC",
                                    "SL",
                                    "SG",
                                    "SK",
                                    "SI",
                                    "SB",
                                    "SO",
                                    "ZA",
                                    "SS",
                                    "ES",
                                    "LK",
                                    "SD",
                                    "SR",
                                    "SE",
                                    "CH",
                                    "SY",
                                    "TJ",
                                    "TZ",
                                    "TH",
                                    "TL",
                                    "TG",
                                    "TO",
                                    "TT",
                                    "TN",
                                    "TR",
                                    "TM",
                                    "TV",
                                    "UG",
                                    "UA",
                                    "AE",
                                    "GB",
                                    "US",
                                    "UY",
                                    "UZ",
                                    "VU",
                                    "VE",
                                    "VN",
                                    "YE",
                                    "ZM",
                                    "ZW"
                                ]
                            },
                            "lng": {
                                "title": "lng",
                                "description": "The customer address lng",
                                "type": "number",
                                "format": "float"
                            },
                            "lat": {
                                "title": "lat",
                                "description": "The customer address lat",
                                "type": "number",
                                "format": "float"
                            },
                            "name": {
                                "title": "name",
                                "description": "The customer address name",
                                "type": "string"
                            },
                            "name_addon": {
                                "title": "name_addon",
                                "description": "The customer address company name",
                                "type": "string"
                            },
                            "phone": {
                                "title": "phone",
                                "description": "The customer address phone",
                                "type": "string"
                            },
                            "mobile": {
                                "title": "mobile",
                                "description": "The customer address mobile",
                                "type": "string"
                            },
                            "mobile_alternative": {
                                "title": "mobile_alternative",
                                "description": "The customer address mobile alternative",
                                "type": "string"
                            },
                            "mail": {
                                "title": "mail",
                                "description": "The customer address mail",
                                "type": "string"
                            },
                            "mail_alternative": {
                                "title": "mail_alternative",
                                "description": "The customer address mail alternative",
                                "type": "string"
                            },
                            "use": {
                                "title": "use",
                                "description": "The customer address use. One of predefined values",
                                "type": "string",
                                "enum": [
                                    "position",
                                    "address"
                                ]
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateCustomerAddressRequest": {
                "title": "UpdateCustomerAddressRequest",
                "properties": {
                    "customer_id": {
                        "title": "customer_id",
                        "description": "The id of the customer where the address belongs to",
                        "type": "integer"
                    },
                    "type": {
                        "title": "type",
                        "description": "The customer address type. One of predefined values",
                        "type": "string",
                        "enum": [
                            "MAILING",
                            "BILLING",
                            "DELIVERY"
                        ]
                    },
                    "street": {
                        "title": "street",
                        "description": "The customer address street",
                        "type": "string"
                    },
                    "street_addon": {
                        "title": "street_addon",
                        "description": "The customer address street addon",
                        "type": "string"
                    },
                    "zip": {
                        "title": "zip",
                        "description": "The customer address zip",
                        "type": "string"
                    },
                    "city": {
                        "title": "city",
                        "description": "The customer address city",
                        "type": "string"
                    },
                    "country": {
                        "title": "country",
                        "description": "The customer address country",
                        "type": "string",
                        "enum": [
                            "AF",
                            "AL",
                            "DZ",
                            "AD",
                            "AO",
                            "AG",
                            "AR",
                            "AM",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BT",
                            "BO",
                            "BA",
                            "BW",
                            "BR",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "CV",
                            "KH",
                            "CM",
                            "CA",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CO",
                            "KM",
                            "CG",
                            "CD",
                            "CR",
                            "HR",
                            "CU",
                            "CY",
                            "CZ",
                            "CI",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "SZ",
                            "ET",
                            "FJ",
                            "FI",
                            "FR",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GR",
                            "GD",
                            "GT",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HN",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "KP",
                            "KR",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MR",
                            "MU",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "ME",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "MK",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PL",
                            "PT",
                            "QA",
                            "RO",
                            "RU",
                            "RW",
                            "KN",
                            "LC",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "RS",
                            "SC",
                            "SL",
                            "SG",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "SS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SE",
                            "CH",
                            "SY",
                            "TJ",
                            "TZ",
                            "TH",
                            "TL",
                            "TG",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TV",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UY",
                            "UZ",
                            "VU",
                            "VE",
                            "VN",
                            "YE",
                            "ZM",
                            "ZW"
                        ]
                    },
                    "lng": {
                        "title": "lng",
                        "description": "The customer address lng",
                        "type": "number",
                        "format": "float",
                        "example": 7.8589508
                    },
                    "lat": {
                        "title": "lat",
                        "description": "The customer address lat",
                        "type": "number",
                        "format": "float",
                        "example": 53.0244916
                    },
                    "name": {
                        "title": "name",
                        "description": "The customer address name",
                        "type": "string"
                    },
                    "name_addon": {
                        "title": "name_addon",
                        "description": "The customer address name addon",
                        "type": "string"
                    },
                    "phone": {
                        "title": "phone",
                        "description": "The customer address phone",
                        "type": "string"
                    },
                    "mobile": {
                        "title": "mobile",
                        "description": "The customer address mobile",
                        "type": "string"
                    },
                    "mobile_alternative": {
                        "title": "mobile_alternative",
                        "description": "The customer address mobile alternative",
                        "type": "string"
                    },
                    "mail": {
                        "title": "mail",
                        "description": "The customer address mail",
                        "type": "string"
                    },
                    "mail_alternative": {
                        "title": "mail_alternative",
                        "description": "The customer address mail alternative",
                        "type": "string"
                    },
                    "vat_id": {
                        "title": "vat_id",
                        "description": "The VAT identification number",
                        "type": "string",
                        "maxLength": 20
                    },
                    "info": {
                        "title": "info",
                        "description": "The customer address info",
                        "type": "string"
                    },
                    "use": {
                        "title": "use",
                        "description": "The customer address use. One of predefined values",
                        "type": "string",
                        "enum": [
                            "position",
                            "address"
                        ]
                    },
                    "source": {
                        "title": "source",
                        "description": "The address source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The address source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreCustomerRequest": {
                "title": "StoreCustomerRequest",
                "required": [
                    "name"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateCustomerRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "The customer name",
                                "type": "string",
                                "example": "Mustermann GmbH"
                            },
                            "name_addon": {
                                "title": "name_addon",
                                "description": "The customer name addon",
                                "type": "string",
                                "example": "Zentrale"
                            },
                            "customer_number": {
                                "title": "customer_number",
                                "description": "The customer number. Enter '(auto)' for automatic set if possible.",
                                "type": "string",
                                "example": "(auto)"
                            },
                            "info": {
                                "title": "info",
                                "description": "The customer info",
                                "type": "string",
                                "example": "Preferred contact by email."
                            },
                            "source": {
                                "title": "source",
                                "description": "The customer source",
                                "type": "string",
                                "example": "api"
                            },
                            "source_external_id": {
                                "title": "source_external_id",
                                "description": "The customer source external id",
                                "type": "string",
                                "example": "ext-12345"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateCustomerRequest": {
                "title": "UpdateCustomerRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "The customer name",
                        "type": "string"
                    },
                    "name_addon": {
                        "title": "name_addon",
                        "description": "The customer name addon",
                        "type": "string"
                    },
                    "customer_number": {
                        "title": "customer_number",
                        "description": "The customer number",
                        "type": "string"
                    },
                    "info": {
                        "title": "info",
                        "description": "The customer info",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The customer source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The customer source external id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreDocumentRequest": {
                "title": "StoreDocumentRequest",
                "required": [
                    "title",
                    "upload"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateDocumentRequest"
                    },
                    {
                        "properties": {
                            "title": {
                                "title": "title",
                                "description": "Document title",
                                "type": "string"
                            },
                            "upload": {
                                "description": "Upload file",
                                "type": "string",
                                "format": "binary"
                            },
                            "type": {
                                "title": "type",
                                "description": "Document type (GLOBAL or ASSIGNMENT)",
                                "type": "string"
                            },
                            "info": {
                                "title": "info",
                                "description": "Document info",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateDocumentRequest": {
                "title": "UpdateDocumentRequest",
                "properties": {
                    "title": {
                        "title": "title",
                        "description": "Document title",
                        "type": "string"
                    },
                    "upload": {
                        "description": "Upload file. PLEASE ADD _method=put parameter and change method to POST, if you send file uploads (PHP issue. More info: https://stackoverflow.com/questions/39942670/how-to-send-put-request-with-a-file-and-an-array-of-data-in-laravel)",
                        "type": "string",
                        "format": "binary"
                    },
                    "type": {
                        "title": "type",
                        "description": "Document type (GLOBAL or ASSIGNMENT)",
                        "type": "string",
                        "enum": [
                            "GLOBAL",
                            "ASSIGNMENT"
                        ]
                    },
                    "info": {
                        "title": "info",
                        "description": "Document info",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The document source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The document source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreDocumentationSignatureRequest": {
                "title": "StoreDocumentationSignatureRequest",
                "required": [
                    "text"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateDocumentationSignatureRequest"
                    },
                    {
                        "properties": {
                            "text": {
                                "title": "text",
                                "description": "Signature template text",
                                "type": "string"
                            },
                            "attachment_possible": {
                                "title": "attachment_possible",
                                "description": "Should it be allowed to add a attachment to the signature?",
                                "type": "boolean"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateDocumentationSignatureRequest": {
                "title": "UpdateDocumentationSignatureRequest",
                "properties": {
                    "text": {
                        "title": "text",
                        "description": "Signature template text",
                        "type": "string"
                    },
                    "attachment_possible": {
                        "title": "attachment_possible",
                        "description": "Should it be allowed to add a attachment to the signature?",
                        "type": "boolean"
                    },
                    "source": {
                        "title": "source",
                        "description": "The signature source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The signature source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreDocumentationRequest": {
                "title": "StoreDocumentationRequest",
                "required": [
                    "assignment_id",
                    "author_id",
                    "type",
                    "title"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateDocumentationRequest"
                    },
                    {
                        "properties": {
                            "assignment_id": {
                                "title": "assignment_id",
                                "description": "The appointment id to add the documentation",
                                "type": "integer"
                            },
                            "author_id": {
                                "title": "author_id",
                                "description": "The author of this documentation",
                                "type": "integer"
                            },
                            "title": {
                                "title": "title",
                                "description": "The documentation title",
                                "type": "string"
                            },
                            "description": {
                                "title": "description",
                                "description": "The documentation description",
                                "type": "string"
                            },
                            "type": {
                                "title": "type",
                                "description": "The documentation type",
                                "type": "string",
                                "default": "PHOTO",
                                "enum": [
                                    "NOTE",
                                    "DRAFT",
                                    "PHOTO",
                                    "SIGNING",
                                    "TIME",
                                    "PDF",
                                    "ATTACHMENT",
                                    "MATERIAL"
                                ]
                            },
                            "state": {
                                "title": "state",
                                "description": "Documentation state",
                                "type": "string",
                                "nullable": true,
                                "enum": [
                                    "ACCEPTED_WITH_COMMENT",
                                    "ACCEPTED_WO_COMMENT"
                                ]
                            },
                            "state_text": {
                                "title": "state_text",
                                "description": "Documentation Signing text (Like 'Vertragsgerechet und mangelfrei...' to display and store",
                                "type": "string"
                            },
                            "working_time": {
                                "title": "working_time",
                                "description": "The working time in minutes",
                                "type": "integer"
                            },
                            "driving_time": {
                                "title": "driving_time",
                                "description": "The driving time in minutes",
                                "type": "integer"
                            },
                            "break_time": {
                                "title": "break_time",
                                "description": "The break time in minutes",
                                "type": "integer"
                            },
                            "documented_on": {
                                "title": "documented_on",
                                "description": "The datetime, when the documentation has been documented has been created",
                                "type": "string",
                                "format": "date-time"
                            },
                            "upload": {
                                "description": "First documentation upload file",
                                "type": "string",
                                "format": "binary"
                            },
                            "upload2": {
                                "description": "Second documentation upload file",
                                "type": "string",
                                "format": "binary"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateDocumentationRequest": {
                "title": "UpdateDocumentationRequest",
                "properties": {
                    "assignment_id": {
                        "title": "assignment_id",
                        "description": "The appointment id to add to the documentation",
                        "type": "integer"
                    },
                    "author_id": {
                        "title": "author_id",
                        "description": "The author of this documentation (only customizable for type TIME)",
                        "type": "integer"
                    },
                    "title": {
                        "title": "title",
                        "description": "The documentation title",
                        "type": "string"
                    },
                    "description": {
                        "title": "description",
                        "description": "The documentation description",
                        "type": "string"
                    },
                    "type": {
                        "title": "type",
                        "description": "The documentation type",
                        "type": "string",
                        "default": "PHOTO",
                        "enum": [
                            "NOTE",
                            "DRAFT",
                            "PHOTO",
                            "SIGNING",
                            "TIME",
                            "PDF",
                            "ATTACHMENT",
                            "MATERIAL"
                        ]
                    },
                    "state": {
                        "title": "state",
                        "description": "Documentation state",
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "ACCEPTED_WITH_COMMENT",
                            "ACCEPTED_WO_COMMENT"
                        ]
                    },
                    "state_text": {
                        "title": "state_text",
                        "description": "Documentation Signing text (Like 'Vertragsgerechet und mangelfrei...' to display and store",
                        "type": "string"
                    },
                    "working_time": {
                        "title": "working_time",
                        "description": "The working time in minutes",
                        "type": "integer"
                    },
                    "driving_time": {
                        "title": "driving_time",
                        "description": "The driving time in minutes",
                        "type": "integer"
                    },
                    "break_time": {
                        "title": "break_time",
                        "description": "The break time in minutes",
                        "type": "integer"
                    },
                    "documented_on": {
                        "title": "documented_on",
                        "description": "The datetime, when the documentation has been documented has been created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "upload": {
                        "description": "First documentation upload file. PLEASE ADD _method=put parameter and change method to POST, if you send file uploads (PHP issue. More info:  https://stackoverflow.com/questions/39942670/how-to-send-put-request-with-a-file-and-an-array-of-data-in-laravel)",
                        "type": "string",
                        "format": "binary"
                    },
                    "upload2": {
                        "description": "Second documentation upload file. PLEASE ADD _method=put parameter and change method to POST, if you send file uploads (PHP issue. More info: https://stackoverflow.com/questions/39942670/how-to-send-put-request-with-a-file-and-an-array-of-data-in-laravel)",
                        "type": "string",
                        "format": "binary"
                    },
                    "source": {
                        "title": "source",
                        "description": "The document source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The document source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreEmployeeBalanceCompensationRequest": {
                "title": "StoreEmployeeBalanceCompensationRequest",
                "required": [
                    "date",
                    "employee_id",
                    "duration"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateEmployeeBalanceCompensationRequest"
                    },
                    {
                        "properties": {
                            "employee_id": {
                                "title": "employee_id",
                                "description": "Employee for the balance compensation",
                                "type": "integer"
                            },
                            "date": {
                                "title": "date",
                                "description": "Date of the balance compensation",
                                "type": "string",
                                "format": "date"
                            },
                            "duration": {
                                "title": "duration",
                                "description": "Amount of the balance compensation in minutes. You can use positive or negative values.",
                                "type": "integer"
                            },
                            "reason": {
                                "title": "reason",
                                "description": "Optional reason of the balance compensation",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateEmployeeBalanceCompensationRequest": {
                "title": "UpdateEmployeeBalanceCompensationRequest",
                "properties": {
                    "employee_id": {
                        "title": "employee_id",
                        "description": "Employee for the balance compensation",
                        "type": "integer"
                    },
                    "date": {
                        "title": "date",
                        "description": "Date of the balance compensation",
                        "type": "string",
                        "format": "date"
                    },
                    "duration": {
                        "title": "duration",
                        "description": "Amount of the balance compensation in minutes. You can use positive or negative values.",
                        "type": "integer"
                    },
                    "reason": {
                        "title": "reason",
                        "description": "Optional reason of the balance compensation",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreEmployeeGroupRequest": {
                "title": "StoreEmployeeGroupRequest",
                "required": [
                    "name",
                    "color"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateEmployeeGroupRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "Employee Group Name",
                                "type": "string"
                            },
                            "color": {
                                "title": "color",
                                "description": "Group color",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateEmployeeGroupRequest": {
                "title": "UpdateEmployeeGroupRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "Employee Group Name",
                        "type": "string"
                    },
                    "color": {
                        "title": "color",
                        "description": "Group color",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The group source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The group source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreEmployeeRequest": {
                "title": "StoreEmployeeRequest",
                "required": [
                    "first_name",
                    "last_name",
                    "email"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateEmployeeRequest"
                    },
                    {
                        "properties": {
                            "first_name": {
                                "title": "first_name",
                                "description": "First name",
                                "type": "string"
                            },
                            "last_name": {
                                "title": "last_name",
                                "description": "Last name",
                                "type": "string"
                            },
                            "email": {
                                "title": "email",
                                "description": "The email address",
                                "type": "string"
                            },
                            "mobile": {
                                "title": "mobile",
                                "description": "Mobile",
                                "type": "string"
                            },
                            "phone": {
                                "title": "phone",
                                "description": "Landline",
                                "type": "string"
                            },
                            "country": {
                                "title": "country",
                                "description": "Country",
                                "type": "string",
                                "enum": [
                                    "AF",
                                    "AL",
                                    "DZ",
                                    "AD",
                                    "AO",
                                    "AG",
                                    "AR",
                                    "AM",
                                    "AU",
                                    "AT",
                                    "AZ",
                                    "BS",
                                    "BH",
                                    "BD",
                                    "BB",
                                    "BY",
                                    "BE",
                                    "BZ",
                                    "BJ",
                                    "BT",
                                    "BO",
                                    "BA",
                                    "BW",
                                    "BR",
                                    "BN",
                                    "BG",
                                    "BF",
                                    "BI",
                                    "CV",
                                    "KH",
                                    "CM",
                                    "CA",
                                    "CF",
                                    "TD",
                                    "CL",
                                    "CN",
                                    "CO",
                                    "KM",
                                    "CG",
                                    "CD",
                                    "CR",
                                    "HR",
                                    "CU",
                                    "CY",
                                    "CZ",
                                    "CI",
                                    "DK",
                                    "DJ",
                                    "DM",
                                    "DO",
                                    "EC",
                                    "EG",
                                    "SV",
                                    "GQ",
                                    "ER",
                                    "EE",
                                    "SZ",
                                    "ET",
                                    "FJ",
                                    "FI",
                                    "FR",
                                    "GA",
                                    "GM",
                                    "GE",
                                    "DE",
                                    "GH",
                                    "GR",
                                    "GD",
                                    "GT",
                                    "GN",
                                    "GW",
                                    "GY",
                                    "HT",
                                    "HN",
                                    "HU",
                                    "IS",
                                    "IN",
                                    "ID",
                                    "IR",
                                    "IQ",
                                    "IE",
                                    "IL",
                                    "IT",
                                    "JM",
                                    "JP",
                                    "JO",
                                    "KZ",
                                    "KE",
                                    "KI",
                                    "KP",
                                    "KR",
                                    "KW",
                                    "KG",
                                    "LA",
                                    "LV",
                                    "LB",
                                    "LS",
                                    "LR",
                                    "LY",
                                    "LI",
                                    "LT",
                                    "LU",
                                    "MG",
                                    "MW",
                                    "MY",
                                    "MV",
                                    "ML",
                                    "MT",
                                    "MH",
                                    "MR",
                                    "MU",
                                    "MX",
                                    "FM",
                                    "MD",
                                    "MC",
                                    "MN",
                                    "ME",
                                    "MA",
                                    "MZ",
                                    "MM",
                                    "NA",
                                    "NR",
                                    "NP",
                                    "NL",
                                    "NZ",
                                    "NI",
                                    "NE",
                                    "NG",
                                    "MK",
                                    "NO",
                                    "OM",
                                    "PK",
                                    "PW",
                                    "PA",
                                    "PG",
                                    "PY",
                                    "PE",
                                    "PH",
                                    "PL",
                                    "PT",
                                    "QA",
                                    "RO",
                                    "RU",
                                    "RW",
                                    "KN",
                                    "LC",
                                    "VC",
                                    "WS",
                                    "SM",
                                    "ST",
                                    "SA",
                                    "SN",
                                    "RS",
                                    "SC",
                                    "SL",
                                    "SG",
                                    "SK",
                                    "SI",
                                    "SB",
                                    "SO",
                                    "ZA",
                                    "SS",
                                    "ES",
                                    "LK",
                                    "SD",
                                    "SR",
                                    "SE",
                                    "CH",
                                    "SY",
                                    "TJ",
                                    "TZ",
                                    "TH",
                                    "TL",
                                    "TG",
                                    "TO",
                                    "TT",
                                    "TN",
                                    "TR",
                                    "TM",
                                    "TV",
                                    "UG",
                                    "UA",
                                    "AE",
                                    "GB",
                                    "US",
                                    "UY",
                                    "UZ",
                                    "VU",
                                    "VE",
                                    "VN",
                                    "YE",
                                    "ZM",
                                    "ZW"
                                ]
                            },
                            "region": {
                                "title": "region",
                                "description": "Region",
                                "type": "string"
                            },
                            "city": {
                                "title": "city",
                                "description": "City",
                                "type": "string"
                            },
                            "street": {
                                "title": "street",
                                "description": "Street",
                                "type": "string"
                            },
                            "zip": {
                                "title": "zip",
                                "description": "ZIP",
                                "type": "string"
                            },
                            "department": {
                                "title": "department",
                                "description": "Department",
                                "type": "string"
                            },
                            "position": {
                                "title": "position",
                                "description": "Position",
                                "type": "string"
                            },
                            "driver_license": {
                                "title": "driver_license",
                                "description": "Driver license",
                                "type": "boolean"
                            },
                            "truck_license": {
                                "title": "truck_license",
                                "description": "Truck license",
                                "type": "boolean"
                            },
                            "group_id": {
                                "title": "group_id",
                                "description": "Group id",
                                "type": "integer"
                            },
                            "skills": {
                                "title": "skills",
                                "description": "Skills",
                                "type": "string"
                            },
                            "info": {
                                "title": "info",
                                "description": "Info",
                                "type": "string"
                            },
                            "inactive": {
                                "title": "inactive",
                                "description": "User status",
                                "type": "boolean"
                            },
                            "locale": {
                                "title": "locale",
                                "description": "Locale",
                                "type": "string",
                                "enum": [
                                    "de_DE",
                                    "en_US",
                                    "pl_PL",
                                    "uk_UA",
                                    "ro_RO",
                                    "es_ES"
                                ]
                            },
                            "number": {
                                "title": "number",
                                "description": "Personal number. Enter '(auto)' for automatic set if possible.",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "StoreTargetWorkingTimeRequest": {
                "title": "StoreTargetWorkingTimeRequest",
                "required": [
                    "employee_id"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateTargetWorkingTimeRequest"
                    },
                    {
                        "properties": {
                            "employee_id": {
                                "title": "employee_id",
                                "description": "Employee id",
                                "type": "integer"
                            },
                            "starting": {
                                "title": "starting",
                                "description": "When do these working times take effect?",
                                "type": "string",
                                "format": "date"
                            },
                            "sunday": {
                                "title": "sunday",
                                "description": "Target working time on Sunday (minutes)",
                                "type": "integer"
                            },
                            "monday": {
                                "title": "monday",
                                "description": "Target working time on Monday (minutes)",
                                "type": "integer"
                            },
                            "tuesday": {
                                "title": "tuesday",
                                "description": "Target working time on Tuesday (minutes)",
                                "type": "integer"
                            },
                            "wednesday": {
                                "title": "wednesday",
                                "description": "Target working time on Wednesday (minutes)",
                                "type": "integer"
                            },
                            "thursday": {
                                "title": "thursday",
                                "description": "Target working time on Thursday (minutes)",
                                "type": "integer"
                            },
                            "friday": {
                                "title": "friday",
                                "description": "Target working time on Friday (minutes)",
                                "type": "integer"
                            },
                            "saturday": {
                                "title": "saturday",
                                "description": "Target working time on Saturday (minutes)",
                                "type": "integer"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateTargetWorkingTimeRequest": {
                "title": "UpdateTargetWorkingTimeRequest",
                "properties": {
                    "employee_id": {
                        "title": "employee_id",
                        "description": "Employee id",
                        "type": "integer"
                    },
                    "starting": {
                        "title": "starting",
                        "description": "When do these working times take effect?",
                        "type": "string",
                        "format": "date"
                    },
                    "sunday": {
                        "title": "sunday",
                        "description": "Target working time on Sunday (minutes)",
                        "type": "integer"
                    },
                    "monday": {
                        "title": "monday",
                        "description": "Target working time on Monday (minutes)",
                        "type": "integer"
                    },
                    "tuesday": {
                        "title": "tuesday",
                        "description": "Target working time on Tuesday (minutes)",
                        "type": "integer"
                    },
                    "wednesday": {
                        "title": "wednesday",
                        "description": "Target working time on Wednesday (minutes)",
                        "type": "integer"
                    },
                    "thursday": {
                        "title": "thursday",
                        "description": "Target working time on Thursday (minutes)",
                        "type": "integer"
                    },
                    "friday": {
                        "title": "friday",
                        "description": "Target working time on Friday (minutes)",
                        "type": "integer"
                    },
                    "saturday": {
                        "title": "saturday",
                        "description": "Target working time on Saturday (minutes)",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "UpdateEmployeeRequest": {
                "title": "UpdateEmployeeRequest",
                "properties": {
                    "first_name": {
                        "title": "first_name",
                        "description": "First name",
                        "type": "string"
                    },
                    "last_name": {
                        "title": "last_name",
                        "description": "Last name",
                        "type": "string"
                    },
                    "email": {
                        "title": "email",
                        "description": "The email address",
                        "type": "string"
                    },
                    "mobile": {
                        "title": "mobile",
                        "description": "Mobile",
                        "type": "string"
                    },
                    "phone": {
                        "title": "phone",
                        "description": "Landline",
                        "type": "string"
                    },
                    "country": {
                        "title": "country",
                        "description": "Country",
                        "type": "string",
                        "enum": [
                            "AF",
                            "AL",
                            "DZ",
                            "AD",
                            "AO",
                            "AG",
                            "AR",
                            "AM",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BT",
                            "BO",
                            "BA",
                            "BW",
                            "BR",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "CV",
                            "KH",
                            "CM",
                            "CA",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CO",
                            "KM",
                            "CG",
                            "CD",
                            "CR",
                            "HR",
                            "CU",
                            "CY",
                            "CZ",
                            "CI",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "SZ",
                            "ET",
                            "FJ",
                            "FI",
                            "FR",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GR",
                            "GD",
                            "GT",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HN",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "KP",
                            "KR",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MR",
                            "MU",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "ME",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "MK",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PL",
                            "PT",
                            "QA",
                            "RO",
                            "RU",
                            "RW",
                            "KN",
                            "LC",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "RS",
                            "SC",
                            "SL",
                            "SG",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "SS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SE",
                            "CH",
                            "SY",
                            "TJ",
                            "TZ",
                            "TH",
                            "TL",
                            "TG",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TV",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UY",
                            "UZ",
                            "VU",
                            "VE",
                            "VN",
                            "YE",
                            "ZM",
                            "ZW"
                        ]
                    },
                    "region": {
                        "title": "region",
                        "description": "Region",
                        "type": "string"
                    },
                    "city": {
                        "title": "city",
                        "description": "City",
                        "type": "string"
                    },
                    "street": {
                        "title": "street",
                        "description": "Street",
                        "type": "string"
                    },
                    "zip": {
                        "title": "zip",
                        "description": "ZIP",
                        "type": "string"
                    },
                    "department": {
                        "title": "department",
                        "description": "Department",
                        "type": "string"
                    },
                    "position": {
                        "title": "position",
                        "description": "Position",
                        "type": "string"
                    },
                    "driver_license": {
                        "title": "driver_license",
                        "description": "Driver license",
                        "type": "boolean"
                    },
                    "truck_license": {
                        "title": "truck_license",
                        "description": "Truck license",
                        "type": "boolean"
                    },
                    "group_id": {
                        "title": "group_id",
                        "description": "Group id",
                        "type": "integer"
                    },
                    "skills": {
                        "title": "skills",
                        "description": "Skills",
                        "type": "string"
                    },
                    "info": {
                        "title": "info",
                        "description": "Info",
                        "type": "string"
                    },
                    "inactive": {
                        "title": "inactive",
                        "description": "Employee status",
                        "type": "boolean"
                    },
                    "locale": {
                        "title": "locale",
                        "description": "Locale",
                        "type": "string",
                        "enum": [
                            "de_DE",
                            "en_US",
                            "pl_PL",
                            "uk_UA",
                            "ro_RO",
                            "es_ES"
                        ]
                    },
                    "number": {
                        "title": "number",
                        "description": "Personal number. Enter '(auto)' for automatic set if possible.",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The employee source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The employee source_external_id",
                        "type": "string"
                    },
                    "holidays_per_year": {
                        "title": "holidays_per_year",
                        "description": "Number of holidays per year. Must be in steps of 0.5 and between 0 and 365",
                        "type": "number",
                        "format": "float"
                    }
                },
                "type": "object"
            },
            "UpdateMyCompanySettingsRequest": {
                "title": "UpdateMyCompanySettingsRequest",
                "properties": {
                    "allow_overlapping_tools_vehicles": {
                        "title": "allow_overlapping_tools_vehicles",
                        "description": "Can tools & vehicles being planned in the same period for multiple appointments?",
                        "type": "boolean"
                    },
                    "allow_overlapping_employees": {
                        "title": "allow_overlapping_employees",
                        "description": "Can employees being planned in the same period for multiple appointments?",
                        "type": "boolean"
                    },
                    "show_sequential_custom_numbers": {
                        "title": "show_sequential_custom_numbers",
                        "description": "Show sequential numbers in the project/customer number input?",
                        "type": "boolean"
                    },
                    "suggestions_project_contain": {
                        "title": "suggestions_project_contain",
                        "description": "Suggestions project contain (For project number suggestions: What should be the prefix / nummernkreis)",
                        "type": "string",
                        "nullable": true
                    },
                    "show_shareable_link": {
                        "title": "show_shareable_link",
                        "description": "Showing a link to share is possible?",
                        "type": "boolean"
                    },
                    "force_unique_custom_numbers": {
                        "title": "force_unique_custom_numbers",
                        "description": "Project numbers have to be unique?",
                        "type": "boolean"
                    },
                    "unplanned_assignments_app": {
                        "title": "unplanned_assignments_app",
                        "description": "Show unplanned appointments in the app? (values: HIDE, SUGGEST = send email to responsible person in the office, DIRECT = direct scheduling and changing)",
                        "type": "string",
                        "enum": [
                            "HIDE",
                            "SUGGEST",
                            "DIRECT"
                        ]
                    },
                    "project_assignments_visibility_app": {
                        "title": "project_assignments_visibility_app",
                        "description": "Can employees see other appointments of an project in the app? (values: ASSIGNED_ONLY, ALL)",
                        "type": "string",
                        "enum": [
                            "ASSIGNED_ONLY",
                            "ALL"
                        ]
                    },
                    "create_assignments_app": {
                        "title": "create_assignments_app",
                        "description": "Create assignments app (can employees create appointments in the app?)",
                        "type": "boolean"
                    },
                    "unassigned_assignments_app": {
                        "title": "unassigned_assignments_app",
                        "description": "Show unassigned appointments in the app?",
                        "type": "boolean"
                    },
                    "material_change_documentation": {
                        "title": "material_change_documentation",
                        "description": "Enable material change documentation?",
                        "type": "boolean"
                    },
                    "assignments_max_start_app": {
                        "title": "assignments_max_start_app",
                        "description": "Maximum start time for assignments in the app",
                        "type": "string",
                        "enum": [
                            "ALL",
                            "TOMORROW",
                            "THREE_DAYS",
                            "ONE_WEEK",
                            "TWO_WEEKS",
                            "FOUR_WEEKS"
                        ]
                    },
                    "disable_timesheet_edit_app": {
                        "title": "disable_timesheet_edit_app",
                        "description": "Disable timesheet editing in the app?",
                        "type": "boolean"
                    },
                    "activity_position_app": {
                        "title": "activity_position_app",
                        "description": "GPS position handling during time tracking in the app (DISABLED = no tracking, REQUIRED = a position is mandatory to track time)",
                        "type": "string",
                        "enum": [
                            "DISABLED",
                            "REQUIRED"
                        ]
                    },
                    "enable_auto_break": {
                        "title": "enable_auto_break",
                        "description": "Enable automatic break?",
                        "type": "boolean"
                    },
                    "pdf_logo_align": {
                        "title": "pdf_logo_align",
                        "description": "For pdf, position (values: LEFT, CENTER, RIGHT)",
                        "type": "string",
                        "enum": [
                            "LEFT",
                            "CENTER",
                            "RIGHT"
                        ]
                    },
                    "calendar_day_start": {
                        "title": "calendar_day_start",
                        "description": "For calendar/planning board: calendar_day_start (like 08:00)",
                        "type": "string"
                    },
                    "calendar_day_end": {
                        "title": "calendar_day_end",
                        "description": "For calendar/planning board: calendar day end (like 17:30)",
                        "type": "string"
                    },
                    "remind_assignment_start": {
                        "title": "remind_assignment_start",
                        "description": "How much time to remind on the appointment before (values: NEVER,FIFTEEN_MINUTEs,THIRTY_MINUTES,ONE_HOUR)",
                        "type": "string",
                        "enum": [
                            "NEVER",
                            "FIFTEEN_MINUTES",
                            "THIRTY_MINUTES",
                            "ONE_HOUR"
                        ]
                    },
                    "notify_assignment_change_scope": {
                        "title": "notify_assignment_change_scope",
                        "description": "Employees should be notified about time changes, if the appointment is scheduled for a certain period (TODAY_OR_TOMORROW, ALL)",
                        "type": "string",
                        "enum": [
                            "TODAY_OR_TOMORROW",
                            "ALL"
                        ]
                    },
                    "person_day_length": {
                        "title": "person_day_length",
                        "description": "Person day length (minutes)",
                        "type": "integer"
                    },
                    "show_person_days": {
                        "title": "show_person_days",
                        "description": "Show person days?",
                        "type": "boolean"
                    },
                    "default_holidays_per_year": {
                        "title": "default_holidays_per_year",
                        "description": "Default holidays per year (for new employees)",
                        "type": "integer"
                    },
                    "show_project_sales_volume": {
                        "title": "show_project_sales_volume",
                        "description": "Show project sales volume?",
                        "type": "boolean"
                    },
                    "edit_project_sales_volume_in_planner": {
                        "title": "edit_project_sales_volume_in_planner",
                        "description": "Edit project sales volume in planner?",
                        "type": "boolean"
                    },
                    "show_target_time": {
                        "title": "show_target_time",
                        "description": "Show target time?",
                        "type": "boolean"
                    },
                    "edit_target_time_in_planner": {
                        "title": "edit_target_time_in_planner",
                        "description": "Edit target time in planner?",
                        "type": "boolean"
                    },
                    "currency": {
                        "title": "currency",
                        "description": "Currency",
                        "type": "string",
                        "enum": [
                            "EUR",
                            "USD",
                            "CHF",
                            "PLN",
                            "RON",
                            "UAH"
                        ]
                    }
                },
                "type": "object"
            },
            "UpdateMyEmployeeSettingsRequest": {
                "title": "UpdateMyEmployeeSettingsRequest",
                "properties": {
                    "allow_support_login": {
                        "title": "allow_support_login",
                        "description": "allow_support_login",
                        "type": "boolean"
                    },
                    "fullwidth": {
                        "title": "fullwidth",
                        "description": "fullwidth",
                        "type": "boolean"
                    },
                    "compact_view": {
                        "title": "compact_view",
                        "description": "compact_view",
                        "type": "boolean"
                    },
                    "planning_board_sidebar_closed": {
                        "title": "planning_board_sidebar_closed",
                        "description": "Planning board sidebar closed?",
                        "type": "boolean"
                    },
                    "planning_board_event_edit_mode": {
                        "title": "planning_board_event_edit_mode",
                        "description": "planning_board_event_edit_mode",
                        "type": "string"
                    },
                    "calendar_event_edit_mode": {
                        "title": "calendar_event_edit_mode",
                        "description": "calendar_event_edit_mode",
                        "type": "string"
                    },
                    "calendar_event_stack_enabled": {
                        "title": "calendar_event_stack_enabled",
                        "description": "calendar_event_stack_enabled",
                        "type": "boolean"
                    },
                    "planning_board_event_stack_enabled": {
                        "title": "planning_board_event_stack_enabled",
                        "description": "planning_board_event_stack_enabled",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "UpdateMyEmployeeRequest": {
                "title": "UpdateMyEmployeeRequest",
                "properties": {
                    "locale": {
                        "title": "locale",
                        "description": "Locale",
                        "type": "string",
                        "enum": [
                            "de_DE",
                            "en_US",
                            "pl_PL",
                            "uk_UA",
                            "ro_RO",
                            "es_ES"
                        ]
                    },
                    "fullwidth": {
                        "title": "fullwidth",
                        "description": "Fullwidth",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "UpdateMyTutorialStepRequest": {
                "title": "UpdateMyTutorialStepRequest",
                "properties": {
                    "step": {
                        "title": "step",
                        "description": "step",
                        "type": "string"
                    },
                    "is_started": {
                        "title": "is_started",
                        "description": "is_started",
                        "type": "boolean"
                    },
                    "is_completed": {
                        "title": "is_completed",
                        "description": "is_completed",
                        "type": "boolean"
                    },
                    "is_cancelled": {
                        "title": "is_cancelled",
                        "description": "is_cancelled",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "StoreNoteRequest": {
                "title": "StoreNoteRequest",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateNoteRequest"
                    }
                ]
            },
            "UpdateNoteRequest": {
                "title": "UpdateNoteRequest",
                "required": [
                    "title",
                    "employees"
                ],
                "properties": {
                    "title": {
                        "title": "title",
                        "description": "Note title",
                        "type": "string"
                    },
                    "description": {
                        "title": "description",
                        "description": "Note description (longer text)",
                        "type": "string"
                    },
                    "employees": {
                        "title": "employees",
                        "description": "For which employee the note should be visible?",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "all_day": {
                        "title": "all_day",
                        "description": "all_day note?",
                        "type": "boolean"
                    },
                    "start": {
                        "title": "start",
                        "description": "The note start",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "title": "end",
                        "description": "The note end",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "SendNotificationRequest": {
                "title": "SendNotificationRequest",
                "required": [
                    "title",
                    "body"
                ],
                "properties": {
                    "title": {
                        "description": "Notification title",
                        "type": "string",
                        "maxLength": 45
                    },
                    "body": {
                        "description": "Notification body",
                        "type": "string",
                        "maxLength": 450
                    },
                    "company_wide": {
                        "description": "Send to every employee of the company",
                        "type": "boolean"
                    },
                    "employees": {
                        "description": "Recipient employee ids (required when company_wide is false)",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        }
                    }
                },
                "type": "object"
            },
            "GeneratePdfRequest": {
                "title": "GeneratePdfRequest",
                "required": [
                    "file_type",
                    "export_type"
                ],
                "properties": {
                    "file_type": {
                        "title": "file_type",
                        "description": "File type",
                        "type": "string",
                        "example": "pdf",
                        "enum": [
                            "pdf",
                            "zip"
                        ]
                    },
                    "export_type": {
                        "title": "export_type",
                        "description": "Export type",
                        "type": "string",
                        "example": "customer",
                        "enum": [
                            "archive",
                            "customer"
                        ]
                    },
                    "assignments": {
                        "title": "assignments",
                        "description": "Appointment Ids",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            1,
                            2,
                            3
                        ]
                    },
                    "settings": {
                        "title": "settings",
                        "description": "PDF settings",
                        "properties": {
                            "show_frontpage": {
                                "title": "show_frontpage",
                                "description": "Show frontpage",
                                "type": "boolean"
                            },
                            "show_place_of_billing": {
                                "title": "show_place_of_billing",
                                "description": "Show place of billing",
                                "type": "boolean"
                            },
                            "show_footer": {
                                "title": "show_footer",
                                "description": "Show footer",
                                "type": "boolean"
                            },
                            "show_tools": {
                                "title": "show_tools",
                                "description": "Show tools",
                                "type": "boolean"
                            },
                            "show_instructions": {
                                "title": "show_instructions",
                                "description": "Show instructions",
                                "type": "boolean"
                            },
                            "show_tags": {
                                "title": "show_tags",
                                "description": "Show labels",
                                "type": "boolean"
                            },
                            "show_states": {
                                "title": "show_states",
                                "description": "Show status",
                                "type": "boolean"
                            },
                            "show_place_of_fullfillment": {
                                "title": "show_place_of_fullfillment",
                                "description": "Show place of fullfillment",
                                "type": "boolean"
                            },
                            "show_employees": {
                                "title": "show_employees",
                                "description": "Show assigned employees",
                                "type": "boolean"
                            },
                            "show_vehicles": {
                                "title": "show_vehicles",
                                "description": "Show vehicles",
                                "type": "boolean"
                            },
                            "show_document_photos": {
                                "title": "show_document_photos",
                                "description": "Show appointment photos",
                                "type": "string",
                                "example": "LARGE",
                                "enum": [
                                    "NO",
                                    "THUMB",
                                    "LARGE"
                                ]
                            },
                            "show_notes": {
                                "title": "show_notes",
                                "description": "Show notes",
                                "type": "boolean"
                            },
                            "show_project_description": {
                                "title": "show_project_description",
                                "description": "Show project description",
                                "type": "boolean"
                            },
                            "show_materials": {
                                "title": "show_materials",
                                "description": "Show used materials",
                                "type": "boolean"
                            },
                            "show_time": {
                                "title": "show_time",
                                "description": "Show project time",
                                "type": "boolean"
                            },
                            "show_documentation_photos": {
                                "title": "show_documentation_photos",
                                "description": "Show protocol entry photos",
                                "type": "string",
                                "example": "LARGE",
                                "enum": [
                                    "NO",
                                    "THUMB",
                                    "LARGE"
                                ]
                            },
                            "attach_documents": {
                                "title": "attach_documents",
                                "description": "Attach documents (creates a ZIP file)",
                                "type": "boolean",
                                "example": false
                            },
                            "attach_documentations": {
                                "title": "attach_documentations",
                                "description": "Attach edited PDFs and uploaded files (creates a ZIP file)",
                                "type": "boolean",
                                "example": false
                            }
                        },
                        "type": "object"
                    },
                    "locale": {
                        "title": "locale",
                        "description": "Language",
                        "type": "string",
                        "example": "de_DE",
                        "enum": [
                            "de_DE",
                            "en_US",
                            "pl_PL",
                            "uk_UA",
                            "ro_RO",
                            "es_ES"
                        ]
                    }
                },
                "type": "object"
            },
            "ShareProjectRequest": {
                "title": "ShareProjectRequest",
                "properties": {
                    "assignment_id": {
                        "title": "assignment_id",
                        "description": "The appointment ids to share. Deliver none to share the whole project",
                        "type": "array",
                        "items": {
                            "type": "integer"
                        }
                    }
                },
                "type": "object"
            },
            "StoreProjectRequest": {
                "title": "StoreProjectRequest",
                "required": [
                    "title",
                    "customer_id"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateProjectRequest"
                    },
                    {
                        "properties": {
                            "customer_id": {
                                "title": "customer_id",
                                "description": "The customer id",
                                "type": "integer"
                            },
                            "title": {
                                "title": "title",
                                "description": "The customer title",
                                "type": "string"
                            },
                            "project_nr": {
                                "title": "project_nr",
                                "description": "The custom project_nr. Enter '(auto)' for automatic set if possible.",
                                "type": "string"
                            },
                            "source": {
                                "title": "source",
                                "description": "The customer source",
                                "type": "string"
                            },
                            "source_external_id": {
                                "title": "source_external_id",
                                "description": "The customer source_external_id",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateProjectRequest": {
                "title": "UpdateProjectRequest",
                "properties": {
                    "title": {
                        "title": "title",
                        "description": "The project title",
                        "type": "string"
                    },
                    "project_nr": {
                        "title": "project_nr",
                        "description": "The project number.",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The project source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The project source_external_id",
                        "type": "string"
                    },
                    "description": {
                        "title": "description",
                        "description": "The project description",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "UpdatePushNotificationRequest": {
                "title": "UpdatePushNotificationRequest",
                "properties": {
                    "read_at": {
                        "title": "read_at",
                        "description": "read_at",
                        "type": "string",
                        "format": "date-time"
                    },
                    "read_on": {
                        "title": "read_on",
                        "description": "Where the notification was read. Defaults to \"api\" for the Planner API.",
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "app",
                            "planner",
                            "api"
                        ]
                    }
                },
                "type": "object"
            },
            "StoreTimesheetActivityRequest": {
                "title": "StoreTimesheetActivityRequest",
                "required": [
                    "start",
                    "type_id",
                    "timesheet_id"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateTimesheetActivityRequest"
                    },
                    {
                        "properties": {
                            "type_id": {
                                "title": "type_id",
                                "description": "Timesheet activity type ",
                                "type": "integer",
                                "nullable": false
                            },
                            "timesheet_id": {
                                "title": "timesheet_id",
                                "description": "Timesheet on which the activity should be recorded on, sending '0' will create a new timesheet for the logged in user.",
                                "type": "integer"
                            },
                            "assignment_id": {
                                "title": "assignment_id",
                                "description": "Optional: The appointment id on which the timesheet activity should be recorded on.",
                                "type": "integer"
                            },
                            "start": {
                                "title": "start",
                                "description": "Timesheet activity start date",
                                "type": "string",
                                "format": "date-time",
                                "nullable": false
                            },
                            "end": {
                                "title": "end",
                                "description": "Timesheet activity end date",
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                            },
                            "adjust_blocking": {
                                "title": "adjust_blocking",
                                "description": "Sometimes activities before or after would block this new activity. Set this parameter to true, to shorten or delete the blocking activities.",
                                "type": "boolean",
                                "default": false
                            },
                            "end_open_activities": {
                                "title": "end_open_activities",
                                "description": "Close possible activities with end = null by the logged in user as well.",
                                "type": "boolean",
                                "default": false
                            },
                            "start_lat": {
                                "title": "start_lat",
                                "description": "GPS latitude captured at activity start",
                                "type": "number",
                                "format": "float",
                                "nullable": true
                            },
                            "start_lng": {
                                "title": "start_lng",
                                "description": "GPS longitude captured at activity start",
                                "type": "number",
                                "format": "float",
                                "nullable": true
                            },
                            "end_lat": {
                                "title": "end_lat",
                                "description": "GPS latitude captured at activity end",
                                "type": "number",
                                "format": "float",
                                "nullable": true
                            },
                            "end_lng": {
                                "title": "end_lng",
                                "description": "GPS longitude captured at activity end",
                                "type": "number",
                                "format": "float",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "StoreTimesheetActivityTypeRequest": {
                "title": "StoreTimesheetActivityTypeRequest",
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateTimesheetActivityRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "Timesheet activity type name",
                                "type": "string",
                                "nullable": false
                            },
                            "custom_icon_id": {
                                "title": "custom_icon_id",
                                "description": "Optional a custom icon for this type. Get the id from '/icons' endpoints",
                                "type": "integer"
                            },
                            "group": {
                                "title": "group",
                                "description": "Use a fitting group for the correct calcuation in the time account / project times evaluation.",
                                "type": "string",
                                "enum": [
                                    "WORKING",
                                    "BREAK",
                                    "NONE"
                                ]
                            },
                            "color": {
                                "title": "color",
                                "description": "Color for the timesheet activity type",
                                "type": "string"
                            },
                            "default": {
                                "title": "default",
                                "description": "Is this the default type for group WORKING or BREAK? Can be only set to true if the type has one of these groups.",
                                "type": "boolean"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateTimesheetActivityTypeRequest": {
                "title": "UpdateTimesheetActivityTypeRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "Timesheet activity type name",
                        "type": "string",
                        "nullable": false
                    },
                    "custom_icon_id": {
                        "title": "custom_icon_id",
                        "description": "Optional a custom icon for this type. Get the id from '/icons' endpoints",
                        "type": "integer"
                    },
                    "group": {
                        "title": "group",
                        "description": "Use a fitting group for the correct calcuation in the time account / project times evaluation.",
                        "type": "string",
                        "enum": [
                            "WORKING",
                            "BREAK",
                            "NONE"
                        ]
                    },
                    "color": {
                        "title": "color",
                        "description": "Color for the timesheet activity type",
                        "type": "string"
                    },
                    "default": {
                        "title": "default",
                        "description": "Is this the default type for group WORKING or BREAK? Can be only set to true if the type has one of these groups.",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "UpdateTimesheetActivityRequest": {
                "title": "UpdateTimesheetActivityRequest",
                "properties": {
                    "type_id": {
                        "title": "type_id",
                        "description": "Timesheet activity type (activity activity)",
                        "type": "integer",
                        "nullable": false
                    },
                    "timesheet_id": {
                        "title": "timesheet_id",
                        "description": "Timesheet on which the activity (activity) should be recorded on",
                        "type": "integer"
                    },
                    "assignment_id": {
                        "title": "assignment_id",
                        "description": "Optional: The appointment id on which the timesheet activity should be booked on.",
                        "type": "integer"
                    },
                    "start": {
                        "title": "start",
                        "description": "Timesheet activity start date",
                        "type": "string",
                        "format": "date-time",
                        "nullable": false
                    },
                    "end": {
                        "title": "end",
                        "description": "Timesheet activity end date",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "adjust_blocking": {
                        "title": "adjust_blocking",
                        "description": "Sometimes activities before or after would block this new activity. Set this parameter to true, to shorten or delete the blocking activities.",
                        "type": "boolean",
                        "default": false
                    },
                    "start_lat": {
                        "title": "start_lat",
                        "description": "GPS latitude captured at activity start",
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "start_lng": {
                        "title": "start_lng",
                        "description": "GPS longitude captured at activity start",
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "end_lat": {
                        "title": "end_lat",
                        "description": "GPS latitude captured at activity end",
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "end_lng": {
                        "title": "end_lng",
                        "description": "GPS longitude captured at activity end",
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "StoreTimesheetRequest": {
                "title": "StoreTimesheetRequest",
                "required": [
                    "employee_id"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateTimesheetRequest"
                    },
                    {
                        "properties": {
                            "start": {
                                "title": "start",
                                "description": "Timesheet start date",
                                "type": "string",
                                "format": "date-time",
                                "nullable": false
                            },
                            "end": {
                                "title": "end",
                                "description": "Timesheet end date",
                                "type": "string",
                                "format": "date-time",
                                "nullable": false
                            },
                            "working_time": {
                                "title": "working_time",
                                "description": "Timesheet working time(minutes)",
                                "type": "integer",
                                "nullable": true
                            },
                            "break_time": {
                                "title": "break_time",
                                "description": "Timesheet break time(minutes)",
                                "type": "integer",
                                "nullable": true
                            },
                            "employee_id": {
                                "title": "employee_id",
                                "description": "Employee id",
                                "type": "integer",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateTimesheetRequest": {
                "title": "UpdateTimesheetRequest",
                "properties": {
                    "start": {
                        "title": "start",
                        "description": "Timesheet start date",
                        "type": "string",
                        "format": "date-time",
                        "nullable": false
                    },
                    "end": {
                        "title": "end",
                        "description": "Timesheet end date",
                        "type": "string",
                        "format": "date-time",
                        "nullable": false
                    },
                    "working_time": {
                        "title": "working_time",
                        "description": "Timesheet working time (minutes)",
                        "type": "integer",
                        "nullable": true
                    },
                    "break_time": {
                        "title": "break_time",
                        "description": "Timesheet break time (minutes)",
                        "type": "integer",
                        "nullable": true
                    },
                    "source": {
                        "title": "source",
                        "description": "The timesheet source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The timesheet source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreToolGroupRequest": {
                "title": "StoreToolGroupRequest",
                "required": [
                    "name",
                    "color"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateToolGroupRequest"
                    },
                    {
                        "properties": {
                            "name": {
                                "title": "name",
                                "description": "Tool Group Name",
                                "type": "string"
                            },
                            "color": {
                                "title": "color",
                                "description": "Group color in Hex Format",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateToolGroupRequest": {
                "title": "UpdateToolGroupRequest",
                "properties": {
                    "name": {
                        "title": "name",
                        "description": "Tool Group Name",
                        "type": "string"
                    },
                    "color": {
                        "title": "color",
                        "description": "Group color",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The group source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The group source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "StoreToolRequest": {
                "title": "StoreToolRequest",
                "required": [
                    "model"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateToolRequest"
                    },
                    {
                        "properties": {
                            "manufacturer": {
                                "title": "manufacturer",
                                "description": "Tool manufacturer",
                                "type": "string"
                            },
                            "model": {
                                "title": "model",
                                "description": "Tool model",
                                "type": "string"
                            },
                            "serial_number": {
                                "title": "serial_number",
                                "description": "Tool serial number",
                                "type": "string"
                            },
                            "condition": {
                                "title": "condition",
                                "description": "Tool condition",
                                "type": "string",
                                "enum": [
                                    "NEW",
                                    "USED",
                                    "LEASED",
                                    "DEFECT",
                                    "SORTED_OUT"
                                ]
                            },
                            "date_of_purchase": {
                                "title": "date_of_purchase",
                                "description": "Date of purchase",
                                "type": "string",
                                "format": "date"
                            },
                            "next_maintenance": {
                                "title": "next_maintenance",
                                "description": "Next maintenance date",
                                "type": "string",
                                "format": "date"
                            },
                            "group_id": {
                                "title": "group_id",
                                "description": "Tool group id",
                                "type": "integer"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateToolRequest": {
                "title": "UpdateToolRequest",
                "properties": {
                    "manufacturer": {
                        "title": "manufacturer",
                        "description": "Tool manufacturer",
                        "type": "string"
                    },
                    "model": {
                        "title": "model",
                        "description": "Tool model",
                        "type": "string"
                    },
                    "serial_number": {
                        "title": "serial_number",
                        "description": "Tool serial number",
                        "type": "string"
                    },
                    "condition": {
                        "title": "condition",
                        "description": "Tool condition",
                        "type": "string",
                        "enum": [
                            "NEW",
                            "USED",
                            "LEASED",
                            "DEFECT",
                            "SORTED_OUT"
                        ]
                    },
                    "date_of_purchase": {
                        "title": "date_of_purchase",
                        "description": "Date of purchase",
                        "type": "string",
                        "format": "date"
                    },
                    "next_maintenance": {
                        "title": "next_maintenance",
                        "description": "Next maintenance date",
                        "type": "string",
                        "format": "date"
                    },
                    "group_id": {
                        "title": "group_id",
                        "description": "Tool group id",
                        "type": "integer"
                    },
                    "source": {
                        "title": "source",
                        "description": "The tool source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The tool source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "UpdateSchedulableRequest": {
                "title": "UpdateSchedulableRequest",
                "required": [
                    "start",
                    "end"
                ],
                "properties": {
                    "start": {
                        "title": "start",
                        "description": "Start date",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "title": "end",
                        "description": "End date",
                        "type": "string",
                        "format": "date-time"
                    },
                    "all_day": {
                        "title": "all_day",
                        "description": "Is it allday or not?",
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "StoreVehicleRequest": {
                "title": "StoreVehicleRequest",
                "required": [
                    "model"
                ],
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/UpdateVehicleRequest"
                    },
                    {
                        "properties": {
                            "manufacturer": {
                                "title": "manufacturer",
                                "description": "Tool manufacturer",
                                "type": "string"
                            },
                            "model": {
                                "title": "model",
                                "description": "Tool model",
                                "type": "string"
                            },
                            "registration_number": {
                                "title": "registration_number",
                                "description": "Registration number",
                                "type": "string"
                            },
                            "license_plate": {
                                "title": "license_plate",
                                "description": "License plate",
                                "type": "string"
                            },
                            "date_of_purchase": {
                                "title": "date_of_purchase",
                                "description": "Date of purchase",
                                "type": "string",
                                "format": "date"
                            },
                            "next_maintenance": {
                                "title": "next_maintenance",
                                "description": "Next maintenance date",
                                "type": "string",
                                "format": "date"
                            },
                            "mot_expires": {
                                "title": "mot_expires",
                                "description": "When does the MOT expire? (german TÜV)",
                                "type": "string",
                                "format": "date"
                            },
                            "condition": {
                                "title": "condition",
                                "description": "Vehicle condition",
                                "type": "string",
                                "enum": [
                                    "NEW",
                                    "USED",
                                    "LEASED",
                                    "DEFECT",
                                    "SORTED_OUT"
                                ]
                            },
                            "info": {
                                "title": "info",
                                "description": "Information",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "UpdateVehicleRequest": {
                "title": "UpdateVehicleRequest",
                "properties": {
                    "manufacturer": {
                        "title": "manufacturer",
                        "description": "Tool manufacturer",
                        "type": "string"
                    },
                    "model": {
                        "title": "model",
                        "description": "Tool model",
                        "type": "string"
                    },
                    "registration_number": {
                        "title": "registration_number",
                        "description": "Registration number",
                        "type": "string"
                    },
                    "license_plate": {
                        "title": "license_plate",
                        "description": "License plate",
                        "type": "string"
                    },
                    "date_of_purchase": {
                        "title": "date_of_purchase",
                        "description": "Date of purchase",
                        "type": "string",
                        "format": "date"
                    },
                    "next_maintenance": {
                        "title": "next_maintenance",
                        "description": "Next maintenance date",
                        "type": "string",
                        "format": "date"
                    },
                    "mot_expires": {
                        "title": "mot_expires",
                        "description": "When does the MOT expire? (german TÜV)",
                        "type": "string",
                        "format": "date"
                    },
                    "condition": {
                        "title": "condition",
                        "description": "Vehicle condition",
                        "type": "string",
                        "enum": [
                            "NEW",
                            "USED",
                            "LEASED",
                            "DEFECT",
                            "SORTED_OUT"
                        ]
                    },
                    "info": {
                        "title": "info",
                        "description": "Information",
                        "type": "string"
                    },
                    "source": {
                        "title": "source",
                        "description": "The project source",
                        "type": "string"
                    },
                    "source_external_id": {
                        "title": "source_external_id",
                        "description": "The project source_external_id",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "AbsenceRecurringRule": {
                "description": "Available relations: absences, template, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "template_id": {
                        "description": "Template",
                        "type": "integer",
                        "example": 1
                    },
                    "interval": {
                        "type": "string",
                        "enum": [
                            "DAILY",
                            "DAILY_MON_TO_FRI",
                            "WEEKLY",
                            "TWO_WEEKLY",
                            "THREE_WEEKLY",
                            "FOUR_WEEKLY",
                            "SIX_WEEKLY",
                            "EIGHT_WEEKLY",
                            "MONTHLY",
                            "QUARTERLY",
                            "HALF_YEARLY",
                            "YEARLY"
                        ]
                    },
                    "start": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-repeat"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "AbsenceType": {
                "description": "Available relations: absences, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "absences": {
                        "description": "Absences (relation)",
                        "type": "array",
                        "items": {}
                    },
                    "custom_icon_id": {
                        "description": "Custom icon",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Absence reason",
                        "type": "string",
                        "example": "Holiday"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#FF0000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "group": {
                        "description": "Calculated as",
                        "type": "string",
                        "example": "HOLIDAY",
                        "enum": [
                            "holiday",
                            "sick",
                            "other"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-calendar-times"
                    },
                    "source": {
                        "description": "The source of the absence type data",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "The external ID from the source",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Absence": {
                "description": "Available relations: employees, account_times, type, template, recurring_rule, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Holiday"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-sun"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#f3a622"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "dark",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "type_id": {
                        "description": "Reason",
                        "type": "integer",
                        "example": 1
                    },
                    "template_id": {
                        "description": "Template",
                        "type": "integer",
                        "example": 1
                    },
                    "recurring_rule_id": {
                        "description": "Repeats",
                        "type": "integer",
                        "example": 1
                    },
                    "start": {
                        "description": "The start date and time of the absence",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "description": "The end date and time of the absence",
                        "type": "string",
                        "format": "date-time"
                    },
                    "all_day": {
                        "description": "Whether the absence is all day",
                        "type": "boolean"
                    },
                    "timezone": {
                        "description": "The timezone of the absence",
                        "type": "string"
                    },
                    "hints": {
                        "description": "Additional hints or notes for the absence",
                        "type": "string"
                    },
                    "source": {
                        "description": "The source of the absence data",
                        "type": "string"
                    },
                    "source_external_id": {
                        "description": "The external ID from the source",
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "AggregateResponse": {
                "title": "Aggregate Response",
                "description": "Returned instead of the paginated list when the \"return=\" parameter is used.",
                "properties": {
                    "data": {
                        "properties": {
                            "count": {
                                "description": "Response envelope for the \"return=\" aggregate parameter (see general--return).\nExactly one of the properties is present per response, depending on the requested aggregate.",
                                "type": "integer"
                            },
                            "sum": {
                                "type": "number",
                                "nullable": true
                            },
                            "avg": {
                                "type": "number",
                                "nullable": true
                            },
                            "min": {
                                "nullable": true
                            },
                            "max": {
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ApiError": {
                "title": "API Error",
                "description": "Standard error response body",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "error": {
                        "properties": {
                            "code": {
                                "type": "integer"
                            },
                            "http_code": {
                                "type": "integer"
                            },
                            "message": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ApiValidationError": {
                "title": "API Validation Error",
                "description": "Error response body returned when validation fails",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "Please fill in the Email field. (and 1 more error)"
                    },
                    "error": {
                        "properties": {
                            "code": {
                                "type": "integer",
                                "example": 422
                            },
                            "http_code": {
                                "type": "integer",
                                "example": 422
                            },
                            "message": {
                                "type": "string",
                                "example": "Please fill in the Email field. (and 1 more error)"
                            },
                            "invalid_data": {
                                "type": "object",
                                "example": {
                                    "email": "Please fill in the Email field."
                                },
                                "additionalProperties": {
                                    "type": "string"
                                }
                            }
                        },
                        "type": "object"
                    },
                    "errors": {
                        "type": "object",
                        "example": {
                            "email": [
                                "Please fill in the Email field."
                            ]
                        },
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "type": "object"
            },
            "ArticleGroup": {
                "description": "Available relations: members, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Group name",
                        "type": "string",
                        "example": "Tools"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#00BFFF"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "DARK",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-layer-group"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Article": {
                "title": "Article",
                "description": "An article object. Available relations: assignments, group, picture, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Bosch cordless screwdriver (MAN-456)"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-layer-group"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#f3a622"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "dark",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "MAN-456"
                    },
                    "picture_is_avatar": {
                        "description": "Picture is avatar",
                        "type": "boolean",
                        "example": false
                    },
                    "group_id": {
                        "description": "Article group",
                        "type": "integer",
                        "example": 1
                    },
                    "picture_id": {
                        "description": "Photo",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Name",
                        "type": "string",
                        "example": "Bosch cordless screwdriver"
                    },
                    "manufacturer": {
                        "description": "Brand",
                        "type": "string",
                        "example": "Bosch"
                    },
                    "supplier_article_nr": {
                        "description": "Supplier article number",
                        "type": "string",
                        "example": "SUP-123"
                    },
                    "manufacturer_article_nr": {
                        "description": "Article number",
                        "type": "string",
                        "example": "MAN-456"
                    },
                    "ean": {
                        "description": "EAN",
                        "type": "string",
                        "example": "4000123456789"
                    },
                    "unit": {
                        "description": "Unit",
                        "type": "string",
                        "example": "PIECE",
                        "enum": [
                            "BAG",
                            "BAR",
                            "BOTTLE",
                            "BOX",
                            "BUCKET",
                            "BUNCH",
                            "CAN",
                            "CANISTER",
                            "CARDBOARD",
                            "CUBIC_METRE",
                            "CENTIMETERS",
                            "CONTAINER",
                            "DAYS",
                            "DOZEN",
                            "FLAT_FEE",
                            "GRAMS",
                            "HOURS",
                            "KILOGRAMS",
                            "KILOMETER",
                            "KILOWATT_PEAK",
                            "LITRE",
                            "METRES",
                            "MILLILITRE",
                            "MILLIMETRES",
                            "PACK",
                            "PAIR",
                            "PANEL",
                            "PARCEL",
                            "PERCENT",
                            "PIECE",
                            "ROLL",
                            "RUNNING_METER",
                            "SAC",
                            "SET",
                            "SQUAREMETER",
                            "TONS",
                            "TRIMMING",
                            "TUBE"
                        ]
                    },
                    "vat_included": {
                        "description": "VAT included",
                        "type": "string",
                        "example": "0",
                        "enum": [
                            "0",
                            "1"
                        ]
                    },
                    "unit_price": {
                        "description": "Price",
                        "type": "number",
                        "format": "float",
                        "example": 19.99
                    },
                    "vat_rate": {
                        "description": "Vat rate",
                        "type": "number",
                        "format": "float",
                        "example": 19.5
                    },
                    "currency": {
                        "description": "Currency",
                        "type": "string",
                        "example": "EUR",
                        "enum": [
                            "EUR",
                            "USD",
                            "CHF",
                            "UAH",
                            "PLN",
                            "RON"
                        ]
                    },
                    "price_date": {
                        "description": "Price date",
                        "type": "string",
                        "format": "date",
                        "example": "2024-01-01",
                        "nullable": true
                    },
                    "article_url": {
                        "description": "Article URL",
                        "type": "string",
                        "example": "https://example.com/article/1"
                    },
                    "dangerous_material": {
                        "description": "Dangerous goods",
                        "type": "boolean",
                        "example": false
                    },
                    "info": {
                        "description": "Detailed description",
                        "type": "string",
                        "example": "Handle with care"
                    },
                    "source": {
                        "description": "Source",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "Source ID",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "AssignmentRecurringRule": {
                "description": "Available relations: assignments, template, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "template_id": {
                        "description": "Template",
                        "type": "integer",
                        "example": 1
                    },
                    "interval": {
                        "type": "string",
                        "enum": [
                            "DAILY",
                            "DAILY_MON_TO_FRI",
                            "WEEKLY",
                            "TWO_WEEKLY",
                            "THREE_WEEKLY",
                            "FOUR_WEEKLY",
                            "SIX_WEEKLY",
                            "EIGHT_WEEKLY",
                            "MONTHLY",
                            "QUARTERLY",
                            "HALF_YEARLY",
                            "YEARLY"
                        ]
                    },
                    "start": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-repeat"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "AssignmentTag": {
                "description": "Available relations: assignments, custom_icon, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "assignments": {
                        "description": "Appointments (relation)",
                        "type": "array",
                        "items": {}
                    },
                    "custom_icon_id": {
                        "description": "Custom icon",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Labels",
                        "type": "string",
                        "example": "Urgent"
                    },
                    "color": {
                        "type": "string"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-tag"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Assignment": {
                "title": "Assignment",
                "description": "An assignment object. Available relations: customer_address, project, customer, template, assignments, documents, recurring_rule, documentations, signing_documentations, recorded_times, employees, observers, vehicles, tools, articles, tags, timesheet_activities, billable_timesheet_activities, address, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Mounting solar panels"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-calendar-check"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#f3a622"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "dark",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "AS-123"
                    },
                    "project_id": {
                        "description": "Project",
                        "type": "integer",
                        "example": 1
                    },
                    "customer_address_id": {
                        "description": "Address",
                        "type": "integer",
                        "example": 1
                    },
                    "template_id": {
                        "description": "Appointment template",
                        "type": "integer",
                        "example": 1
                    },
                    "recurring_rule_id": {
                        "description": "Repeats",
                        "type": "integer",
                        "example": 1
                    },
                    "title": {
                        "description": "Name",
                        "type": "string",
                        "example": "Mounting solar panels"
                    },
                    "description": {
                        "description": "Instructions",
                        "type": "string",
                        "example": "Install 12 panels on the roof"
                    },
                    "to_be_documented": {
                        "description": "Task for protocol",
                        "type": "string",
                        "example": "Protocol the mounting of the solar panels"
                    },
                    "internal_info": {
                        "description": "Internal info",
                        "type": "string",
                        "example": "The customer is very nice"
                    },
                    "start": {
                        "description": "Start",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "description": "End",
                        "type": "string",
                        "format": "date-time"
                    },
                    "all_day": {
                        "description": "All day",
                        "type": "boolean",
                        "example": false
                    },
                    "timezone": {
                        "description": "Time zone",
                        "type": "string",
                        "example": "Europe/Berlin"
                    },
                    "state": {
                        "description": "Status",
                        "type": "string",
                        "example": "SCHEDULED",
                        "enum": [
                            "UNPLANNED",
                            "SCHEDULED",
                            "IN_PROGRESS",
                            "PAUSED",
                            "DELAYED",
                            "DONE"
                        ]
                    },
                    "is_template": {
                        "description": "Appointment template",
                        "type": "boolean",
                        "example": false
                    },
                    "duration": {
                        "description": "Scheduled duration",
                        "type": "integer",
                        "example": 3600
                    },
                    "planned_time": {
                        "description": "Scheduled time",
                        "type": "integer",
                        "example": 60
                    },
                    "target_time": {
                        "description": "Target working time",
                        "type": "integer",
                        "example": 60
                    },
                    "calculated_sales_volume": {
                        "description": "Calculated sales volume",
                        "type": "string",
                        "example": "500.00"
                    },
                    "archived_on": {
                        "description": "Archived on",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "reminded_start": {
                        "description": "Reminded start",
                        "type": "boolean",
                        "example": false
                    },
                    "reminded_delayed": {
                        "description": "Reminded delayed",
                        "type": "boolean",
                        "example": false
                    },
                    "source": {
                        "description": "Source",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "Source ID",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "CompanySettings": {
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "allow_overlapping_tools_vehicles": {
                        "description": "Vehicles and tools can be planned for multiple appointments in the same period",
                        "type": "boolean",
                        "example": false
                    },
                    "allow_overlapping_employees": {
                        "description": "A person can be planned for multiple appointments in the same period",
                        "type": "boolean",
                        "example": true
                    },
                    "show_sequential_custom_numbers": {
                        "description": "Activate consecutive numbers",
                        "type": "boolean",
                        "example": true
                    },
                    "show_shareable_link": {
                        "description": "Enables sharing individual project pages to customers outside Craftboxx via link",
                        "type": "boolean",
                        "example": true
                    },
                    "show_person_days": {
                        "description": "Display person days (PD) instead of hours / minutes",
                        "type": "boolean",
                        "example": false
                    },
                    "force_unique_custom_numbers": {
                        "description": "Forbid identical numbers",
                        "type": "boolean",
                        "example": true
                    },
                    "suggestions_project_contain": {
                        "description": "Project numbering range",
                        "type": "string",
                        "example": "1000-2000"
                    },
                    "unplanned_assignments_app": {
                        "description": "Unscheduled appointments in app",
                        "type": "string",
                        "example": "DIRECT",
                        "enum": [
                            "HIDE",
                            "SUGGEST",
                            "DIRECT"
                        ]
                    },
                    "unassigned_assignments_app": {
                        "description": "Also show unassigned appointments and allow self-assigning (Craftboxx 2 App only)",
                        "type": "boolean",
                        "example": false
                    },
                    "material_change_documentation": {
                        "description": "Create \"Material used\" protocol entries additionally",
                        "type": "boolean",
                        "example": true
                    },
                    "project_assignments_visibility_app": {
                        "description": "Visibility of all assignments of a project in app",
                        "type": "string",
                        "example": "ALL",
                        "enum": [
                            "ASSIGNED_ONLY",
                            "ALL"
                        ]
                    },
                    "assignments_max_start_app": {
                        "description": "Showing future appointments in app",
                        "type": "string",
                        "example": "FOUR_WEEKS",
                        "enum": [
                            "ALL",
                            "TOMORROW",
                            "THREE_DAYS",
                            "ONE_WEEK",
                            "TWO_WEEKS",
                            "FOUR_WEEKS"
                        ]
                    },
                    "create_assignments_app": {
                        "description": "Creating appointments in app",
                        "type": "boolean",
                        "example": true
                    },
                    "disable_timesheet_edit_app": {
                        "description": "Prevent staff from editing timesheets in app (Craftboxx 2 App only)",
                        "type": "boolean",
                        "example": false
                    },
                    "activity_position_app": {
                        "description": "GPS position handling during time tracking in the app",
                        "type": "string",
                        "example": "DISABLED",
                        "enum": [
                            "DISABLED",
                            "REQUIRED"
                        ]
                    },
                    "enable_auto_break": {
                        "description": "Include automatic breaks (Craftboxx 2 App only)",
                        "type": "boolean",
                        "example": false
                    },
                    "pdf_logo_align": {
                        "description": "Logo position in PDF",
                        "type": "string",
                        "example": "CENTER",
                        "enum": [
                            "LEFT",
                            "CENTER",
                            "RIGHT"
                        ]
                    },
                    "calendar_day_start": {
                        "description": "Opening time (calendar start)",
                        "type": "string",
                        "example": "08:00"
                    },
                    "calendar_day_end": {
                        "description": "Closing time (calendar end)",
                        "type": "string",
                        "example": "17:00"
                    },
                    "remind_assignment_start": {
                        "description": "Reminders",
                        "type": "string",
                        "example": "ONE_HOUR",
                        "enum": [
                            "NEVER",
                            "FIFTEEN_MINUTES",
                            "THIRTY_MINUTES",
                            "ONE_HOUR"
                        ]
                    },
                    "notify_assignment_change_scope": {
                        "description": "Period",
                        "type": "string",
                        "example": "TODAY_OR_TOMORROW",
                        "enum": [
                            "TODAY_OR_TOMORROW",
                            "ALL"
                        ]
                    },
                    "currency": {
                        "description": "Currency",
                        "type": "string",
                        "example": "EUR",
                        "enum": [
                            "EUR",
                            "USD",
                            "CHF",
                            "UAH",
                            "PLN",
                            "RON"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "company settings 1"
                    },
                    "person_day_length": {
                        "description": "Length of working day (Person-day / PD)",
                        "type": "integer",
                        "example": 510
                    },
                    "default_holidays_per_year": {
                        "description": "Holiday entitlement for new staff",
                        "type": "integer",
                        "example": 25
                    },
                    "show_project_sales_volume": {
                        "description": "Show project sales volume and distribute it to appointments",
                        "type": "boolean",
                        "example": false
                    },
                    "edit_project_sales_volume_in_planner": {
                        "description": "Edit project sales volume in the Planner",
                        "type": "boolean",
                        "example": false
                    },
                    "show_target_time": {
                        "description": "Show target time in appointments",
                        "type": "boolean",
                        "example": false
                    },
                    "edit_target_time_in_planner": {
                        "description": "Edit target time in the Planner",
                        "type": "boolean",
                        "example": false
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Company": {
                "description": "Available relations: assignments, assignment_tags, employees, employee_groups, employee_logs, employee_calendars, assignment_recurring_rules, absence_recurring_rules, projects, tools, tool_groups, notes, vehicles, articles, article_groups, documents, documentations, absences, absence_types, absence_account_times, employee_absence_account_balances, licenses, customers, timesheets, customer_addresses, integration_configurations, uploads, settings, last_payment, settings_pdf, settings_break_rules, settings_notifications, documentation_signatures, integrations, timesheet_activity_types, employee_balance_compensations, employee_time_account_balances, logo, logo_for_dark, changelog, test_activations",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Company name",
                        "type": "string",
                        "example": "Craftboxx GmbH"
                    },
                    "addon": {
                        "description": "Add-on",
                        "type": "string",
                        "example": "Second floor"
                    },
                    "logo_id": {
                        "description": "Logo",
                        "type": "integer",
                        "example": 1
                    },
                    "logo_for_dark_id": {
                        "description": "Dark logo",
                        "type": "integer",
                        "example": 1
                    },
                    "street": {
                        "description": "Street and no.",
                        "type": "string",
                        "example": "Musterstraße 1"
                    },
                    "zip": {
                        "description": "ZIP code",
                        "type": "string",
                        "example": "12345"
                    },
                    "city": {
                        "description": "City",
                        "type": "string",
                        "example": "Berlin"
                    },
                    "province": {
                        "description": "State/Province",
                        "type": "string",
                        "example": "Berlin",
                        "nullable": true
                    },
                    "country": {
                        "description": "Country",
                        "type": "string",
                        "example": "Germany"
                    },
                    "lat": {
                        "description": "Latitude",
                        "type": "number",
                        "format": "float",
                        "example": 52.52
                    },
                    "lng": {
                        "description": "Longitude",
                        "type": "number",
                        "format": "float",
                        "example": 13.4
                    },
                    "timezone": {
                        "description": "Time zone",
                        "type": "string",
                        "example": "Europe/Berlin"
                    },
                    "email": {
                        "description": "Email",
                        "type": "string",
                        "example": "info@craftboxx.de"
                    },
                    "phone": {
                        "description": "Phone",
                        "type": "string",
                        "example": "+49123456789"
                    },
                    "website": {
                        "description": "Website",
                        "type": "string",
                        "example": "https://craftboxx.de",
                        "nullable": true
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Craftboxx GmbH"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-building"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "123"
                    },
                    "picture_is_avatar": {
                        "description": "Picture is avatar",
                        "type": "boolean"
                    },
                    "locale": {
                        "description": "Language",
                        "type": "string",
                        "example": "de_DE",
                        "enum": [
                            "de_DE",
                            "en_US",
                            "pl_PL",
                            "uk_UA",
                            "ro_RO",
                            "es_ES"
                        ]
                    },
                    "type": {
                        "description": "Type",
                        "type": "string",
                        "example": "PAYING",
                        "enum": [
                            "DEMONSTRATION",
                            "TESTING",
                            "PAYING",
                            "INTERNAL",
                            "CANCELLED"
                        ]
                    },
                    "plan_name": {
                        "description": "Subscription",
                        "type": "string",
                        "example": "PRO",
                        "enum": [
                            "CORE",
                            "PRO"
                        ]
                    },
                    "next_plan_name": {
                        "description": "Next plan name",
                        "type": "string",
                        "example": "PRO",
                        "nullable": true,
                        "enum": [
                            "CORE",
                            "PRO"
                        ]
                    },
                    "vat_number": {
                        "description": "VAT number",
                        "type": "string",
                        "example": "DE123456789",
                        "nullable": true
                    },
                    "tax_number": {
                        "description": "Tax number",
                        "type": "string",
                        "example": "12/345/67890",
                        "nullable": true
                    },
                    "trade_register_number": {
                        "description": "Trade register number",
                        "type": "string",
                        "example": "HRB 123456",
                        "nullable": true
                    },
                    "executive_director": {
                        "description": "Executive director",
                        "type": "string",
                        "example": "Max Mustermann",
                        "nullable": true
                    },
                    "jurisdiction": {
                        "description": "Jurisdiction",
                        "type": "string",
                        "example": "Berlin",
                        "nullable": true
                    },
                    "info": {
                        "description": "Information",
                        "type": "string",
                        "example": "Premium customer",
                        "nullable": true
                    },
                    "promo_code": {
                        "description": "Promo code",
                        "type": "string",
                        "example": "WELCOME2024",
                        "nullable": true
                    },
                    "days_until_expiration": {
                        "description": "Days until expiration",
                        "type": "integer",
                        "example": 30
                    },
                    "is_expired": {
                        "description": "Expired",
                        "type": "boolean",
                        "example": false
                    },
                    "expires": {
                        "description": "Expires at",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "delete_on": {
                        "description": "Delete date",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "type_changed_at": {
                        "description": "Converted",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "CustomerAddress": {
                "description": "Available relations: customer, assignments, projects, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "customer_id": {
                        "description": "Customer",
                        "type": "integer",
                        "example": 1
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "MAILING",
                            "BILLING",
                            "DELIVERY"
                        ]
                    },
                    "use": {
                        "type": "string",
                        "enum": [
                            "position",
                            "address"
                        ]
                    },
                    "name": {
                        "type": "string"
                    },
                    "name_addon": {
                        "type": "string"
                    },
                    "street": {
                        "type": "string"
                    },
                    "street_addon": {
                        "type": "string"
                    },
                    "zip": {
                        "type": "string"
                    },
                    "city": {
                        "type": "string"
                    },
                    "country": {
                        "type": "string"
                    },
                    "lat": {
                        "type": "number",
                        "format": "float"
                    },
                    "lng": {
                        "type": "number",
                        "format": "float"
                    },
                    "address": {
                        "description": "The formatted postal address (or the coordinates, when the address is set by them)",
                        "type": "string",
                        "example": "Schanzenstr 12b (Hinterhof), 51063 Köln, Deutschland"
                    },
                    "full_address": {
                        "description": "The contact name and the address combined",
                        "type": "string",
                        "example": "Erika Mustermann, Einkauf, Schanzenstr 12b (Hinterhof), 51063 Köln, Deutschland"
                    },
                    "first_line": {
                        "description": "First line — the address",
                        "type": "string",
                        "example": "Schanzenstr 12b (Hinterhof), 51063 Köln, Deutschland"
                    },
                    "second_line": {
                        "description": "Second line — the contact name and its addition",
                        "type": "string",
                        "example": "Erika Mustermann, Einkauf"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-map-marker-alt"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Customer": {
                "title": "Customer",
                "description": "A customer object. Available relations: addresses, assignments, mailing_address, billing_address, delivery_addresses, projects, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Craftboxx GmbH"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-user-tie"
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "C-1001"
                    },
                    "name": {
                        "description": "Customer name",
                        "type": "string",
                        "example": "Craftboxx GmbH"
                    },
                    "name_addon": {
                        "description": "Add-on",
                        "type": "string",
                        "example": "HQ"
                    },
                    "customer_number": {
                        "description": "Customer no.",
                        "type": "string",
                        "example": "C-1001"
                    },
                    "info": {
                        "description": "Additional information",
                        "type": "string",
                        "example": "Important customer"
                    },
                    "source": {
                        "description": "Source",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "Source ID",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Document": {
                "description": "Available relations: upload, projects, assignments, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "upload_id": {
                        "description": "File",
                        "type": "integer",
                        "example": 1
                    },
                    "title": {
                        "description": "The title of the document",
                        "type": "string"
                    },
                    "type": {
                        "description": "The type of the document",
                        "type": "string",
                        "enum": [
                            "GLOBAL",
                            "ASSIGNMENT"
                        ]
                    },
                    "info": {
                        "description": "Additional information about the document",
                        "type": "string"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-file"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "picture_is_avatar": {
                        "description": "Picture is avatar",
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "DocumentationSignature": {
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "text": {
                        "type": "string"
                    },
                    "attachment_possible": {
                        "type": "boolean"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-signature"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Documentation": {
                "title": "Protocol entry",
                "description": "A protocol entry object. Available relations: assignment, author, upload, upload2, timesheet_activity, picture, archiveable, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "assignment_id": {
                        "description": "Assignment",
                        "type": "integer",
                        "example": 1
                    },
                    "author_id": {
                        "description": "Author",
                        "type": "integer",
                        "example": 1
                    },
                    "upload_id": {
                        "description": "File",
                        "type": "integer",
                        "example": 1
                    },
                    "upload2_id": {
                        "description": "File",
                        "type": "integer",
                        "example": 1
                    },
                    "title": {
                        "description": "Title",
                        "type": "string",
                        "example": "Title"
                    },
                    "description": {
                        "description": "Description",
                        "type": "string",
                        "example": "Description"
                    },
                    "type": {
                        "description": "Type",
                        "type": "string",
                        "example": "note",
                        "enum": [
                            "NOTE",
                            "DRAFT",
                            "PHOTO",
                            "SIGNING",
                            "TIME",
                            "PDF",
                            "ATTACHMENT",
                            "MATERIAL"
                        ]
                    },
                    "state": {
                        "description": "State",
                        "type": "string",
                        "example": "done",
                        "enum": [
                            "ACCEPTED_WITH_COMMENT",
                            "ACCEPTED_WO_COMMENT"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-file"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "documented_on": {
                        "description": "Documented on",
                        "type": "string",
                        "format": "date-time"
                    },
                    "created_at": {
                        "description": "Created at",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated at",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeAbsenceAccountBalance": {
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "employee": {
                        "description": "Person (relation)"
                    },
                    "year": {
                        "description": "Year",
                        "type": "integer",
                        "example": 2024
                    },
                    "holidays_taken": {
                        "description": "Holidays taken that year",
                        "type": "number",
                        "format": "float",
                        "example": 20
                    },
                    "holidays_entitlement": {
                        "description": "Holiday entitlement",
                        "type": "number",
                        "format": "float",
                        "example": 30
                    },
                    "holidays_total_entitlement": {
                        "description": "Calculated holiday entitlement",
                        "type": "number",
                        "format": "float",
                        "example": 30
                    },
                    "balance": {
                        "description": "Balance",
                        "type": "number",
                        "format": "float",
                        "example": 10
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Absence account balance for employee #1 in 2024"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeBalanceCompensation": {
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee": {
                        "description": "Person (relation)"
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "date": {
                        "description": "Date",
                        "type": "string",
                        "format": "date"
                    },
                    "duration": {
                        "description": "Duration",
                        "type": "integer",
                        "example": 480
                    },
                    "reason": {
                        "description": "Reason",
                        "type": "string",
                        "example": "Overtime compensation"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "01.01.2024: 08:00"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-plus"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#68c31d"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeDevice": {
                "description": "Available relations: employee, logins",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "device_udid": {
                        "description": "Device UDID",
                        "type": "string",
                        "example": "550e8400-e29b-41d4-a716-446655440000"
                    },
                    "device_type": {
                        "description": "Type",
                        "type": "string",
                        "example": "IPHONE",
                        "enum": [
                            "IPHONE",
                            "ANDROID_PHONE",
                            "IPAD",
                            "ANDROID_TABLET"
                        ]
                    },
                    "device_kind": {
                        "description": "Type",
                        "type": "string",
                        "example": "1",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "app_version": {
                        "description": "App version",
                        "type": "string",
                        "example": "2.0.0"
                    },
                    "system_version": {
                        "description": "System version",
                        "type": "string",
                        "example": "16.0"
                    },
                    "plattform": {
                        "description": "Operating system",
                        "type": "string",
                        "example": "iOS"
                    },
                    "language": {
                        "description": "Language",
                        "type": "string",
                        "example": "en"
                    },
                    "is_active": {
                        "description": "Is active",
                        "type": "boolean",
                        "example": true
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "iOS (16.0)"
                    },
                    "created_at": {
                        "description": "Registered on",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeGroup": {
                "description": "Available relations: members, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Team name",
                        "type": "string",
                        "example": "Maintenance Team"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#FFBF00"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "DARK",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-users"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeNotificationLog": {
                "description": "Available relations: employee, causer",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "causer_id": {
                        "description": "Author",
                        "type": "integer",
                        "example": 1
                    },
                    "type": {
                        "description": "Type",
                        "type": "string",
                        "example": "App\\Notifications\\ToEmployee\\Assignment\\AssignedNotification"
                    },
                    "channel": {
                        "description": "Channel",
                        "type": "string",
                        "example": "Mail"
                    },
                    "notification_id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "has_been_sent": {
                        "description": "Sent",
                        "type": "boolean",
                        "example": true
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "1"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-bullhorn"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "PushNotification": {
                "description": "Available relations: employee, causer",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "causer_id": {
                        "description": "Author",
                        "type": "integer",
                        "example": 1
                    },
                    "type": {
                        "description": "Type",
                        "type": "string",
                        "example": "App\\Notifications\\ToEmployee\\Assignment\\AssignedNotification"
                    },
                    "read_at": {
                        "description": "Read at",
                        "type": "string",
                        "format": "date-time"
                    },
                    "read_on": {
                        "description": "Where the notification was read",
                        "type": "string",
                        "example": "planner",
                        "enum": [
                            "app",
                            "planner",
                            "api"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "1"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeSettings": {
                "description": "Available relations: employee",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "allow_support_login": {
                        "description": "Allow support login",
                        "type": "boolean",
                        "example": false
                    },
                    "fullwidth": {
                        "description": "Full width",
                        "type": "boolean",
                        "example": false
                    },
                    "planning_board_sidebar_closed": {
                        "description": "Planning board sidebar closed",
                        "type": "boolean",
                        "example": false
                    },
                    "compact_view": {
                        "description": "Compact view",
                        "type": "boolean",
                        "example": false
                    },
                    "planning_board_event_edit_mode": {
                        "description": "Planning board edit mode",
                        "type": "string",
                        "example": "DRAG",
                        "enum": [
                            "DRAG",
                            "COPY",
                            "READ_ONLY",
                            "ASSIGN_RESOURCE",
                            "UNASSIGN_RESOURCE"
                        ]
                    },
                    "calendar_event_edit_mode": {
                        "description": "Calendar edit mode",
                        "type": "string",
                        "example": "DRAG",
                        "enum": [
                            "DRAG",
                            "COPY",
                            "READ_ONLY",
                            "ASSIGN_RESOURCE",
                            "UNASSIGN_RESOURCE"
                        ]
                    },
                    "planning_board_event_stack_enabled": {
                        "description": "Planning board stack enabled",
                        "type": "boolean",
                        "example": false
                    },
                    "calendar_event_stack_enabled": {
                        "description": "Calendar stack enabled",
                        "type": "boolean",
                        "example": false
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "employee settings 1"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeTargetWorkingTime": {
                "description": "Available relations: employee, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "employee": {
                        "description": "Person (relation)"
                    },
                    "starting": {
                        "description": "Starts on",
                        "type": "string",
                        "format": "date"
                    },
                    "sunday": {
                        "description": "Sunday",
                        "type": "integer",
                        "example": 0
                    },
                    "monday": {
                        "description": "Monday",
                        "type": "integer",
                        "example": 480
                    },
                    "tuesday": {
                        "description": "Tuesday",
                        "type": "integer",
                        "example": 480
                    },
                    "wednesday": {
                        "description": "Wednesday",
                        "type": "integer",
                        "example": 480
                    },
                    "thursday": {
                        "description": "Thursday",
                        "type": "integer",
                        "example": 480
                    },
                    "friday": {
                        "description": "Friday",
                        "type": "integer",
                        "example": 480
                    },
                    "saturday": {
                        "description": "Saturday",
                        "type": "integer",
                        "example": 0
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-business-time"
                    },
                    "created_at": {
                        "description": "Created on",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "EmployeeTimeAccountBalance": {
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "employee": {
                        "description": "Person (relation)"
                    },
                    "date": {
                        "description": "Date",
                        "type": "string",
                        "format": "date"
                    },
                    "timesheet_activities_start": {
                        "description": "Start of activities",
                        "type": "string",
                        "format": "date-time"
                    },
                    "timesheet_activities_end": {
                        "description": "End of activities",
                        "type": "string",
                        "format": "date-time"
                    },
                    "timesheet_activities_working_time": {
                        "description": "Working time (minutes)",
                        "type": "integer",
                        "example": 480
                    },
                    "timesheet_activities_break_time": {
                        "description": "Break time (minutes)",
                        "type": "integer",
                        "example": 45
                    },
                    "timesheet_activities_unpaid_time": {
                        "description": "Unpaid time (minutes)",
                        "type": "integer",
                        "example": 0
                    },
                    "absences_paid_and_public_holidays_time": {
                        "description": "Paid absences (minutes)",
                        "type": "integer",
                        "example": 0
                    },
                    "absences_unpaid_time": {
                        "description": "Unpaid absences (minutes)",
                        "type": "integer",
                        "example": 0
                    },
                    "actual_time": {
                        "description": "Actual time (minutes)",
                        "type": "integer",
                        "example": 480
                    },
                    "target_working_time": {
                        "description": "Target working time (minutes)",
                        "type": "integer",
                        "example": 480
                    },
                    "balance_compensations_time": {
                        "description": "Balance compensations (minutes)",
                        "type": "integer",
                        "example": 0
                    },
                    "overtime": {
                        "description": "Overtime (minutes)",
                        "type": "integer",
                        "example": 0
                    },
                    "balance": {
                        "description": "Balance (minutes)",
                        "type": "integer",
                        "example": 600
                    },
                    "created_at": {
                        "description": "Calculated on",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Employee": {
                "title": "Employee",
                "description": "Available relations: assignments, unarchived_assignments, archived_assignments, documentations, absences, notes, absence_account_times, time_account_balances, absence_account_balances, balance_compensations, target_working_times, current_target_working_time, earliest_target_working_time, timesheets, timesheet_activities, caused_changelog_entries, logins, push_notifications, notification_logs, logs, calendars, unread_logins, group, picture, settings, upload, devices, license, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "John Doe"
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "E-101"
                    },
                    "picture_id": {
                        "description": "Photo",
                        "type": "integer",
                        "example": 1
                    },
                    "group_id": {
                        "description": "Team",
                        "type": "integer",
                        "example": 1
                    },
                    "first_name": {
                        "description": "First name",
                        "type": "string",
                        "example": "John"
                    },
                    "last_name": {
                        "description": "Last name",
                        "type": "string",
                        "example": "Doe"
                    },
                    "full_name": {
                        "description": "Full name",
                        "type": "string",
                        "example": "John Doe"
                    },
                    "email": {
                        "description": "Email",
                        "type": "string",
                        "example": "john.doe@example.com"
                    },
                    "password_changed_at": {
                        "description": "Last password change",
                        "type": "string",
                        "format": "date-time"
                    },
                    "phone": {
                        "description": "Landline",
                        "type": "string",
                        "example": "+49123456789"
                    },
                    "mobile": {
                        "description": "Mobile",
                        "type": "string",
                        "example": "+49987654321"
                    },
                    "street": {
                        "description": "Street and no.",
                        "type": "string",
                        "example": "Main Street 1"
                    },
                    "zip": {
                        "description": "ZIP code",
                        "type": "string",
                        "example": "12345"
                    },
                    "city": {
                        "description": "City",
                        "type": "string",
                        "example": "Berlin"
                    },
                    "province": {
                        "description": "State/Province",
                        "type": "string",
                        "example": "Berlin"
                    },
                    "country": {
                        "description": "Country",
                        "type": "string",
                        "example": "DE"
                    },
                    "lat": {
                        "description": "Latitude",
                        "type": "number",
                        "example": 52.520007
                    },
                    "lng": {
                        "description": "Longitude",
                        "type": "number",
                        "example": 13.404954
                    },
                    "number": {
                        "description": "Initials / No.",
                        "type": "string",
                        "example": "E-101"
                    },
                    "position": {
                        "description": "Job title",
                        "type": "string",
                        "example": "Developer"
                    },
                    "department": {
                        "description": "Department",
                        "type": "string",
                        "example": "IT"
                    },
                    "skills": {
                        "description": "Skills",
                        "type": "string",
                        "example": "Woodworking, Plumbing"
                    },
                    "holidays_per_year": {
                        "description": "Holiday entitlement this year",
                        "type": "number",
                        "format": "float",
                        "example": 25.5
                    },
                    "holidays_overtake_balances": {
                        "description": "Carry over last year's holidays",
                        "type": "boolean",
                        "example": false
                    },
                    "driver_license": {
                        "description": "Driver's license",
                        "type": "boolean",
                        "example": true
                    },
                    "truck_license": {
                        "description": "Truck driver's license",
                        "type": "boolean",
                        "example": false
                    },
                    "inactive": {
                        "description": "Inactive",
                        "type": "boolean",
                        "example": false
                    },
                    "initials": {
                        "description": "Initials / No.",
                        "type": "string",
                        "example": "JD"
                    },
                    "picture_is_avatar": {
                        "description": "Picture is avatar",
                        "type": "boolean",
                        "example": true
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-user"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#FF5733"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "dark",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "locale": {
                        "description": "Display language",
                        "type": "string",
                        "example": "de_DE",
                        "enum": [
                            "de_DE",
                            "en_US",
                            "pl_PL",
                            "uk_UA",
                            "ro_RO",
                            "es_ES"
                        ]
                    },
                    "timezone": {
                        "description": "Timezone",
                        "type": "string",
                        "example": "Europe/Berlin"
                    },
                    "info": {
                        "description": "Additional info",
                        "type": "string",
                        "example": "Some extra info"
                    },
                    "source": {
                        "description": "The source of the employee data",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "The external ID from the source",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "GroupedAggregateResponse": {
                "title": "Grouped Aggregate Response",
                "description": "Returned instead of the paginated list when the \"group_by=\" parameter is used. One row per bucket.",
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "count": {
                                    "description": "Response envelope for the \"group_by=\" parameter (see general--group_by).\nEach element is one bucket: the grouped column plus the requested aggregate\n(count by default, or one of sum/min/max/avg via \"return=\").",
                                    "type": "integer"
                                },
                                "sum": {
                                    "type": "number",
                                    "nullable": true
                                },
                                "avg": {
                                    "type": "number",
                                    "nullable": true
                                },
                                "min": {
                                    "nullable": true
                                },
                                "max": {
                                    "nullable": true
                                }
                            },
                            "type": "object"
                        }
                    }
                },
                "type": "object"
            },
            "Icon": {
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "icon": {
                        "description": "The font-awesome icon name (e.g., fa-user)",
                        "type": "string"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "fa-user"
                    }
                },
                "type": "object"
            },
            "License": {
                "description": "Available relations: employee",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "In use by",
                        "type": "integer",
                        "example": 1
                    },
                    "source": {
                        "description": "Source",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "Source ID",
                        "type": "string",
                        "example": "123"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-id-card"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Note": {
                "description": "Available relations: employees, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "title": {
                        "description": "The title of the note",
                        "type": "string"
                    },
                    "description": {
                        "description": "The content of the note",
                        "type": "string"
                    },
                    "start": {
                        "description": "The start date and time of the note",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "description": "The end date and time of the note",
                        "type": "string",
                        "format": "date-time"
                    },
                    "all_day": {
                        "description": "Whether the note is all day",
                        "type": "boolean"
                    },
                    "timezone": {
                        "description": "The timezone of the note",
                        "type": "string"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-sticky-note"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "PaginatedResponse": {
                "title": "Paginated Response",
                "description": "Generic paginated response wrapper",
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "links": {
                        "properties": {
                            "first": {
                                "type": "string",
                                "nullable": true
                            },
                            "last": {
                                "type": "string",
                                "nullable": true
                            },
                            "prev": {
                                "type": "string",
                                "nullable": true
                            },
                            "next": {
                                "type": "string",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    },
                    "meta": {
                        "properties": {
                            "current_page": {
                                "type": "integer"
                            },
                            "from": {
                                "type": "integer",
                                "nullable": true
                            },
                            "last_page": {
                                "type": "integer"
                            },
                            "links": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "url": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "label": {
                                            "type": "string"
                                        },
                                        "active": {
                                            "type": "boolean"
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "path": {
                                "type": "string"
                            },
                            "per_page": {
                                "type": "integer"
                            },
                            "to": {
                                "type": "integer",
                                "nullable": true
                            },
                            "total": {
                                "type": "integer"
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "Project": {
                "title": "Project",
                "description": "A project object. Available relations: customer, assignments, unarchived_assignments, archived_assignments, assignments_customer_addresses, assignments_employee_pivots, assignments_observer_pivots, assignments_tag_pivots, assignments_article_pivots, assignments_vehicle_pivots, assignments_tool_pivots, assignments_document_pivots, documentations, assignments_documentations, assignments_recorded_times, assignments_timesheet_activities, billable_assignments_timesheet_activities, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Refurbishment of HQ"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-folder-open"
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "P-12345"
                    },
                    "customer_id": {
                        "description": "Customer",
                        "type": "integer",
                        "example": 1
                    },
                    "title": {
                        "description": "Project name",
                        "type": "string",
                        "example": "Refurbishment of HQ"
                    },
                    "description": {
                        "description": "Description",
                        "type": "string",
                        "example": "This is a project description",
                        "nullable": true
                    },
                    "project_nr": {
                        "description": "Project no.",
                        "type": "string",
                        "example": "P-12345"
                    },
                    "source": {
                        "description": "Source",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "Source ID",
                        "type": "string",
                        "nullable": true
                    },
                    "all_archived": {
                        "description": "All archived",
                        "type": "boolean",
                        "example": false
                    },
                    "sales_volume": {
                        "description": "Project sales volume",
                        "type": "string",
                        "example": "5000.00"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Role": {
                "description": "Available relations: permissions",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Name",
                        "type": "string",
                        "example": "PLANNER_ADMINISTRATOR"
                    },
                    "guard_name": {
                        "description": "Guard name",
                        "type": "string",
                        "example": "web"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-user-tag"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "TimesheetActivityType": {
                "description": "Available relations: activities, custom_icon",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "custom_icon_id": {
                        "description": "Custom icon",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Name",
                        "type": "string",
                        "example": "Working time"
                    },
                    "default": {
                        "description": "Default in app",
                        "type": "boolean",
                        "example": true
                    },
                    "billable": {
                        "description": "Billable",
                        "type": "boolean",
                        "example": true
                    },
                    "group": {
                        "description": "Calculated as",
                        "type": "string",
                        "example": "WORKING",
                        "enum": [
                            "WORKING",
                            "BREAK",
                            "NONE"
                        ]
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#0000FF"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-hammer"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "TimesheetActivity": {
                "description": "Available relations: timesheet, assignment, type, documentation, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "timesheet_id": {
                        "description": "Appears on timesheet",
                        "type": "integer",
                        "example": 1
                    },
                    "assignment_id": {
                        "description": "Appointment",
                        "type": "integer",
                        "example": 1
                    },
                    "documentation_id": {
                        "description": "Related protocol entry (old time tracking)",
                        "type": "integer",
                        "example": 1
                    },
                    "type_id": {
                        "description": "Activity",
                        "type": "integer",
                        "example": 1
                    },
                    "start": {
                        "description": "Start",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "description": "End",
                        "type": "string",
                        "format": "date-time"
                    },
                    "duration_seconds": {
                        "description": "Duration (seconds)",
                        "type": "integer",
                        "example": 3600
                    },
                    "start_lat": {
                        "description": "GPS latitude captured at activity start",
                        "type": "number",
                        "format": "float",
                        "example": 48.137154
                    },
                    "start_lng": {
                        "description": "GPS longitude captured at activity start",
                        "type": "number",
                        "format": "float",
                        "example": 11.576124
                    },
                    "end_lat": {
                        "description": "GPS latitude captured at activity end",
                        "type": "number",
                        "format": "float",
                        "example": 48.137154
                    },
                    "end_lng": {
                        "description": "GPS longitude captured at activity end",
                        "type": "number",
                        "format": "float",
                        "example": 11.576124
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-tasks"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Timesheet": {
                "title": "Timesheet",
                "description": "A timesheet object. Available relations: employee, activities, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "employee_id": {
                        "description": "Person",
                        "type": "integer",
                        "example": 1
                    },
                    "start": {
                        "description": "Start",
                        "type": "string",
                        "format": "date-time"
                    },
                    "end": {
                        "description": "End",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "working_time": {
                        "description": "Working time",
                        "type": "integer",
                        "example": 480
                    },
                    "break_time": {
                        "description": "Break",
                        "type": "integer",
                        "example": 30
                    },
                    "source": {
                        "description": "Source",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "Source ID",
                        "type": "string",
                        "nullable": true
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-clock"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "ToolGroup": {
                "description": "Available relations: members, changelog",
                "properties": {
                    "id": {
                        "description": "ID",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "Group name",
                        "type": "string",
                        "example": "Power Tools"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#8A2BE2"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-layer-group"
                    },
                    "created_at": {
                        "description": "Created",
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "description": "Updated",
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Tool": {
                "description": "Available relations: group, assignments, unarchived_assignments, archived_assignments, picture, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "Bosch cordless screwdriver (MAN-456)"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-tools"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#f3a622"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "dark",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "MAN-456"
                    },
                    "picture_is_avatar": {
                        "description": "Picture is avatar",
                        "type": "boolean",
                        "example": false
                    },
                    "group_id": {
                        "description": "Tool group",
                        "type": "integer",
                        "example": 1
                    },
                    "picture_id": {
                        "description": "Photo",
                        "type": "integer",
                        "example": 1
                    },
                    "manufacturer": {
                        "description": "The manufacturer of the tool",
                        "type": "string"
                    },
                    "model": {
                        "description": "The model of the tool",
                        "type": "string"
                    },
                    "serial_number": {
                        "description": "The serial number of the tool",
                        "type": "string"
                    },
                    "date_of_purchase": {
                        "description": "The date of purchase",
                        "type": "string",
                        "format": "date"
                    },
                    "next_maintenance": {
                        "description": "The date of next maintenance",
                        "type": "string",
                        "format": "date-time"
                    },
                    "condition": {
                        "description": "The condition of the tool",
                        "type": "string",
                        "enum": [
                            "NEW",
                            "USED",
                            "LEASED",
                            "DEFECT",
                            "SORTED_OUT"
                        ]
                    },
                    "info": {
                        "description": "Additional information about the tool",
                        "type": "string"
                    },
                    "source": {
                        "description": "The source of the tool data",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "The external ID from the source",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Upload": {
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "file_name": {
                        "type": "string"
                    },
                    "file_url": {
                        "type": "string"
                    },
                    "file_mime_type": {
                        "type": "string"
                    },
                    "file_type": {
                        "type": "string",
                        "enum": [
                            "UNDEFINED",
                            "TEXT_DOC",
                            "CALC_DOC",
                            "ARCHIVE",
                            "PRESENT_DOC",
                            "VIDEO",
                            "AUDIO",
                            "IMAGE",
                            "PDF",
                            "TEXT_PLAIN",
                            "CAD",
                            "ATTACHMENT"
                        ]
                    },
                    "file_original_name": {
                        "type": "string"
                    },
                    "file_size": {
                        "type": "integer"
                    },
                    "thumb_url": {
                        "type": "string"
                    },
                    "medium_url": {
                        "type": "string"
                    },
                    "processed": {
                        "type": "boolean"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "First line"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fas fa-file"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#000000"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "WHITE",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "Vehicle": {
                "description": "Available relations: assignments, unarchived_assignments, archived_assignments, picture, changelog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "first_line": {
                        "description": "First line",
                        "type": "string",
                        "example": "VW Transporter (HH-CB-123)"
                    },
                    "icon": {
                        "description": "Icon",
                        "type": "string",
                        "example": "fa-truck"
                    },
                    "color": {
                        "description": "Color",
                        "type": "string",
                        "example": "#f3a622"
                    },
                    "contrast_color": {
                        "description": "Contrast color",
                        "type": "string",
                        "example": "dark",
                        "enum": [
                            "dark",
                            "white"
                        ]
                    },
                    "custom_number": {
                        "description": "Custom number",
                        "type": "string",
                        "example": "V-001"
                    },
                    "picture_is_avatar": {
                        "description": "Picture is avatar",
                        "type": "boolean",
                        "example": false
                    },
                    "picture_id": {
                        "description": "Photo",
                        "type": "integer",
                        "example": 1
                    },
                    "manufacturer": {
                        "description": "The manufacturer of the vehicle",
                        "type": "string"
                    },
                    "model": {
                        "description": "The model of the vehicle",
                        "type": "string"
                    },
                    "registration_number": {
                        "description": "The registration number of the vehicle",
                        "type": "string"
                    },
                    "license_plate": {
                        "description": "The license plate of the vehicle",
                        "type": "string"
                    },
                    "date_of_purchase": {
                        "description": "The date of purchase",
                        "type": "string",
                        "format": "date"
                    },
                    "next_maintenance": {
                        "description": "The date of next maintenance",
                        "type": "string",
                        "format": "date-time"
                    },
                    "mot_expires": {
                        "description": "The date when MOT expires",
                        "type": "string",
                        "format": "date-time"
                    },
                    "condition": {
                        "description": "The condition of the vehicle",
                        "type": "string",
                        "enum": [
                            "NEW",
                            "USED",
                            "LEASED",
                            "DEFECT",
                            "SORTED_OUT"
                        ]
                    },
                    "info": {
                        "description": "Additional information about the vehicle",
                        "type": "string"
                    },
                    "reminded_mot_expires": {
                        "description": "Whether the user was reminded about MOT expiration",
                        "type": "boolean",
                        "example": false
                    },
                    "source": {
                        "description": "The source of the vehicle data",
                        "type": "string",
                        "example": "manual"
                    },
                    "source_external_id": {
                        "description": "The external ID from the source",
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            }
        },
        "responses": {
            "Unauthorized": {
                "description": "The request lacks valid authentication credentials.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiError"
                        },
                        "example": {
                            "message": "Unauthenticated.",
                            "error": {
                                "code": 401,
                                "http_code": 401,
                                "message": "Unauthenticated."
                            }
                        }
                    }
                }
            },
            "Forbidden": {
                "description": "The token is valid but lacks the permission for this action.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiError"
                        },
                        "example": {
                            "message": "This action is unauthorized.",
                            "error": {
                                "code": 403,
                                "http_code": 403,
                                "message": "This action is unauthorized."
                            }
                        }
                    }
                }
            },
            "NotFound": {
                "description": "The requested resource could not be found.",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiError"
                        },
                        "example": {
                            "message": "Resource not found.",
                            "error": {
                                "code": 404,
                                "http_code": 404,
                                "message": "Resource not found."
                            }
                        }
                    }
                }
            },
            "ValidationError": {
                "description": "The request was well-formed but contains semantic errors (validation failed).",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiValidationError"
                        }
                    }
                }
            },
            "InternalServerError": {
                "description": "An unexpected error occurred on the server (e.g. a requested relation does not exist).",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiError"
                        },
                        "example": {
                            "message": "Server Error.",
                            "error": {
                                "code": 500,
                                "http_code": 500,
                                "message": "Server Error."
                            }
                        }
                    }
                }
            },
            "Success": {
                "description": "The request was successful."
            },
            "Created": {
                "description": "The resource was successfully created."
            }
        },
        "parameters": {
            "absence_recurring_rule--template_id": {
                "name": "template_id",
                "in": "query",
                "description": "Filter by template_id. Multiple inputs with template_id[]=1&template_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "absence_recurring_rule--interval": {
                "name": "interval",
                "in": "query",
                "description": "Filter by interval. Multiple inputs with interval[]=DAILY&interval[]=WEEKLY",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "DAILY",
                        "DAILY_MON_TO_FRI",
                        "WEEKLY",
                        "TWO_WEEKLY",
                        "THREE_WEEKLY",
                        "FOUR_WEEKLY",
                        "SIX_WEEKLY",
                        "EIGHT_WEEKLY",
                        "MONTHLY",
                        "QUARTERLY",
                        "HALF_YEARLY",
                        "YEARLY"
                    ]
                }
            },
            "absence_recurring_rule--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence_recurring_rule--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence_type--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=Holiday&name[]=Sick",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence_type--group": {
                "name": "group",
                "in": "query",
                "description": "Filter by group. null = unpaid. Multiple inputs with group[]=holiday&group[]=sick",
                "required": false,
                "schema": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                        "holiday",
                        "sick",
                        "other"
                    ]
                }
            },
            "absence_type--color": {
                "name": "color",
                "in": "query",
                "description": "Filter by color. Multiple inputs with color[]=#00BFFF&color[]=#FF0000",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence_type--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence_type--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence--employees": {
                "name": "employees",
                "in": "query",
                "description": "Assigned employees ids. Multiple inputs with employees[]=3&employees[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "absence--type_id": {
                "name": "type_id",
                "in": "query",
                "description": "Filter by type_id. Multiple inputs with type_id[]=1&type_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "absence--template_id": {
                "name": "template_id",
                "in": "query",
                "description": "Filter by template_id. Multiple inputs with template_id[]=1&template_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "absence--recurring_rule_id": {
                "name": "recurring_rule_id",
                "in": "query",
                "description": "Filter by recurring_rule_id. Multiple inputs with recurring_rule_id[]=1&recurring_rule_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "absence--all_day": {
                "name": "all_day",
                "in": "query",
                "description": "Filter by all_day.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "absence--timezone": {
                "name": "timezone",
                "in": "query",
                "description": "Filter by timezone. Multiple inputs with timezone=Europe/Berlin&timezone=UTC",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence--hints": {
                "name": "hints",
                "in": "query",
                "description": "Filter by hints. Multiple inputs with hints[]=some&hints[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "absence--show_all": {
                "name": "show_all",
                "in": "query",
                "description": "By default, only the current employee's absences are returned. Pass show_all=true to return all company absences.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "article_group--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=some&name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article_group--color": {
                "name": "color",
                "in": "query",
                "description": "Filter by color. Multiple inputs with color[]=#00BFFF&color[]=#FF0000",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article_group--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article_group--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--group_id": {
                "name": "group_id",
                "in": "query",
                "description": "Filter by group_id. Multiple inputs with group_id[]=1&group_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "article--picture_id": {
                "name": "picture_id",
                "in": "query",
                "description": "Filter by picture_id. Multiple inputs with picture_id[]=1&picture_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "article--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=some&name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--manufacturer": {
                "name": "manufacturer",
                "in": "query",
                "description": "Filter by manufacturer. Multiple inputs with manufacturer[]=some&manufacturer[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--supplier_article_nr": {
                "name": "supplier_article_nr",
                "in": "query",
                "description": "Filter by supplier_article_nr. Multiple inputs with supplier_article_nr[]=some&supplier_article_nr[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--manufacturer_article_nr": {
                "name": "manufacturer_article_nr",
                "in": "query",
                "description": "Filter by manufacturer_article_nr. Multiple inputs with manufacturer_article_nr[]=some&manufacturer_article_nr[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--ean": {
                "name": "ean",
                "in": "query",
                "description": "Filter by ean. Multiple inputs with ean[]=some&ean[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--unit_price": {
                "name": "unit_price",
                "in": "query",
                "description": "Filter by unit_price.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "article--vat_rate": {
                "name": "vat_rate",
                "in": "query",
                "description": "Filter by vat_rate.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "article--vat_included": {
                "name": "vat_included",
                "in": "query",
                "description": "Filter by vat_included.",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "0",
                        "1"
                    ]
                }
            },
            "article--currency": {
                "name": "currency",
                "in": "query",
                "description": "Filter by currency.",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "EUR",
                        "USD",
                        "CHF",
                        "UAH",
                        "PLN",
                        "RON"
                    ]
                }
            },
            "article--price_date": {
                "name": "price_date",
                "in": "query",
                "description": "Filter by price_date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "article--unit": {
                "name": "unit",
                "in": "query",
                "description": "Filter by unit. Multiple inputs with unit[]=piece&unit[]=kilogram",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "BAG",
                        "BAR",
                        "BOTTLE",
                        "BOX",
                        "BUCKET",
                        "BUNCH",
                        "CAN",
                        "CANISTER",
                        "CARDBOARD",
                        "CUBIC_METRE",
                        "CENTIMETERS",
                        "CONTAINER",
                        "DAYS",
                        "DOZEN",
                        "FLAT_FEE",
                        "GRAMS",
                        "HOURS",
                        "KILOGRAMS",
                        "KILOMETER",
                        "KILOWATT_PEAK",
                        "LITRE",
                        "METRES",
                        "MILLILITRE",
                        "MILLIMETRES",
                        "PACK",
                        "PAIR",
                        "PANEL",
                        "PARCEL",
                        "PERCENT",
                        "PIECE",
                        "ROLL",
                        "RUNNING_METER",
                        "SAC",
                        "SET",
                        "SQUAREMETER",
                        "TONS",
                        "TRIMMING",
                        "TUBE"
                    ]
                }
            },
            "article--article_url": {
                "name": "article_url",
                "in": "query",
                "description": "Filter by article_url.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--info": {
                "name": "info",
                "in": "query",
                "description": "Filter by info.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "article--dangerous_material": {
                "name": "dangerous_material",
                "in": "query",
                "description": "Filter by dangerous_material.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "article--assignments": {
                "name": "assignments",
                "in": "query",
                "description": "Assigned assignments Ids. Multiple inputs with assignments[]=3&assignments[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment_article--group_id": {
                "name": "group_id",
                "in": "query",
                "description": "Filter by group_id",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment_article--unit": {
                "name": "unit",
                "in": "query",
                "description": "Filter by unit",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "BAG",
                        "BAR",
                        "BOTTLE",
                        "BOX",
                        "BUCKET",
                        "BUNCH",
                        "CAN",
                        "CANISTER",
                        "CARDBOARD",
                        "CUBIC_METRE",
                        "CENTIMETERS",
                        "CONTAINER",
                        "DAYS",
                        "DOZEN",
                        "FLAT_FEE",
                        "GRAMS",
                        "HOURS",
                        "KILOGRAMS",
                        "KILOMETER",
                        "KILOWATT_PEAK",
                        "LITRE",
                        "METRES",
                        "MILLILITRE",
                        "MILLIMETRES",
                        "PACK",
                        "PAIR",
                        "PANEL",
                        "PARCEL",
                        "PERCENT",
                        "PIECE",
                        "ROLL",
                        "RUNNING_METER",
                        "SAC",
                        "SET",
                        "SQUAREMETER",
                        "TONS",
                        "TRIMMING",
                        "TUBE"
                    ]
                }
            },
            "assignment_article--article_number": {
                "name": "article_number",
                "in": "query",
                "description": "Filter by article_number",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_article--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_article--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "availability--start": {
                "name": "start",
                "in": "query",
                "description": "The start date and time for checking availability",
                "required": true,
                "schema": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "availability--end": {
                "name": "end",
                "in": "query",
                "description": "The end date and time for checking availability",
                "required": true,
                "schema": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "availability--exclude": {
                "name": "exclude",
                "in": "query",
                "description": "IDs of employees to exclude from the availability check",
                "required": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            },
            "assignment_recurring_rule--template_id": {
                "name": "template_id",
                "in": "query",
                "description": "Filter by template_id. Multiple inputs with template_id[]=1&template_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment_recurring_rule--interval": {
                "name": "interval",
                "in": "query",
                "description": "Filter by interval. Multiple inputs with interval[]=DAILY&interval[]=WEEKLY",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "DAILY",
                        "DAILY_MON_TO_FRI",
                        "WEEKLY",
                        "TWO_WEEKLY",
                        "THREE_WEEKLY",
                        "FOUR_WEEKLY",
                        "SIX_WEEKLY",
                        "EIGHT_WEEKLY",
                        "MONTHLY",
                        "QUARTERLY",
                        "HALF_YEARLY",
                        "YEARLY"
                    ]
                }
            },
            "assignment_recurring_rule--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_recurring_rule--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_tag--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=Urgent&name[]=Follow-up",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_tag--color": {
                "name": "color",
                "in": "query",
                "description": "Filter by color. Multiple inputs with color[]=#00BFFF&color[]=#FF0000",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_tag--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment_tag--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment--employees": {
                "name": "employees",
                "in": "query",
                "description": "Assigned employees ids. Multiple inputs with employees[]=3&employees[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--vehicles": {
                "name": "vehicles",
                "in": "query",
                "description": "Assigned vehicles Ids. Multiple inputs with vehicles[]=3&vehicles[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--tools": {
                "name": "tools",
                "in": "query",
                "description": "Assigned tools Ids. Multiple inputs with tools[]=3&tools[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--articles": {
                "name": "articles",
                "in": "query",
                "description": "Assigned articles Ids. Multiple inputs with articles[]=3&articles[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--tags": {
                "name": "tags",
                "in": "query",
                "description": "Assigned tags Ids. Multiple inputs with tags[]=3&tags[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--project_id": {
                "name": "project_id",
                "in": "query",
                "description": "Filter by project_id. Multiple inputs with project_id[]=1&project_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--customer_address_id": {
                "name": "customer_address_id",
                "in": "query",
                "description": "Filter by customer_address_id. Multiple inputs with customer_address_id[]=1&customer_address_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "assignment--title": {
                "name": "title",
                "in": "query",
                "description": "Filter by title. Multiple inputs with title[]=some&title[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment--state": {
                "name": "state",
                "in": "query",
                "description": "Filter by state. Multiple inputs with state[]=SCHEDULED&state[]=DONE",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "UNPLANNED",
                        "SCHEDULED",
                        "IN_PROGRESS",
                        "PAUSED",
                        "DELAYED",
                        "DONE"
                    ]
                }
            },
            "assignment--all_day": {
                "name": "all_day",
                "in": "query",
                "description": "Filter by all_day.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "assignment--is_template": {
                "name": "is_template",
                "in": "query",
                "description": "Filter by is_template.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "assignment--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "assignment--show_archived": {
                "name": "show_archived",
                "in": "query",
                "description": "Show the archive too, by default it is hidden",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "assignment--show_all": {
                "name": "show_all",
                "in": "query",
                "description": "By default, only the current employee's assignments are returned. Pass show_all=true to return all company assignments.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "assignment--lat": {
                "name": "lat",
                "in": "query",
                "description": "Center latitude for radius-based geo filter. Requires lng and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "assignment--lng": {
                "name": "lng",
                "in": "query",
                "description": "Center longitude for radius-based geo filter. Requires lat and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "assignment--radius": {
                "name": "radius",
                "in": "query",
                "description": "Radius in meters for geo filter. Requires lat and lng.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "minimum": 1
                }
            },
            "customer_address--customer_id": {
                "name": "customer_id",
                "in": "query",
                "description": "Filter by customer_id. Multiple inputs with customer_id[]=1&customer_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "customer_address--type": {
                "name": "type",
                "in": "query",
                "description": "Filter by type. Multiple inputs with type[]=MAILING&type[]=WORK",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "MAILING",
                        "BILLING",
                        "DELIVERY"
                    ]
                }
            },
            "customer_address--use": {
                "name": "use",
                "in": "query",
                "description": "Filter by use. Multiple inputs with use[]=ADDRESS&use[]=CONTACT",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "position",
                        "address"
                    ]
                }
            },
            "customer_address--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=some&name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer_address--city": {
                "name": "city",
                "in": "query",
                "description": "Filter by city. Multiple inputs with city[]=Berlin&city[]=Hamburg",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer_address--zip": {
                "name": "zip",
                "in": "query",
                "description": "Filter by zip. Multiple inputs with zip[]=10115&zip[]=20095",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer_address--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer_address--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer_address--lat": {
                "name": "lat",
                "in": "query",
                "description": "Center latitude for radius-based geo filter. Requires lng and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "customer_address--lng": {
                "name": "lng",
                "in": "query",
                "description": "Center longitude for radius-based geo filter. Requires lat and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "customer_address--radius": {
                "name": "radius",
                "in": "query",
                "description": "Radius in meters for geo filter. Requires lat and lng.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "minimum": 1
                }
            },
            "customer--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=some&name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer--name_addon": {
                "name": "name_addon",
                "in": "query",
                "description": "Filter by name_addon. Multiple inputs with name_addon[]=some&name_addon[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer--customer_number": {
                "name": "customer_number",
                "in": "query",
                "description": "Filter by customer_number. Multiple inputs with customer_number[]=101&customer_number[]=102",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer--info": {
                "name": "info",
                "in": "query",
                "description": "Filter by info. Multiple inputs with info[]=some&info[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "customer--projects": {
                "name": "projects",
                "in": "query",
                "description": "Assigned projects Ids. Multiple inputs with projects[]=3&projects[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "customer--addresses": {
                "name": "addresses",
                "in": "query",
                "description": "Assigned addresses Ids. Multiple inputs with addresses[]=3&addresses[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "document--type": {
                "name": "type",
                "in": "query",
                "description": "Filter by type. Multiple inputs with type[]=GLOBAL&type[]=ASSIGNMENT",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "GLOBAL",
                        "ASSIGNMENT"
                    ]
                }
            },
            "document--title": {
                "name": "title",
                "in": "query",
                "description": "Filter by title. Multiple inputs with title[]=some&title[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "document--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "document--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "document--assignments": {
                "name": "assignments",
                "in": "query",
                "description": "Filter by assignments. Multiple inputs with assignments[]=1&assignments[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "documentation_signature--text": {
                "name": "text",
                "in": "query",
                "description": "Filter by text. Multiple inputs with text[]=some&text[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "documentation_signature--attachment_possible": {
                "name": "attachment_possible",
                "in": "query",
                "description": "Filter by attachment_possible.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "documentation_signature--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "documentation_signature--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "documentation--assignment_id": {
                "name": "assignment_id",
                "in": "query",
                "description": "Filter by assignment_id. Multiple inputs with assignment_id[]=1&assignment_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "documentation--author_id": {
                "name": "author_id",
                "in": "query",
                "description": "Filter by author_id. Multiple inputs with author_id[]=1&author_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "documentation--title": {
                "name": "title",
                "in": "query",
                "description": "Filter by title. Multiple inputs with title[]=some&title[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "documentation--state": {
                "name": "state",
                "in": "query",
                "description": "Filter by state. Multiple inputs with state[]=DRAFT&state[]=DONE",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "ACCEPTED_WITH_COMMENT",
                        "ACCEPTED_WO_COMMENT"
                    ]
                }
            },
            "documentation--type": {
                "name": "type",
                "in": "query",
                "description": "Filter by type. Multiple inputs with type[]=PHOTO&type[]=NOTE",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "NOTE",
                        "DRAFT",
                        "PHOTO",
                        "SIGNING",
                        "TIME",
                        "PDF",
                        "ATTACHMENT",
                        "MATERIAL"
                    ]
                }
            },
            "documentation--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "documentation--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee_absence_account_balance--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by employee_id. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee_absence_account_balance--year": {
                "name": "year",
                "in": "query",
                "description": "Filter by year. Multiple inputs with year[]=2024&year[]=2025",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee_balance_compensation--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by employee_id. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee_balance_compensation--date": {
                "name": "date",
                "in": "query",
                "description": "Filter by date. Multiple inputs with date[]=2024-01-01&date[]=2024-01-02",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "employee_group--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=some&name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee_group--color": {
                "name": "color",
                "in": "query",
                "description": "Filter by color. Multiple inputs with color[]=#00BFFF&color[]=#FF0000",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee_group--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee_group--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee_notification_log--type": {
                "name": "type",
                "in": "query",
                "description": "Filter by type. Multiple inputs with type[]=App\\Notifications\\ToEmployee\\Assignment\\AssignedNotification&type[]=App\\Notifications\\ToEmployee\\Assignment\\UpdatedNotification",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee_notification_log--has_been_sent": {
                "name": "has_been_sent",
                "in": "query",
                "description": "Filter by sent status.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "push_notification--id": {
                "name": "id",
                "in": "query",
                "description": "Filter by ID. Multiple inputs with id[]=1&id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "push_notification--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by person. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "push_notification--causer_id": {
                "name": "causer_id",
                "in": "query",
                "description": "Filter by author. Multiple inputs with causer_id[]=1&causer_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "push_notification--type": {
                "name": "type",
                "in": "query",
                "description": "Filter by type. Multiple inputs with type[]=fcm&type[]=other",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee_target_working_time--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by employee_id. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee_target_working_time--starting": {
                "name": "starting",
                "in": "query",
                "description": "Filter by starting date. Multiple inputs with starting[]=2024-01-01&starting[]=2024-01-02",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "employee_time_account_balance--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by employee_id. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee_time_account_balance--date": {
                "name": "date",
                "in": "query",
                "description": "Filter by date. Multiple inputs with date[]=2024-01-01&date[]=2024-01-02",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "employee--time_account--start": {
                "name": "start",
                "in": "query",
                "description": "Start date",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "employee--time_account--end": {
                "name": "end",
                "in": "query",
                "description": "End date",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "employee--group_id": {
                "name": "group_id",
                "in": "query",
                "description": "Filter by group_id. Multiple inputs with group_id[]=1&group_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee--picture_id": {
                "name": "picture_id",
                "in": "query",
                "description": "Filter by picture_id. Multiple inputs with picture_id[]=1&picture_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee--first_name": {
                "name": "first_name",
                "in": "query",
                "description": "Filter by first_name. Multiple inputs with first_name[]=some&first_name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--last_name": {
                "name": "last_name",
                "in": "query",
                "description": "Filter by last_name. Multiple inputs with last_name[]=some&last_name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--email": {
                "name": "email",
                "in": "query",
                "description": "Filter by email. Multiple inputs with email=some@example.com&email=other@example.com",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--phone": {
                "name": "phone",
                "in": "query",
                "description": "Filter by phone.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--mobile": {
                "name": "mobile",
                "in": "query",
                "description": "Filter by mobile.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--skills": {
                "name": "skills",
                "in": "query",
                "description": "Filter by skills.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--info": {
                "name": "info",
                "in": "query",
                "description": "Filter by info.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--locale": {
                "name": "locale",
                "in": "query",
                "description": "Filter by locale. Multiple inputs with locale[]=de_DE&locale[]=en_US",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "de_DE",
                        "en_US",
                        "pl_PL",
                        "uk_UA",
                        "ro_RO",
                        "es_ES"
                    ]
                }
            },
            "employee--number": {
                "name": "number",
                "in": "query",
                "description": "Filter by number. Multiple inputs with number[]=101&number[]=102",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--position": {
                "name": "position",
                "in": "query",
                "description": "Filter by position. Multiple inputs with position[]=some&position[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--department": {
                "name": "department",
                "in": "query",
                "description": "Filter by department. Multiple inputs with department[]=some&department[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "employee--inactive": {
                "name": "inactive",
                "in": "query",
                "description": "Filter by inactive.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "employee--driver_license": {
                "name": "driver_license",
                "in": "query",
                "description": "Filter by driver_license.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "employee--truck_license": {
                "name": "truck_license",
                "in": "query",
                "description": "Filter by truck_license.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "employee--assignments": {
                "name": "assignments",
                "in": "query",
                "description": "Assigned assignments Ids. Multiple inputs with assignments[]=3&assignments[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee--absences": {
                "name": "absences",
                "in": "query",
                "description": "Assigned absences Ids. Multiple inputs with absences[]=3&absences[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee--notes": {
                "name": "notes",
                "in": "query",
                "description": "Assigned notes Ids. Multiple inputs with notes[]=3&notes[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "employee--lat": {
                "name": "lat",
                "in": "query",
                "description": "Center latitude for radius-based geo filter. Requires lng and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "employee--lng": {
                "name": "lng",
                "in": "query",
                "description": "Center longitude for radius-based geo filter. Requires lat and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "employee--radius": {
                "name": "radius",
                "in": "query",
                "description": "Radius in meters for geo filter. Requires lat and lng.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "minimum": 1
                }
            },
            "icon--icon": {
                "name": "icon",
                "in": "query",
                "description": "Filter by icon. Multiple inputs with icon[]=fa-user&icon[]=fa-wrench",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "license--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by employee_id. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "license--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "license--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "note--employees": {
                "name": "employees",
                "in": "query",
                "description": "Assigned employees ids. Multiple inputs with employees[]=3&employees[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "note--template_id": {
                "name": "template_id",
                "in": "query",
                "description": "Filter by template_id. Multiple inputs with template_id[]=1&template_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "note--title": {
                "name": "title",
                "in": "query",
                "description": "Filter by title. Multiple inputs with title[]=some&title[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "note--description": {
                "name": "description",
                "in": "query",
                "description": "Filter by description. Multiple inputs with description[]=some&description[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "note--all_day": {
                "name": "all_day",
                "in": "query",
                "description": "Filter by all_day.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "note--timezone": {
                "name": "timezone",
                "in": "query",
                "description": "Filter by timezone. Multiple inputs with timezone=Europe/Berlin&timezone=UTC",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "note--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "note--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "note--show_all": {
                "name": "show_all",
                "in": "query",
                "description": "By default, only the current employee's notes are returned. Pass show_all=true to return all company notes.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "project--customer_id": {
                "name": "customer_id",
                "in": "query",
                "description": "Filter by customer_id. Multiple inputs with customer_id[]=1&customer_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "project--description": {
                "name": "description",
                "in": "query",
                "description": "Filter by description. Multiple inputs with description[]=some&description[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "project--title": {
                "name": "title",
                "in": "query",
                "description": "Filter by title. Multiple inputs with title[]=some&title[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "project--project_nr": {
                "name": "project_nr",
                "in": "query",
                "description": "Filter by project_nr. Multiple inputs with project_nr[]=101&project_nr[]=102",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "project--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "project--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "project--assignments": {
                "name": "assignments",
                "in": "query",
                "description": "Assigned assignments Ids. Multiple inputs with assignments[]=3&assignments[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "project--show_archived": {
                "name": "show_archived",
                "in": "query",
                "description": "Include fully-archived projects (all assignments archived). By default, they are hidden.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "project--show_all": {
                "name": "show_all",
                "in": "query",
                "description": "By default, only projects where the current employee has an assignment are returned. Pass show_all=true to return all company projects.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "project--assignment_employees": {
                "name": "assignments[employees][]",
                "in": "query",
                "description": "Filter projects by employee IDs on their assignments. Multiple inputs with assignments[employees][]=1&assignments[employees][]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "role--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=PLANNER_ADMINISTRATOR&name[]=APP_ONLY",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "general--id": {
                "name": "id",
                "in": "query",
                "description": "Filters by IDs. Multiple inputs with id[]=1&id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "general--per_page": {
                "name": "per_page",
                "in": "query",
                "description": "Number of items per Page",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "general--page": {
                "name": "page",
                "in": "query",
                "description": "Result Page",
                "required": false,
                "schema": {
                    "type": "integer",
                    "default": 1
                }
            },
            "general--order_by": {
                "name": "order_by",
                "in": "query",
                "description": "Order column",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "general--order_direction": {
                "name": "order_direction",
                "in": "query",
                "description": "Order direction. asc or desc possible",
                "required": false,
                "schema": {
                    "type": "string",
                    "default": "asc",
                    "enum": [
                        "asc",
                        "desc"
                    ]
                }
            },
            "general--with": {
                "name": "with",
                "in": "query",
                "description": "You can load relations using the with parameter. Example for assignments/appointments:  with[]=documents loads all related documents and adds it to the response.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "general--exclude": {
                "name": "exclude",
                "in": "query",
                "description": "Exclude ids. Multiple inputs with exclude[]=3&exclude[]=6",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "general--q": {
                "name": "q",
                "in": "query",
                "description": "Search string",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "general--return": {
                "name": "return",
                "in": "query",
                "description": "Returns a single aggregate over the filtered list instead of the paginated result, e.g. {\"data\": {\"count\": 42}}. Allowed values: count, sum.column, min.column, max.column, avg.column (e.g. return=sum.duration_seconds). sum and avg require a numeric column.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "general--group_by": {
                "name": "group_by",
                "in": "query",
                "description": "Returns one aggregate row per bucket of the given column instead of the paginated result, e.g. group_by=type_id gives {\"data\": [{\"type_id\": 1, \"count\": 5}, ...]}. The per-bucket aggregate reuses the \"return=\" grammar and defaults to count (e.g. group_by=type_id&return=sum.id). Combine with order_by=<aggregate>&order_direction=desc for \"top N\" queries. Groupable columns are known model columns plus foreign keys. Datetime columns must be bucketed by granularity: group_by=created_at:month (also :year, :day/:date), giving {\"data\": [{\"created_at\": \"2026-07\", \"count\": 5}, ...]}. Results are capped at 1000 buckets.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "schedulable--start": {
                "name": "start",
                "in": "query",
                "description": "Filter by start date",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "schedulable--end": {
                "name": "end",
                "in": "query",
                "description": "Filter by end date",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "schedulable--started": {
                "name": "started",
                "in": "query",
                "description": "Filter by started date",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "schedulable--ended": {
                "name": "ended",
                "in": "query",
                "description": "Filter by ended date",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date-time"
                }
            },
            "schedulable--all_day": {
                "name": "all_day",
                "in": "query",
                "description": "Is it all day or not?",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "timesheet_activity_type--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=Working&name[]=Break",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "timesheet_activity_type--default": {
                "name": "default",
                "in": "query",
                "description": "Filter by default.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "timesheet_activity_type--billable": {
                "name": "billable",
                "in": "query",
                "description": "Filter by billable.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "timesheet_activity_type--group": {
                "name": "group",
                "in": "query",
                "description": "Filter by group. Multiple inputs with group[]=WORKING&group[]=BREAK",
                "required": false,
                "schema": {
                    "type": "string",
                    "enum": [
                        "WORKING",
                        "BREAK",
                        "NONE"
                    ]
                }
            },
            "timesheet_activity_type--color": {
                "name": "color",
                "in": "query",
                "description": "Filter by color. Multiple inputs with color[]=#00BFFF&color[]=#FF0000",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "timesheet_activity--timesheet_id": {
                "name": "timesheet_id",
                "in": "query",
                "description": "Filter by timesheet_id. Multiple inputs with timesheet_id[]=1&timesheet_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet_activity--type_id": {
                "name": "type_id",
                "in": "query",
                "description": "Filter by type_id. Multiple inputs with type_id[]=1&type_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet_activity--assignment_id": {
                "name": "assignment_id",
                "in": "query",
                "description": "Filter by assignment_id. Multiple inputs with assignment_id[]=1&assignment_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet_activity--documentation_id": {
                "name": "documentation_id",
                "in": "query",
                "description": "Filter by documentation_id. Multiple inputs with documentation_id[]=1&documentation_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet_activity--show_all": {
                "name": "show_all",
                "in": "query",
                "description": "By default, only activities belonging to the authenticated employee's timesheets are returned. Pass show_all=true to return all.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "timesheet_activity--lat": {
                "name": "lat",
                "in": "query",
                "description": "Center latitude for radius-based geo filter on the activity start position. Requires lng and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "timesheet_activity--lng": {
                "name": "lng",
                "in": "query",
                "description": "Center longitude for radius-based geo filter on the activity start position. Requires lat and radius.",
                "required": false,
                "schema": {
                    "type": "number",
                    "format": "float"
                }
            },
            "timesheet_activity--radius": {
                "name": "radius",
                "in": "query",
                "description": "Radius in meters for geo filter. Requires lat and lng.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "minimum": 1
                }
            },
            "timesheet--employee_id": {
                "name": "employee_id",
                "in": "query",
                "description": "Filter by employee_id. Multiple inputs with employee_id[]=1&employee_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet--working_time": {
                "name": "working_time",
                "in": "query",
                "description": "Filter by working_time. Multiple inputs with working_time[]=480&working_time[]=240",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet--break_time": {
                "name": "break_time",
                "in": "query",
                "description": "Filter by break_time. Multiple inputs with break_time[]=30&break_time[]=60",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "timesheet--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "timesheet--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "timesheet--show_all": {
                "name": "show_all",
                "in": "query",
                "description": "By default, only the authenticated employee's timesheets are returned. Pass show_all=true to return all company timesheets.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "default": false
                }
            },
            "tool_group--name": {
                "name": "name",
                "in": "query",
                "description": "Filter by name. Multiple inputs with name[]=some&name[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool_group--color": {
                "name": "color",
                "in": "query",
                "description": "Filter by color. Multiple inputs with color[]=#00BFFF&color[]=#FF0000",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool_group--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool_group--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool--group_id": {
                "name": "group_id",
                "in": "query",
                "description": "Filter by group_id. Multiple inputs with group_id[]=1&group_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "tool--picture_id": {
                "name": "picture_id",
                "in": "query",
                "description": "Filter by picture_id. Multiple inputs with picture_id[]=1&picture_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "tool--manufacturer": {
                "name": "manufacturer",
                "in": "query",
                "description": "Filter by manufacturer. Multiple inputs with manufacturer[]=Bosch&manufacturer[]=Makita",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool--model": {
                "name": "model",
                "in": "query",
                "description": "Filter by model. Multiple inputs with model[]=GSR&model[]=DDF",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool--serial_number": {
                "name": "serial_number",
                "in": "query",
                "description": "Filter by serial_number. Multiple inputs with serial_number[]=123&serial_number[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool--condition": {
                "name": "condition",
                "in": "query",
                "description": "Filter by condition. Multiple inputs with condition[]=NEW&condition[]=USED",
                "required": false,
                "schema": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                        "NEW",
                        "USED",
                        "LEASED",
                        "DEFECT",
                        "SORTED_OUT"
                    ]
                }
            },
            "tool--next_maintenance": {
                "name": "next_maintenance",
                "in": "query",
                "description": "Filter by next_maintenance.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "tool--info": {
                "name": "info",
                "in": "query",
                "description": "Filter by info.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "tool--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "upload--file_type": {
                "name": "file_type",
                "in": "query",
                "description": "Filter by file_type. Multiple inputs with file_type[]=IMAGE&file_type[]=PDF",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "upload--file_mime_type": {
                "name": "file_mime_type",
                "in": "query",
                "description": "Filter by file_mime_type. Multiple inputs with file_mime_type=image/jpeg&file_mime_type=application/pdf",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "upload--processed": {
                "name": "processed",
                "in": "query",
                "description": "Filter by processed.",
                "required": false,
                "schema": {
                    "type": "boolean"
                }
            },
            "vehicle--manufacturer": {
                "name": "manufacturer",
                "in": "query",
                "description": "Filter by manufacturer. Multiple inputs with manufacturer[]=some&manufacturer[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "vehicle--picture_id": {
                "name": "picture_id",
                "in": "query",
                "description": "Filter by picture_id. Multiple inputs with picture_id[]=1&picture_id[]=2",
                "required": false,
                "schema": {
                    "type": "integer"
                }
            },
            "vehicle--model": {
                "name": "model",
                "in": "query",
                "description": "Filter by model. Multiple inputs with model[]=some&model[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "vehicle--registration_number": {
                "name": "registration_number",
                "in": "query",
                "description": "Filter by registration_number. Multiple inputs with registration_number[]=some&registration_number[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "vehicle--license_plate": {
                "name": "license_plate",
                "in": "query",
                "description": "Filter by license_plate. Multiple inputs with license_plate[]=some&license_plate[]=other",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "vehicle--condition": {
                "name": "condition",
                "in": "query",
                "description": "Filter by condition. Multiple inputs with condition[]=some&condition[]=other",
                "required": false,
                "schema": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                        "NEW",
                        "USED",
                        "LEASED",
                        "DEFECT",
                        "SORTED_OUT"
                    ]
                }
            },
            "vehicle--date_of_purchase": {
                "name": "date_of_purchase",
                "in": "query",
                "description": "Filter by date_of_purchase.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "vehicle--next_maintenance": {
                "name": "next_maintenance",
                "in": "query",
                "description": "Filter by next_maintenance.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "vehicle--mot_expires": {
                "name": "mot_expires",
                "in": "query",
                "description": "Filter by mot_expires.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date"
                }
            },
            "vehicle--info": {
                "name": "info",
                "in": "query",
                "description": "Filter by info.",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "vehicle--source": {
                "name": "source",
                "in": "query",
                "description": "Filter by source. Multiple inputs with source[]=api&source[]=app",
                "required": false,
                "schema": {
                    "type": "string"
                }
            },
            "vehicle--source_external_id": {
                "name": "source_external_id",
                "in": "query",
                "description": "Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456",
                "required": false,
                "schema": {
                    "type": "string"
                }
            }
        },
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "description": "Paste your access token here (without the `Bearer` prefix). Need one? In the `Authentication` section, call `POST /auth/create-token` with your `email` and `password` — copy the returned `access_token` into this field.",
                "scheme": "bearer",
                "bearerFormat": "JWT"
            }
        }
    },
    "security": [
        {
            "bearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Absences",
            "description": "Absences (Abwesenheiten, Ausencias, Nieobecności, Absențe)"
        },
        {
            "name": "Absence recurring rules",
            "description": "Repeating absences (Wiederkehrende Abwesenheiten, Ausencias recurrentes, Powtarzające się nieobecności, Absențe recurente)"
        },
        {
            "name": "Absence types",
            "description": "Absence reasons (Abwesenheitsgründe, Motivos de ausencia, Powody nieobecności, Motivele absenței)"
        },
        {
            "name": "Authentication",
            "description": "Logins (Inicios de sesión, Logowania, Autentificări)"
        },
        {
            "name": "Articles",
            "description": "Articles (Artikel, Artículos, Artykuły, Articole)"
        },
        {
            "name": "Article groups",
            "description": "Article groups (Artikelgruppen, Grupos de artículos, Grupy artykułów, Grupuri de articole)"
        },
        {
            "name": "Assignments",
            "description": "Appointments (Termine, Citas, Terminy, Programări)"
        },
        {
            "name": "Assignment recurring rules",
            "description": "Repeating appointments (Wiederkehrende Termine, Citas recurrentes, Terminy powtarzające się, Programări recurente)"
        },
        {
            "name": "Assignment Tags",
            "description": "Labels (Etiquetas, Etykiety, Etichete)"
        },
        {
            "name": "Customers",
            "description": "Customers (Kunden, Clientes, Klienci, Clienți)"
        },
        {
            "name": "Customer addresses",
            "description": "Locations & contacts (Einsatzorte & Kontakte, Ubicaciones y contactos, Miejsca pracy i kontakty, Locuri de muncă și contacte)"
        },
        {
            "name": "Documents",
            "description": "Documents (Dokumente, Documentos, Dokumenty, Documente)"
        },
        {
            "name": "Documentations",
            "description": "Protocol entries (Protokolleinträge, Entradas del informe, Wpisy protokołu, Fișe de protocol)"
        },
        {
            "name": "Documentation signature templates",
            "description": "Signature templates (Abnahmevorlagen, Plantillas de firma, Szablony odbioru, Șabloane recepție)"
        },
        {
            "name": "Employees",
            "description": "Staff (Personal, Personel)"
        },
        {
            "name": "Employee absence account balances",
            "description": "Absence account balances (Urlaubskontosalden, Saldos de vacaciones, Salda kont urlopowych, Solduri cont concediu)"
        },
        {
            "name": "Employee balance compensations",
            "description": "Balance compensations (Saldoausgleiche, Compensaciones de saldo, Kompensacje salda, Compensări sold)"
        },
        {
            "name": "Employee groups",
            "description": "Teams (Equipos, Zespoły, Echipe)"
        },
        {
            "name": "Employee target working times",
            "description": "Target times (Sollzeiten, Tiempos objetivo, Czasy docelowe, Timpuri de lucru țintă)"
        },
        {
            "name": "Employee time account balances",
            "description": "Time account balances (Zeitkontosalden, Saldos de cuenta de tiempo, Salda kont czasu, Solduri conturi timp)"
        },
        {
            "name": "Icons",
            "description": "Icon (Symbol, Icono, Ikona, Pictogramă)"
        },
        {
            "name": "Roles, permissions and licenses",
            "description": "Roles and permissions (Rollen und Berechtigungen, Roles y permisos, Role i uprawnienia, Roluri și permisiuni)"
        },
        {
            "name": "My",
            "description": "My account (Mein Zugang, Mi cuenta, Moje konto, Contul meu)"
        },
        {
            "name": "Notes",
            "description": "Notes (Notizen, Notas, Notatki, Note)"
        },
        {
            "name": "Notifications",
            "description": "Notifications (Benachrichtigungen, Notificaciones, Powiadomienia, Notificări)"
        },
        {
            "name": "Projects",
            "description": "Projects (Aufträge, Proyectos, Projekty, Proiecte)"
        },
        {
            "name": "Timesheets",
            "description": "Timesheets (Stundenzettel, Hojas de horas, Karty czasu pracy, Fișe de pontaj)"
        },
        {
            "name": "Timesheet activities",
            "description": "Activities (Aktivitäten, Actividades, Aktywności, Activități)"
        },
        {
            "name": "Timesheet activity types",
            "description": "Activities (Aktivitäten, Actividades, Aktywności, Activități)"
        },
        {
            "name": "Tools",
            "description": "Tools (Werkzeuge, Herramientas, Narzędzia, Unelte)"
        },
        {
            "name": "Tool groups",
            "description": "Tool groups (Werkzeuggruppen, Grupos de herramientas, Grupy narzędzi, Grupuri de unelte)"
        },
        {
            "name": "Uploads",
            "description": "Uploads (Subidas, Przesłania, Încărcări)"
        },
        {
            "name": "Vehicles",
            "description": "Vehicles (Fahrzeuge, Vehículos, Pojazdy, Vehicule)"
        }
    ]
}