Update a job (v2). The job fields go into the job object, the edit options next to it.
Warning: only use this endpoint if you know exactly what it does. It applies the same logic as the PlanD planner: with type FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and userIds replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.
An Assignment acts as the overall structure for jobs. They contain information about what kind of work should be done, where it should be done and how it should be billed. Assignments can be used to track the time spent on a job, the materials used and the costs incurred.
Service Report ID if job is linked to a service report
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Pland Developer Platform","colors":{"primary":"#2563EB","light":"#bfdbfe","dark":"#1E40AF"},"logo":{"light":"https://mintcdn.com/pland/4nF818XuJvdH1X-y/logo/logo-light.png?fit=max\u0026auto=format\u0026n=4nF818XuJvdH1X-y\u0026q=85\u0026s=58e21d630b18eebde27bee10fa752eb3","dark":"https://mintcdn.com/pland/4nF818XuJvdH1X-y/logo/logo-dark.png?fit=max\u0026auto=format\u0026n=4nF818XuJvdH1X-y\u0026q=85\u0026s=426b8f2e17759f6cab27a2049c396092"},"favicon":"https://mintcdn.com/pland/4nF818XuJvdH1X-y/favicon.png?fit=max\u0026auto=format\u0026n=4nF818XuJvdH1X-y\u0026q=85\u0026s=118b9198f497329520268b5f9511ff95","navbar":{"links":[{"href":"mailto:support@pland.app","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://cloud.pland.app/login"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/pland-software","youtube":"https://www.youtube.com/@pland.software"}},"seo":{"indexing":"navigable"},"icons":{"library":"fontawesome"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Roadmap","icon":"road","href":"https://feedback.pland.app/de/roadmap/main"},{"anchor":"Changelog","icon":"bullhorn","href":"https://feedback.pland.app/de/changelog"},{"anchor":"Knowledge Base","icon":"book","href":"https://help.pland.app"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pland","hasAudioNarration":false,"actualSubdomain":"pland","customDomains":["docs.pland.app"],"gitSource":{"type":"gitlab","owner":"common-digital","repo":"pland-docs","projectId":71427967,"deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e72d094e7057e3148df0","collectionId":"72c63d0c-dc7f-4b3f-8b62-95a30f93a70b","schemaVersion":"v2"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aee03c755bb8cace6bce8ab","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":80},{"language":"default","tag":"Users","count":8},{"language":"default","tag":"Documents","count":7},{"language":"default","tag":"Customers","count":6},{"language":"default","tag":"Objects","count":6},{"language":"default","tag":"Tasks","count":6},{"language":"default","tag":"Absences","count":5},{"language":"default","tag":"Articles","count":5},{"language":"default","tag":"Equipment","count":5},{"language":"default","tag":"Quality Control","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"stylse.css","content":".nav-tabs-item:nth-child(3)::after{content:\"Coming soon\";display:inline-block;font-size:.65rem;font-weight:700;line-height:1.25;padding:.125rem .25rem;margin-left:.5rem;border-radius:var(--rounded-md, .375rem);background-color:rgb(var(--primary) / .1)}html.light .nav-tabs-item:nth-child(3)::after{color:rgb(var(--primary-dark))}html.dark .nav-tabs-item:nth-child(3)::after{color:rgb(var(--primary-light))}"}],"page":{"pagePath":"api-reference/jobs/update","slug":"/api-reference/jobs/update","pageMetadata":{"title":"Update a Job","openapi":"PATCH /jobs/{id}/v2","description":"Update a job (v2). The job fields go into the `job` object, the edit options next to it.\n\n**Warning: only use this endpoint if you know exactly what it does.** It applies the same logic as the PlanD planner: with `type` FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and `userIds` replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.","href":"/api-reference/jobs/update"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Update a job (v2). The job fields go into the \", _jsx(_components.code, {\n children: \"job\"\n }), \" object, the edit options next to it.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Warning: only use this endpoint if you know exactly what it does.\"\n }), \" It applies the same logic as the PlanD planner: with \", _jsx(_components.code, {\n children: \"type\"\n }), \" FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and \", _jsx(_components.code, {\n children: \"userIds\"\n }), \" replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update a Job","openapi":"PATCH /jobs/{id}/v2","description":"Update a job (v2). The job fields go into the `job` object, the edit options next to it.\n\n**Warning: only use this endpoint if you know exactly what it does.** It applies the same logic as the PlanD planner: with `type` FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and `userIds` replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.","href":"/api-reference/jobs/update"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Jobs"],"summary":"Update a job","description":"Update a job (v2). The job fields go into the `job` object, the edit options next to it.\n\n**Warning: only use this endpoint if you know exactly what it does.** It applies the same logic as the PlanD planner: with `type` FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and `userIds` replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.","operationId":"patchJob","parameters":["c283e8a1-3f8e-42ab-ac8b-2311f476a238","6a2a7d1c-1149-43bb-97e9-f5a449f5bc56"],"requestBody":"4f63dc0a-cd83-4eb2-80d7-9df2465e2aab","responses":{"200":"aa776d28-87a7-49b9-aace-6b86f5a3eb2c","400":"4aa55c27-d19a-4324-bd30-8da7a42fc49a","401":"b83dc734-b49c-418d-912e-8c2676a257c6","403":"3cacc2e0-e475-4468-bc66-dab120a7796f","404":"84e64983-c872-401f-b6e9-a7979d31fbb8"},"security":["6150639d-2c76-46e1-bcb4-5426dcbec989","de62e9c2-4ce4-4047-afa5-f76e5c8b22c2"],"method":"patch","type":"path","servers":["049f04bf-2709-4eaa-8561-4ab663e714af","c9c1a3f9-30ec-4c06-b6dc-9dac055b68a8"],"path":"/jobs/{id}/v2","baseUrlOptions":["https://cloud-api.pland.app/v2","https://beta-api.pland.app/v2"],"title":"Update a job","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c283e8a1-3f8e-42ab-ac8b-2311f476a238":{"name":"id","in":"path","description":"Job ID","required":true,"schema":{"type":"string","format":"objectid","isRequired":true,"description":"Job ID","uniqueKey":"","typeLabel":"string\u003cobjectid>"}},"6a2a7d1c-1149-43bb-97e9-f5a449f5bc56":{"name":"updateTeam","in":"query","description":"Apply the update to all jobs of the team","required":false,"schema":{"type":"string","enum":["true","false"],"isRequired":false,"description":"Apply the update to all jobs of the team","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"required":["job"],"properties":{"job":{"type":"object","title":"Job","description":"The job fields to set. `targetTime` (seconds) and `iCalendar` are required.","required":["targetTime","iCalendar"],"properties":{"targetTime":{"description":"Target time for the job in seconds (at most 86400)","type":"number","format":"float","isRequired":true,"uniqueKey":"job.targetTime","typeLabel":"number\u003cfloat>"},"iCalendar":{"description":"Represents a structured iCalendar object with recurrence rules","properties":{"frequency":{"description":"Recurrence frequency (e.g., DAILY, WEEKLY, MONTHLY)","type":"string","uniqueKey":"job.iCalendar.frequency","typeLabel":"string"},"tzid":{"description":"Time zone ID for the recurrence rule","type":"string","uniqueKey":"job.iCalendar.tzid","typeLabel":"string"},"interval":{"description":"Interval between occurrences","type":"integer","uniqueKey":"job.iCalendar.interval","typeLabel":"integer"},"rrule":{"description":"Recurrence rule as a string","type":"string","deprecated":true,"uniqueKey":"job.iCalendar.rrule","typeLabel":"string"},"bySetPos":{"description":"Position in the set for monthly recurrences","type":"integer","uniqueKey":"job.iCalendar.bySetPos","typeLabel":"integer"},"byDay":{"description":"Days of the week for the recurrence","type":"array","items":{"type":"string","uniqueKey":"job.iCalendar.byDay.items.[INDEX]","typeLabel":"string"},"uniqueKey":"job.iCalendar.byDay","typeLabel":"string[]"},"byMonthDay":{"description":"Day of the month for the recurrence","type":"string","uniqueKey":"job.iCalendar.byMonthDay","typeLabel":"string"},"byMonth":{"description":"Months for the recurrence","type":"array","items":{"type":"integer","uniqueKey":"job.iCalendar.byMonth.items.[INDEX]","typeLabel":"integer"},"uniqueKey":"job.iCalendar.byMonth","typeLabel":"integer[]"},"dtstart":{"oneOf":[{"type":"string","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1793865600000","uniqueKey":"job.iCalendar.dtstart.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1793865600000","uniqueKey":"job.iCalendar.dtstart.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"job.iCalendar.dtstart","typeLabel":"string | integer\u003cint64>"},"dtend":{"oneOf":[{"type":"string","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1796457600000","uniqueKey":"job.iCalendar.dtend.oneOf.0","typeLabel":"string"},{"type":"integer","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1796457600000","uniqueKey":"job.iCalendar.dtend.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"job.iCalendar.dtend","typeLabel":"string | integer\u003cint64>"},"exDate":{"description":"Exception dates for the recurrence (epoch ms; job responses return integers, requests also accept digit strings)","type":"array","items":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"job.iCalendar.exDate.items.[INDEX].oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"string","pattern":"^[0-9]+$","uniqueKey":"job.iCalendar.exDate.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"job.iCalendar.exDate.items.[INDEX]","typeLabel":"integer\u003cint64> | string"},"uniqueKey":"job.iCalendar.exDate","typeLabel":"(integer\u003cint64> | string)[]"}},"type":"object","isRequired":true,"uniqueKey":"job.iCalendar","typeLabel":"object"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"job.chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"job.chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.chatId","typeLabel":"string\u003cobjectid> | null"},"assignmentId":{"description":"Assignment ID","format":"objectid","type":"string","uniqueKey":"job.assignmentId","typeLabel":"string\u003cobjectid>"},"from":{"description":"Start time of the job","format":"date-time","type":"string","uniqueKey":"job.from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End time of the job","format":"date-time","type":"string","uniqueKey":"job.to","typeLabel":"string\u003cdate-time>"},"userId":{"description":"ID of the user","type":"string","format":"objectid","uniqueKey":"job.userId","typeLabel":"string\u003cobjectid>"},"wrapperId":{"oneOf":[{"description":"Wrapper ID","type":"string","format":"objectid","uniqueKey":"job.wrapperId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Wrapper ID","type":"null","format":"objectid","uniqueKey":"job.wrapperId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.wrapperId","typeLabel":"string\u003cobjectid> | null"},"absenceId":{"description":"Absence Id, if this job is connected to an absence (if it needs a replacement)","type":"string","format":"objectid","uniqueKey":"job.absenceId","typeLabel":"string\u003cobjectid>"},"assignment":{"type":"object","title":"Assignment","description":"An Assignment acts as the overall structure for jobs. They contain information about what kind of work should be done, where it should be done and how it should be billed. Assignments can be used to track the time spent on a job, the materials used and the costs incurred.","properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.assignment._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.assignment.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.assignment.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.assignment.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.assignment.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.assignment.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.assignment.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.assignment.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.assignment.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.assignment.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.assignment.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.assignment.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.assignment.status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"job.assignment.chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"job.assignment.chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.chatId","typeLabel":"string\u003cobjectid> | null"},"objectId":{"oneOf":[{"description":"ID of the customer object where this assignment is performed","type":"string","format":"objectid","example":"507f1f77bcf86cd799439011","uniqueKey":"job.assignment.objectId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the customer object where this assignment is performed","type":"null","format":"objectid","example":"507f1f77bcf86cd799439011","uniqueKey":"job.assignment.objectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.objectId","typeLabel":"string\u003cobjectid> | null"},"customerId":{"oneOf":[{"description":"ID of the customer who owns this assignment","type":"string","format":"objectid","example":"507f1f77bcf86cd799439012","uniqueKey":"job.assignment.customerId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the customer who owns this assignment","type":"null","format":"objectid","example":"507f1f77bcf86cd799439012","uniqueKey":"job.assignment.customerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.customerId","typeLabel":"string\u003cobjectid> | null"},"title":{"oneOf":[{"description":"Title or name of the assignment","type":"string","example":"Monthly Cleaning Service","uniqueKey":"job.assignment.title.oneOf.0","typeLabel":"string"},{"description":"Title or name of the assignment","type":"null","example":"Monthly Cleaning Service","uniqueKey":"job.assignment.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.title","typeLabel":"string | null"},"iCalendar":{"oneOf":[{"type":"object","description":"Calendar configuration defining when and how often this assignment occurs","properties":{"frequency":{"description":"Recurrence frequency (e.g., DAILY, WEEKLY, MONTHLY)","type":"string","uniqueKey":"job.assignment.iCalendar.oneOf.0.frequency","typeLabel":"string"},"tzid":{"description":"Time zone ID for the recurrence rule","type":"string","uniqueKey":"job.assignment.iCalendar.oneOf.0.tzid","typeLabel":"string"},"interval":{"description":"Interval between occurrences","type":"integer","uniqueKey":"job.assignment.iCalendar.oneOf.0.interval","typeLabel":"integer"},"rrule":{"description":"Recurrence rule as a string","type":"string","deprecated":true,"uniqueKey":"job.assignment.iCalendar.oneOf.0.rrule","typeLabel":"string"},"bySetPos":{"description":"Position in the set for monthly recurrences","type":"integer","uniqueKey":"job.assignment.iCalendar.oneOf.0.bySetPos","typeLabel":"integer"},"byDay":{"description":"Days of the week for the recurrence","type":"array","items":{"type":"string","uniqueKey":"job.assignment.iCalendar.oneOf.0.byDay.items.[INDEX]","typeLabel":"string"},"uniqueKey":"job.assignment.iCalendar.oneOf.0.byDay","typeLabel":"string[]"},"byMonthDay":{"description":"Day of the month for the recurrence","type":"string","uniqueKey":"job.assignment.iCalendar.oneOf.0.byMonthDay","typeLabel":"string"},"byMonth":{"description":"Months for the recurrence","type":"array","items":{"type":"integer","uniqueKey":"job.assignment.iCalendar.oneOf.0.byMonth.items.[INDEX]","typeLabel":"integer"},"uniqueKey":"job.assignment.iCalendar.oneOf.0.byMonth","typeLabel":"integer[]"},"dtstart":{"oneOf":[{"type":"string","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1793865600000","uniqueKey":"job.assignment.iCalendar.oneOf.0.dtstart.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1793865600000","uniqueKey":"job.assignment.iCalendar.oneOf.0.dtstart.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"job.assignment.iCalendar.oneOf.0.dtstart","typeLabel":"string | integer\u003cint64>"},"dtend":{"oneOf":[{"type":"string","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1796457600000","uniqueKey":"job.assignment.iCalendar.oneOf.0.dtend.oneOf.0","typeLabel":"string"},{"type":"integer","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1796457600000","uniqueKey":"job.assignment.iCalendar.oneOf.0.dtend.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"job.assignment.iCalendar.oneOf.0.dtend","typeLabel":"string | integer\u003cint64>"},"exDate":{"description":"Exception dates for the recurrence (epoch ms; job responses return integers, requests also accept digit strings)","type":"array","items":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"job.assignment.iCalendar.oneOf.0.exDate.items.[INDEX].oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"string","pattern":"^[0-9]+$","uniqueKey":"job.assignment.iCalendar.oneOf.0.exDate.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"job.assignment.iCalendar.oneOf.0.exDate.items.[INDEX]","typeLabel":"integer\u003cint64> | string"},"uniqueKey":"job.assignment.iCalendar.oneOf.0.exDate","typeLabel":"(integer\u003cint64> | string)[]"}},"uniqueKey":"job.assignment.iCalendar.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"job.assignment.iCalendar.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.iCalendar","typeLabel":"object | null"},"material":{"oneOf":[{"description":"Materials or products associated with this assignment","type":"array","items":{"type":"object","uniqueKey":"job.assignment.material.oneOf.0.items.[INDEX]","typeLabel":"object"},"example":[{"productId":"507f1f77bcf86cd799439013","quantity":2}],"uniqueKey":"job.assignment.material.oneOf.0","typeLabel":"object[]"},{"description":"Materials or products associated with this assignment","type":"null","items":{"type":"object"},"example":[{"productId":"507f1f77bcf86cd799439013","quantity":2}],"uniqueKey":"job.assignment.material.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.material","typeLabel":"object[] | null"},"activityTypeId":{"oneOf":[{"description":"ID of the activity type defining what kind of work is performed","type":"string","format":"objectid","example":"507f1f77bcf86cd799439014","uniqueKey":"job.assignment.activityTypeId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the activity type defining what kind of work is performed","type":"null","format":"objectid","example":"507f1f77bcf86cd799439014","uniqueKey":"job.assignment.activityTypeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.activityTypeId","typeLabel":"string\u003cobjectid> | null"},"comment":{"oneOf":[{"description":"Additional comments or notes for this assignment","type":"string","example":"Special instructions for weekend work","uniqueKey":"job.assignment.comment.oneOf.0","typeLabel":"string"},{"description":"Additional comments or notes for this assignment","type":"null","example":"Special instructions for weekend work","uniqueKey":"job.assignment.comment.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.comment","typeLabel":"string | null"},"documentIds":{"description":"Array of document IDs attached to this assignment","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"job.assignment.documentIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"example":["507f1f77bcf86cd799439015","507f1f77bcf86cd799439016"],"uniqueKey":"job.assignment.documentIds","typeLabel":"string\u003cobjectid>[]"},"billing":{"oneOf":[{"type":"object","description":"Billing configuration for this assignment including pricing and invoice settings","properties":{"type":{"description":"Type of billing","type":"string","enum":["MANUAL","RECURRING","ON_EVENT"],"uniqueKey":"job.assignment.billing.oneOf.0.type","typeLabel":"enum\u003cstring>"},"positions":{"description":"Array of positions/line items for invoice generation","type":"array","items":{"oneOf":[{"type":"object","title":"Invoice Position","description":"Represents a line item position in an invoice, offer, or credit note. Contains pricing, tax, and product information.","required":["quantity","unit","price","tax","title"],"properties":{"quantity":{"description":"Quantity of the item or service","type":"number","format":"float","minimum":0,"example":2.5,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.quantity","typeLabel":"number\u003cfloat>"},"unit":{"description":"Unit of measurement (e.g., \"hours\", \"pieces\", \"kg\")","type":"string","example":"hours","isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.unit","typeLabel":"string"},"price":{"description":"Unit price of the item or service","type":"number","format":"float","minimum":0,"example":32.5,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.price","typeLabel":"number\u003cfloat>"},"tax":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax) - deprecated, use taxRate instead","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"deprecated":true,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.tax","typeLabel":"number\u003cfloat>"},"title":{"description":"Title or name of the item or service","type":"string","example":"Cleaning Service","isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.title","typeLabel":"string"},"type":{"description":"Type of the position","type":"string","enum":["INVOICE_POSITION","PRODUCT_POSITION","TEXT_POSITION","DYNAMIC_POSITION"],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"taxRate":{"oneOf":[{"type":"object","title":"TaxRate","description":"Tax rate object containing detailed tax information","required":["type","rate"],"properties":{"type":{"description":"Type of tax rate (VAT, ZERO_RATE, EXEMPT, REVERSE_CHARGE)","type":"string","enum":["VAT","ZERO_RATE","EXEMPT","REVERSE_CHARGE"],"example":"VAT","isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.type","typeLabel":"enum\u003cstring>"},"rate":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax, 0.07 for 7% tax)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.rate","typeLabel":"number\u003cfloat>"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status","typeLabel":"object"},"description":{"oneOf":[{"description":"Human-readable description of the tax rate","type":"string","example":"Regelsteuersatz","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Human-readable description of the tax rate","type":"null","example":"Regelsteuersatz","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.description","typeLabel":"string | null"},"bookingAccountNumber":{"oneOf":[{"description":"Booking account number for accounting integration","type":"string","example":"8400","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Booking account number for accounting integration","type":"null","example":"8400","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number for early payment discounts","type":"string","example":"8405","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number for early payment discounts","type":"null","example":"8405","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.skontoBookingAccountNumber","typeLabel":"string | null"},"default":{"description":"Whether this is a system default tax rate (cannot be deleted)","type":"boolean","example":false,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.default","typeLabel":"boolean"}},"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0","typeLabel":"TaxRate · object"},{"type":"null","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate","typeLabel":"TaxRate · object | null"},"description":{"oneOf":[{"description":"Description of the item or service","type":"string","example":"Detailed description of the cleaning service","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Description of the item or service","type":"null","example":"Detailed description of the cleaning service","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.description","typeLabel":"string | null"},"discount":{"oneOf":[{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.discount.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"null","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.discount.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.discount","typeLabel":"number\u003cfloat> | null"},"productId":{"oneOf":[{"description":"Identifier for the product associated with this invoice position","type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.productId.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Identifier for the product associated with this invoice position","type":"null","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.productId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.productId","typeLabel":"string\u003cuuid> | null"},"includedWageCostFactor":{"oneOf":[{"description":"Wage cost factor included in the price, used for internal calculations","type":"number","format":"float","example":0.95,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.includedWageCostFactor.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Wage cost factor included in the price, used for internal calculations","type":"null","format":"float","example":0.95,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.includedWageCostFactor.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.includedWageCostFactor","typeLabel":"number\u003cfloat> | null"},"isOptional":{"oneOf":[{"description":"If true, the position will not be included in the total price calculation","type":"boolean","example":false,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.isOptional.oneOf.0","typeLabel":"boolean"},{"description":"If true, the position will not be included in the total price calculation","type":"null","example":false,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.isOptional.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.isOptional","typeLabel":"boolean | null"},"bookingAccountNumber":{"oneOf":[{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"string","example":"ACC-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"null","example":"ACC-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number, used for early payment discounts","type":"string","example":"SKONTO-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number, used for early payment discounts","type":"null","example":"SKONTO-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.skontoBookingAccountNumber","typeLabel":"string | null"},"assignmentId":{"oneOf":[{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.assignmentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"null","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.assignmentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.assignmentId","typeLabel":"string\u003cobjectid> | null"}},"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0","typeLabel":"Invoice Position · object"},{"type":"object","title":"Text Position","description":"A simple Text position for an invoice. This position is used to add custom text\n to an invoice, e.g. for notes or additional information.","properties":{"type":{"description":"Type of the position","type":"string","enum":["INVOICE_POSITION","PRODUCT_POSITION","TEXT_POSITION","DYNAMIC_POSITION"],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"text":{"description":"The text content of the position","type":"string","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.1.text","typeLabel":"string"}},"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.1","typeLabel":"Text Position · object"},{"type":"object","title":"Dynamic Position","description":"A dynamic position in an assignment, which can be converted to a standard invoice position.","required":["quantity","unit","price","tax","title"],"properties":{"quantity":{"description":"Quantity of the item or service","type":"number","format":"float","minimum":0,"example":2.5,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.quantity","typeLabel":"number\u003cfloat>"},"unit":{"description":"Unit of measurement (e.g., \"hours\", \"pieces\", \"kg\")","type":"string","example":"hours","isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.unit","typeLabel":"string"},"price":{"description":"Unit price of the item or service","type":"number","format":"float","minimum":0,"example":32.5,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.price","typeLabel":"number\u003cfloat>"},"tax":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax) - deprecated, use taxRate instead","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"deprecated":true,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.tax","typeLabel":"number\u003cfloat>"},"title":{"description":"Title or name of the item or service","type":"string","example":"Cleaning Service","isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.title","typeLabel":"string"},"type":{"description":"Type of the position","type":"string","enum":["INVOICE_POSITION","PRODUCT_POSITION","TEXT_POSITION","DYNAMIC_POSITION"],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"taxRate":{"oneOf":[{"type":"object","title":"TaxRate","description":"Tax rate object containing detailed tax information","required":["type","rate"],"properties":{"type":{"description":"Type of tax rate (VAT, ZERO_RATE, EXEMPT, REVERSE_CHARGE)","type":"string","enum":["VAT","ZERO_RATE","EXEMPT","REVERSE_CHARGE"],"example":"VAT","isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.type","typeLabel":"enum\u003cstring>"},"rate":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax, 0.07 for 7% tax)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"isRequired":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.rate","typeLabel":"number\u003cfloat>"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status","typeLabel":"object"},"description":{"oneOf":[{"description":"Human-readable description of the tax rate","type":"string","example":"Regelsteuersatz","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Human-readable description of the tax rate","type":"null","example":"Regelsteuersatz","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.description","typeLabel":"string | null"},"bookingAccountNumber":{"oneOf":[{"description":"Booking account number for accounting integration","type":"string","example":"8400","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Booking account number for accounting integration","type":"null","example":"8400","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number for early payment discounts","type":"string","example":"8405","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number for early payment discounts","type":"null","example":"8405","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.skontoBookingAccountNumber","typeLabel":"string | null"},"default":{"description":"Whether this is a system default tax rate (cannot be deleted)","type":"boolean","example":false,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.default","typeLabel":"boolean"}},"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0","typeLabel":"TaxRate · object"},{"type":"null","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate","typeLabel":"TaxRate · object | null"},"description":{"oneOf":[{"description":"Description of the item or service","type":"string","example":"Detailed description of the cleaning service","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.description.oneOf.0","typeLabel":"string"},{"description":"Description of the item or service","type":"null","example":"Detailed description of the cleaning service","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.description","typeLabel":"string | null"},"discount":{"oneOf":[{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.discount.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"null","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.discount.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.discount","typeLabel":"number\u003cfloat> | null"},"productId":{"oneOf":[{"description":"Identifier for the product associated with this invoice position","type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.productId.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Identifier for the product associated with this invoice position","type":"null","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.productId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.productId","typeLabel":"string\u003cuuid> | null"},"includedWageCostFactor":{"oneOf":[{"description":"Wage cost factor included in the price, used for internal calculations","type":"number","format":"float","example":0.95,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.includedWageCostFactor.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Wage cost factor included in the price, used for internal calculations","type":"null","format":"float","example":0.95,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.includedWageCostFactor.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.includedWageCostFactor","typeLabel":"number\u003cfloat> | null"},"isOptional":{"oneOf":[{"description":"If true, the position will not be included in the total price calculation","type":"boolean","example":false,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.isOptional.oneOf.0","typeLabel":"boolean"},{"description":"If true, the position will not be included in the total price calculation","type":"null","example":false,"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.isOptional.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.isOptional","typeLabel":"boolean | null"},"bookingAccountNumber":{"oneOf":[{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"string","example":"ACC-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"null","example":"ACC-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number, used for early payment discounts","type":"string","example":"SKONTO-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number, used for early payment discounts","type":"null","example":"SKONTO-123456","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.skontoBookingAccountNumber","typeLabel":"string | null"},"assignmentId":{"oneOf":[{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"string","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.assignmentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"null","format":"objectid","uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.assignmentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.assignmentId","typeLabel":"string\u003cobjectid> | null"},"dynamicType":{"description":"The calculation type for this position, i.e. whether the actual working time,\n the planned time, the confirmed time or the number of job occurences should be used.","type":"string","enum":["PLANNED_TIME","WORKING_TIME","SALARY_TIME","JOB_COUNT"],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.dynamicType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2","typeLabel":"Dynamic Position · object"}],"uniqueKey":"job.assignment.billing.oneOf.0.positions.items.[INDEX]","typeLabel":"Invoice Position · object | Text Position · object | Dynamic Position · object"},"uniqueKey":"job.assignment.billing.oneOf.0.positions","typeLabel":"(Invoice Position · object | Text Position · object | Dynamic Position · object)[]"},"lastInvoiceDate":{"description":"Date of the last invoice","type":"string","format":"date-time","uniqueKey":"job.assignment.billing.oneOf.0.lastInvoiceDate","typeLabel":"string\u003cdate-time>"},"defaultInvoiceTemplateId":{"description":"Default invoice template ID for automatic invoice creation","type":"string","format":"objectId","uniqueKey":"job.assignment.billing.oneOf.0.defaultInvoiceTemplateId","typeLabel":"string\u003cobjectId>"}},"uniqueKey":"job.assignment.billing.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"job.assignment.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.billing","typeLabel":"object | null"},"quota":{"description":"The Assignment Quota defines the quota for an assignment","properties":{"enabled":{"description":"Are quotas enabled","type":"boolean","uniqueKey":"job.assignment.quota.enabled","typeLabel":"boolean"},"quotaCalculation":{"description":"How is the Assignment Quota calculated?","type":"string","enum":["once","weekly","monthly"],"uniqueKey":"job.assignment.quota.quotaCalculation","typeLabel":"enum\u003cstring>"},"total":{"description":"The quota total. The meaning of this value is dependent on the quotaCalculation","type":"number","format":"float","uniqueKey":"job.assignment.quota.total","typeLabel":"number\u003cfloat>"},"billingRateEnabled":{"description":"Is the billing rate calculation enabled","type":"boolean","uniqueKey":"job.assignment.quota.billingRateEnabled","typeLabel":"boolean"},"billingRateCalculation":{"description":"Defines how the billingRate is calculated","type":"string","enum":["hourly","flat","dynamic"],"uniqueKey":"job.assignment.quota.billingRateCalculation","typeLabel":"enum\u003cstring>"},"billingRateAmount":{"description":"The billing rate amount. The meaning of this value is dependent on the billingRateCalculation","type":"number","format":"float","uniqueKey":"job.assignment.quota.billingRateAmount","typeLabel":"number\u003cfloat>"},"expectedMargin":{"description":"The Margin the customer expects. We use this number to calculate the real margin of the customer. Value should be between 0.0 - 1.0","type":"number","format":"float","uniqueKey":"job.assignment.quota.expectedMargin","typeLabel":"number\u003cfloat>"}},"type":"object","uniqueKey":"job.assignment.quota","typeLabel":"object"},"autoGenerateInvoiceError":{"oneOf":[{"description":"Error information from automatic invoice generation, if any","type":"object","uniqueKey":"job.assignment.autoGenerateInvoiceError.oneOf.0","typeLabel":"object"},{"description":"Error information from automatic invoice generation, if any","type":"null","uniqueKey":"job.assignment.autoGenerateInvoiceError.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.autoGenerateInvoiceError","typeLabel":"object | null"},"costUnit":{"oneOf":[{"description":"The cost unit of the assignment. Can be set to an arbitrary string","type":"string","uniqueKey":"job.assignment.costUnit.oneOf.0","typeLabel":"string"},{"description":"The cost unit of the assignment. Can be set to an arbitrary string","type":"null","uniqueKey":"job.assignment.costUnit.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.costUnit","typeLabel":"string | null"},"jobChatId":{"oneOf":[{"description":"ID of the chat that all jobs under this assignment share","type":"string","format":"objectid","example":"507f1f77bcf86cd799439017","uniqueKey":"job.assignment.jobChatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat that all jobs under this assignment share","type":"null","format":"objectid","example":"507f1f77bcf86cd799439017","uniqueKey":"job.assignment.jobChatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.jobChatId","typeLabel":"string\u003cobjectid> | null"},"useUserPayTypeOnly":{"oneOf":[{"description":"When true, always use the user default pay type instead of the activity type pay type","type":"boolean","uniqueKey":"job.assignment.useUserPayTypeOnly.oneOf.0","typeLabel":"boolean"},{"description":"When true, always use the user default pay type instead of the activity type pay type","type":"null","uniqueKey":"job.assignment.useUserPayTypeOnly.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.useUserPayTypeOnly","typeLabel":"boolean | null"},"linkedCache":{"oneOf":[{"description":"Cached data linked to this assignment for performance optimization","type":"array","items":{"type":"object","uniqueKey":"job.assignment.linkedCache.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"job.assignment.linkedCache.oneOf.0","typeLabel":"object[]"},{"description":"Cached data linked to this assignment for performance optimization","type":"null","items":{"type":"object"},"uniqueKey":"job.assignment.linkedCache.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.assignment.linkedCache","typeLabel":"object[] | null"}},"uniqueKey":"job.assignment","typeLabel":"Assignment · object"},"masterJobId":{"description":"Master job ID if this is a replacement job","format":"objectid","type":"string","uniqueKey":"job.masterJobId","typeLabel":"string\u003cobjectid>"},"timeTrackings":{"description":"Time tracking entries for the job","type":"array","items":{"type":"object","title":"Time Tracking Entry","description":"A time tracking entry recording work time for a job, including start/end times, location data, and status information","properties":{"_id":{"type":"string","description":"Unique identifier for the time tracking entry","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.timeTrackings.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.timeTrackings.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.timeTrackings.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.timeTrackings.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.timeTrackings.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.timeTrackings.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.timeTrackings.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.timeTrackings.items.[INDEX].status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.timeTrackings.items.[INDEX].chatId","typeLabel":"string\u003cobjectid> | null"},"userId":{"description":"ID of the user who performed the work","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"jobId":{"description":"ID of the job being tracked","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].jobId","typeLabel":"string\u003cobjectid>"},"objectId":{"description":"ID of the customer object/location where work was performed","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].objectId","typeLabel":"string\u003cobjectid>"},"timeStart":{"description":"Start timestamp of the work period (UTC)","type":"string","format":"date-time","uniqueKey":"job.timeTrackings.items.[INDEX].timeStart","typeLabel":"string\u003cdate-time>"},"timeEnd":{"description":"End timestamp of the work period (UTC)","type":"string","format":"date-time","uniqueKey":"job.timeTrackings.items.[INDEX].timeEnd","typeLabel":"string\u003cdate-time>"},"workingTime":{"description":"Actual working time in seconds (timeEnd - timeStart - break)","type":"integer","minimum":0,"uniqueKey":"job.timeTrackings.items.[INDEX].workingTime","typeLabel":"integer"},"targetTime":{"description":"Target/expected working time in seconds","type":"integer","minimum":0,"uniqueKey":"job.timeTrackings.items.[INDEX].targetTime","typeLabel":"integer"},"break":{"description":"Break time in seconds","type":"integer","minimum":0,"uniqueKey":"job.timeTrackings.items.[INDEX].break","typeLabel":"integer"},"requiredBreakTime":{"description":"Legally required break time in seconds","type":"integer","minimum":0,"uniqueKey":"job.timeTrackings.items.[INDEX].requiredBreakTime","typeLabel":"integer"},"type":{"description":"Type of time tracking entry","type":"string","enum":["default","simple","offline","driving","manual"],"uniqueKey":"job.timeTrackings.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"location":{"description":"GPS coordinates where work started","properties":{"latitude":{"type":"number","format":"float","uniqueKey":"job.timeTrackings.items.[INDEX].location.latitude","typeLabel":"number\u003cfloat>"},"longitude":{"type":"number","format":"float","uniqueKey":"job.timeTrackings.items.[INDEX].location.longitude","typeLabel":"number\u003cfloat>"}},"type":"object","uniqueKey":"job.timeTrackings.items.[INDEX].location","typeLabel":"object"},"logOutLocation":{"description":"GPS coordinates where work ended","properties":{"latitude":{"type":"number","format":"float","uniqueKey":"job.timeTrackings.items.[INDEX].logOutLocation.latitude","typeLabel":"number\u003cfloat>"},"longitude":{"type":"number","format":"float","uniqueKey":"job.timeTrackings.items.[INDEX].logOutLocation.longitude","typeLabel":"number\u003cfloat>"}},"type":"object","uniqueKey":"job.timeTrackings.items.[INDEX].logOutLocation","typeLabel":"object"},"approved":{"description":"Whether the time tracking entry has been approved for billing","type":"boolean","uniqueKey":"job.timeTrackings.items.[INDEX].approved","typeLabel":"boolean"},"cancelled":{"description":"Whether the time tracking entry has been cancelled","type":"boolean","uniqueKey":"job.timeTrackings.items.[INDEX].cancelled","typeLabel":"boolean"},"offline":{"description":"Whether the entry was created while offline","type":"boolean","uniqueKey":"job.timeTrackings.items.[INDEX].offline","typeLabel":"boolean"},"generatedByUser":{"description":"Whether the entry was manually created by a user","type":"boolean","uniqueKey":"job.timeTrackings.items.[INDEX].generatedByUser","typeLabel":"boolean"},"editedByManager":{"description":"Whether the entry was modified by a manager","type":"boolean","uniqueKey":"job.timeTrackings.items.[INDEX].editedByManager","typeLabel":"boolean"},"trackingJobDate":{"description":"Date for which the work was scheduled/performed (UTC)","type":"string","format":"date-time","uniqueKey":"job.timeTrackings.items.[INDEX].trackingJobDate","typeLabel":"string\u003cdate-time>"},"comment":{"description":"Additional comments or notes about the work performed","type":"string","uniqueKey":"job.timeTrackings.items.[INDEX].comment","typeLabel":"string"},"reason":{"description":"Reason for manual time tracking entry creation","type":"string","uniqueKey":"job.timeTrackings.items.[INDEX].reason","typeLabel":"string"},"errors":{"description":"Array of error codes preventing automatic salary release","type":"array","items":{"type":"string","uniqueKey":"job.timeTrackings.items.[INDEX].errors.items.[INDEX]","typeLabel":"string"},"uniqueKey":"job.timeTrackings.items.[INDEX].errors","typeLabel":"string[]"},"allFoundErrors":{"description":"Array of all detected errors during time tracking validation","type":"array","items":{"type":"string","uniqueKey":"job.timeTrackings.items.[INDEX].allFoundErrors.items.[INDEX]","typeLabel":"string"},"uniqueKey":"job.timeTrackings.items.[INDEX].allFoundErrors","typeLabel":"string[]"},"salaryIds":{"description":"Array of salary IDs created from this time tracking entry","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].salaryIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"uniqueKey":"job.timeTrackings.items.[INDEX].salaryIds","typeLabel":"string\u003cobjectid>[]"},"objectManagerId":{"description":"ID of the object manager responsible for this entry","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].objectManagerId","typeLabel":"string\u003cobjectid>"},"signingId":{"description":"ID of associated signing document","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].signingId","typeLabel":"string\u003cobjectid>"},"activityTypeId":{"description":"ID of the activity type performed","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].activityTypeId","typeLabel":"string\u003cobjectid>"},"assignmentId":{"description":"ID of the assignment associated with this time tracking","type":"string","format":"objectid","uniqueKey":"job.timeTrackings.items.[INDEX].assignmentId","typeLabel":"string\u003cobjectid>"}},"uniqueKey":"job.timeTrackings.items.[INDEX]","typeLabel":"Time Tracking Entry · object"},"uniqueKey":"job.timeTrackings","typeLabel":"Time Tracking Entry · object[]"},"salaries":{"description":"Salaries for the job","type":"array","items":{"type":"object","title":"Salary","description":"A salary record representing payment information for work performed by a user. Inherits common fields from ChatableEntityModel.","properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.salaries.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.salaries.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.salaries.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.salaries.items.[INDEX].status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].chatId","typeLabel":"string\u003cobjectid> | null"},"userId":{"description":"User ID who earned this salary","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"timeTrackingId":{"description":"Time tracking entry ID this salary is based on","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].timeTrackingId","typeLabel":"string\u003cobjectid>"},"type":{"description":"Type of salary (regular, overtime, etc.)","type":"string","uniqueKey":"job.salaries.items.[INDEX].type","typeLabel":"string"},"objectId":{"description":"Object ID where the work was performed","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].objectId","typeLabel":"string\u003cobjectid>"},"workingTime":{"description":"Actual working time in seconds","type":"integer","uniqueKey":"job.salaries.items.[INDEX].workingTime","typeLabel":"integer"},"targetTime":{"description":"Target working time in seconds","type":"integer","uniqueKey":"job.salaries.items.[INDEX].targetTime","typeLabel":"integer"},"reason":{"description":"Reason or description for this salary entry","type":"string","uniqueKey":"job.salaries.items.[INDEX].reason","typeLabel":"string"},"approvedByUserId":{"description":"User ID who approved this salary","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].approvedByUserId","typeLabel":"string\u003cobjectid>"},"updatedByUserId":{"description":"User ID who last updated this salary","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].updatedByUserId","typeLabel":"string\u003cobjectid>"},"from":{"description":"Start date/time for this salary period","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End date/time for this salary period","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].to","typeLabel":"string\u003cdate-time>"},"break":{"description":"Break time in seconds","type":"integer","uniqueKey":"job.salaries.items.[INDEX].break","typeLabel":"integer"},"minBreakTime":{"description":"Minimum break time required in seconds","type":"integer","uniqueKey":"job.salaries.items.[INDEX].minBreakTime","typeLabel":"integer"},"absenceId":{"description":"Only set when type = Salary Absence","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].absenceId","typeLabel":"string\u003cobjectid>"},"jobId":{"description":"Job ID this salary is associated with","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].jobId","typeLabel":"string\u003cobjectid>"},"trackingJobDate":{"description":"Date/time when job tracking was started","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].trackingJobDate","typeLabel":"string\u003cdate-time>"},"ignoreDoubleSalaries":{"description":"Whether to ignore double salary checks","type":"boolean","uniqueKey":"job.salaries.items.[INDEX].ignoreDoubleSalaries","typeLabel":"boolean"},"roundedUp":{"description":"Whether working time was rounded up","type":"boolean","uniqueKey":"job.salaries.items.[INDEX].roundedUp","typeLabel":"boolean"},"roundUpSeconds":{"description":"Seconds that were rounded up","type":"integer","uniqueKey":"job.salaries.items.[INDEX].roundUpSeconds","typeLabel":"integer"},"payType":{"description":"Pay type classification","type":"string","uniqueKey":"job.salaries.items.[INDEX].payType","typeLabel":"string"},"nightWorkingTime":{"description":"Total working time during night hours in seconds (deprecated - use surcharges)","type":"integer","deprecated":true,"uniqueKey":"job.salaries.items.[INDEX].nightWorkingTime","typeLabel":"integer"},"sundayWorkingTime":{"description":"Total working time on Sunday in seconds (deprecated - use surcharges)","type":"integer","deprecated":true,"uniqueKey":"job.salaries.items.[INDEX].sundayWorkingTime","typeLabel":"integer"},"publicHolidayWorkingTime":{"description":"Total working time on public holidays in seconds (deprecated - use surcharges)","type":"integer","deprecated":true,"uniqueKey":"job.salaries.items.[INDEX].publicHolidayWorkingTime","typeLabel":"integer"},"surcharges":{"description":"Array of salary surcharges for special work conditions (night, weekend, holiday, etc.)","type":"array","items":{"type":"object","title":"Surcharge on Salary","description":"Represents a surcharge applied to a salary for special work conditions like night hours, weekends, holidays, or driving time.","required":["seconds"],"properties":{"seconds":{"description":"Duration of the surcharge application in seconds","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].seconds","typeLabel":"integer"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"type":"integer","description":"Surcharge number for ordering/display purposes","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].status","typeLabel":"object"},"surchargeId":{"description":"Surcharge ID reference","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].surchargeId","typeLabel":"string\u003cobjectid>"},"name":{"description":"Name of the surcharge (e.g., \"Night Shift\", \"Weekend\", \"Holiday\")","type":"string","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].name","typeLabel":"string"},"surcharge":{"description":"Surcharge percentage (e.g., 25 for 25% surcharge)","type":"number","format":"float","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].surcharge","typeLabel":"number\u003cfloat>"},"surchargeType":{"description":"Type of surcharge: percent or fixed_hourly","type":"string","enum":["percent","fixed_hourly"],"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].surchargeType","typeLabel":"enum\u003cstring>"},"wage":{"description":"Fixed wage per hour (used when surchargeType is fixed_hourly)","type":"number","format":"float","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].wage","typeLabel":"number\u003cfloat>"},"taxFreeType":{"description":"Tax-free category per § 3b EStG","type":"string","enum":["none","night","sunday","holiday","special_holiday"],"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeType","typeLabel":"enum\u003cstring>"},"taxFreeNumber":{"oneOf":[{"description":"Separate payroll number for tax-free portion","type":"integer","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeNumber.oneOf.0","typeLabel":"integer"},{"description":"Separate payroll number for tax-free portion","type":"null","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeNumber","typeLabel":"integer | null"},"activeOn":{"description":"Configuration defining when this surcharge is active","type":"object","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].activeOn","typeLabel":"object"},"userId":{"description":"User ID (used in salary export rows)","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"date":{"description":"Date (used in salary export rows)","type":"string","format":"date","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].date","typeLabel":"string\u003cdate>"},"activeTimeFrames":{"description":"Time frames when this surcharge was active during the salary period","type":"array","items":{"properties":{"from":{"description":"Start time of the surcharge period","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames.items.[INDEX].from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End time of the surcharge period","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames.items.[INDEX].to","typeLabel":"string\u003cdate-time>"}},"type":"object","uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames.items.[INDEX]","typeLabel":"object"},"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames","typeLabel":"object[]"},"_cash":{"description":"Calculated cash amount for this surcharge (available in combined calculations)","type":"number","format":"float","default":0,"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX]._cash","typeLabel":"number\u003cfloat>"}},"uniqueKey":"job.salaries.items.[INDEX].surcharges.items.[INDEX]","typeLabel":"Surcharge on Salary · object"},"uniqueKey":"job.salaries.items.[INDEX].surcharges","typeLabel":"Surcharge on Salary · object[]"},"workloadSurcharges":{"oneOf":[{"description":"Array of workload-based surcharges (calculated from daily/weekly hour thresholds)","type":"array","items":{"type":"object","title":"Surcharge on Salary","description":"Represents a surcharge applied to a salary for special work conditions like night hours, weekends, holidays, or driving time.","required":["seconds"],"properties":{"seconds":{"description":"Duration of the surcharge application in seconds","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].seconds","typeLabel":"integer"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"type":"integer","description":"Surcharge number for ordering/display purposes","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status","typeLabel":"object"},"surchargeId":{"description":"Surcharge ID reference","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].surchargeId","typeLabel":"string\u003cobjectid>"},"name":{"description":"Name of the surcharge (e.g., \"Night Shift\", \"Weekend\", \"Holiday\")","type":"string","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].name","typeLabel":"string"},"surcharge":{"description":"Surcharge percentage (e.g., 25 for 25% surcharge)","type":"number","format":"float","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].surcharge","typeLabel":"number\u003cfloat>"},"surchargeType":{"description":"Type of surcharge: percent or fixed_hourly","type":"string","enum":["percent","fixed_hourly"],"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].surchargeType","typeLabel":"enum\u003cstring>"},"wage":{"description":"Fixed wage per hour (used when surchargeType is fixed_hourly)","type":"number","format":"float","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].wage","typeLabel":"number\u003cfloat>"},"taxFreeType":{"description":"Tax-free category per § 3b EStG","type":"string","enum":["none","night","sunday","holiday","special_holiday"],"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeType","typeLabel":"enum\u003cstring>"},"taxFreeNumber":{"oneOf":[{"description":"Separate payroll number for tax-free portion","type":"integer","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeNumber.oneOf.0","typeLabel":"integer"},{"description":"Separate payroll number for tax-free portion","type":"null","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeNumber","typeLabel":"integer | null"},"activeOn":{"description":"Configuration defining when this surcharge is active","type":"object","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeOn","typeLabel":"object"},"userId":{"description":"User ID (used in salary export rows)","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"date":{"description":"Date (used in salary export rows)","type":"string","format":"date","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].date","typeLabel":"string\u003cdate>"},"activeTimeFrames":{"description":"Time frames when this surcharge was active during the salary period","type":"array","items":{"properties":{"from":{"description":"Start time of the surcharge period","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames.items.[INDEX].from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End time of the surcharge period","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames.items.[INDEX].to","typeLabel":"string\u003cdate-time>"}},"type":"object","uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames.items.[INDEX]","typeLabel":"object"},"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames","typeLabel":"object[]"},"_cash":{"description":"Calculated cash amount for this surcharge (available in combined calculations)","type":"number","format":"float","default":0,"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX]._cash","typeLabel":"number\u003cfloat>"}},"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX]","typeLabel":"Surcharge on Salary · object"},"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.0","typeLabel":"Surcharge on Salary · object[]"},{"description":"Array of workload-based surcharges (calculated from daily/weekly hour thresholds)","type":"null","items":{"type":"object","title":"Surcharge on Salary","description":"Represents a surcharge applied to a salary for special work conditions like night hours, weekends, holidays, or driving time.","required":["seconds"],"properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid"},"number":{"type":"integer","description":"Surcharge number for ordering/display purposes"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid"}]},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid"}]}},"type":"object"},"surchargeId":{"description":"Surcharge ID reference","type":"string","format":"objectid"},"name":{"description":"Name of the surcharge (e.g., \"Night Shift\", \"Weekend\", \"Holiday\")","type":"string"},"surcharge":{"description":"Surcharge percentage (e.g., 25 for 25% surcharge)","type":"number","format":"float"},"surchargeType":{"description":"Type of surcharge: percent or fixed_hourly","type":"string","enum":["percent","fixed_hourly"]},"wage":{"description":"Fixed wage per hour (used when surchargeType is fixed_hourly)","type":"number","format":"float"},"taxFreeType":{"description":"Tax-free category per § 3b EStG","type":"string","enum":["none","night","sunday","holiday","special_holiday"]},"taxFreeNumber":{"oneOf":[{"description":"Separate payroll number for tax-free portion","type":"integer"},{"description":"Separate payroll number for tax-free portion","type":"null"}]},"activeOn":{"description":"Configuration defining when this surcharge is active","type":"object"},"userId":{"description":"User ID (used in salary export rows)","type":"string","format":"objectid"},"date":{"description":"Date (used in salary export rows)","type":"string","format":"date"},"seconds":{"description":"Duration of the surcharge application in seconds","type":"integer","minimum":0},"activeTimeFrames":{"description":"Time frames when this surcharge was active during the salary period","type":"array","items":{"properties":{"from":{"description":"Start time of the surcharge period","type":"string","format":"date-time"},"to":{"description":"End time of the surcharge period","type":"string","format":"date-time"}},"type":"object"}},"_cash":{"description":"Calculated cash amount for this surcharge (available in combined calculations)","type":"number","format":"float","default":0}}},"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].workloadSurcharges","typeLabel":"Surcharge on Salary · object[] | null"},"drivingTime":{"description":"Total driving time in seconds","type":"integer","uniqueKey":"job.salaries.items.[INDEX].drivingTime","typeLabel":"integer"},"drivingTimeFrame":{"oneOf":[{"type":"object","description":"Clock time of the drive as tracked in the app, only set when the driving time was tracked","properties":{"from":{"description":"The start date of the time frame.","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].drivingTimeFrame.oneOf.0.from","typeLabel":"string\u003cdate-time>"},"to":{"description":"The end date of the time frame.","type":"string","format":"date-time","uniqueKey":"job.salaries.items.[INDEX].drivingTimeFrame.oneOf.0.to","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"job.salaries.items.[INDEX].drivingTimeFrame.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"job.salaries.items.[INDEX].drivingTimeFrame.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].drivingTimeFrame","typeLabel":"object | null"},"payTypeId":{"oneOf":[{"description":"Resolved pay type ID (snapshot from creation)","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].payTypeId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Resolved pay type ID (snapshot from creation)","type":"null","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].payTypeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].payTypeId","typeLabel":"string\u003cobjectid> | null"},"payTypeSource":{"oneOf":[{"description":"Source of resolved pay type","type":"string","enum":["user_default","activity_type"],"uniqueKey":"job.salaries.items.[INDEX].payTypeSource.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Source of resolved pay type","type":"null","enum":["user_default","activity_type"],"uniqueKey":"job.salaries.items.[INDEX].payTypeSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].payTypeSource","typeLabel":"enum\u003cstring> | null"},"assignmentId":{"description":"Assignment ID this salary belongs to","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].assignmentId","typeLabel":"string\u003cobjectid>"},"activityTypeId":{"description":"Activity type ID for categorizing work","type":"string","format":"objectid","uniqueKey":"job.salaries.items.[INDEX].activityTypeId","typeLabel":"string\u003cobjectid>"},"releasedBySystem":{"oneOf":[{"description":"Indicates if this salary was released by the system","type":"boolean","uniqueKey":"job.salaries.items.[INDEX].releasedBySystem.oneOf.0","typeLabel":"boolean"},{"description":"Indicates if this salary was released by the system","type":"null","uniqueKey":"job.salaries.items.[INDEX].releasedBySystem.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].releasedBySystem","typeLabel":"boolean | null"},"locked":{"oneOf":[{"description":"Indicates if this salary is locked and cannot be changed or deleted","type":"boolean","uniqueKey":"job.salaries.items.[INDEX].locked.oneOf.0","typeLabel":"boolean"},{"description":"Indicates if this salary is locked and cannot be changed or deleted","type":"null","uniqueKey":"job.salaries.items.[INDEX].locked.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.salaries.items.[INDEX].locked","typeLabel":"boolean | null"}},"uniqueKey":"job.salaries.items.[INDEX]","typeLabel":"Salary · object"},"uniqueKey":"job.salaries","typeLabel":"Salary · object[]"},"splitId":{"oneOf":[{"description":"Split job ID","format":"objected","type":"string","uniqueKey":"job.splitId.oneOf.0","typeLabel":"string\u003cobjected>"},{"description":"Split job ID","format":"objected","type":"null","uniqueKey":"job.splitId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.splitId","typeLabel":"string\u003cobjected> | null"},"acceptedStatus":{"description":"Accepted status","type":"string","uniqueKey":"job.acceptedStatus","typeLabel":"string"},"jobComment":{"description":"Comment for the job","type":"string","uniqueKey":"job.jobComment","typeLabel":"string"},"teamId":{"oneOf":[{"description":"Team ID","format":"objectid","type":"string","uniqueKey":"job.teamId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Team ID","format":"objectid","type":"null","uniqueKey":"job.teamId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.teamId","typeLabel":"string\u003cobjectid> | null"},"activityType":{"oneOf":[{"type":"object","title":"Activity Type","description":"Activity type for the job","required":["name"],"properties":{"name":{"description":"Name of the activity type","type":"string","example":"Unterhaltsreinigung","isRequired":true,"uniqueKey":"job.activityType.oneOf.0.name","typeLabel":"string"},"_id":{"type":"string","description":"Unique identifier for the activity type","format":"objectid","uniqueKey":"job.activityType.oneOf.0._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.activityType.oneOf.0.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.activityType.oneOf.0.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.activityType.oneOf.0.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.activityType.oneOf.0.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.activityType.oneOf.0.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.activityType.oneOf.0.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.activityType.oneOf.0.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.activityType.oneOf.0.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.activityType.oneOf.0.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.activityType.oneOf.0.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.activityType.oneOf.0.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.activityType.oneOf.0.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.activityType.oneOf.0.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.activityType.oneOf.0.status","typeLabel":"object"},"hexCode":{"oneOf":[{"description":"Color code for visual representation in hex format","type":"string","pattern":"^#[0-9A-Fa-f]{6}$","example":"#34c759","uniqueKey":"job.activityType.oneOf.0.hexCode.oneOf.0","typeLabel":"string"},{"description":"Color code for visual representation in hex format","type":"null","pattern":"^#[0-9A-Fa-f]{6}$","example":"#34c759","uniqueKey":"job.activityType.oneOf.0.hexCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.activityType.oneOf.0.hexCode","typeLabel":"string | null"},"description":{"oneOf":[{"description":"Detailed description of the activity type","type":"string","example":"Regular maintenance cleaning activities","uniqueKey":"job.activityType.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Detailed description of the activity type","type":"null","example":"Regular maintenance cleaning activities","uniqueKey":"job.activityType.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.activityType.oneOf.0.description","typeLabel":"string | null"},"payTypeId":{"oneOf":[{"description":"Optional pay type for this activity type. When set, assignments with this activity type may use this pay type instead of the user default (higher wage wins).","type":"string","format":"objectid","uniqueKey":"job.activityType.oneOf.0.payTypeId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Optional pay type for this activity type. When set, assignments with this activity type may use this pay type instead of the user default (higher wage wins).","type":"null","format":"objectid","uniqueKey":"job.activityType.oneOf.0.payTypeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.activityType.oneOf.0.payTypeId","typeLabel":"string\u003cobjectid> | null"}},"uniqueKey":"job.activityType.oneOf.0","typeLabel":"Activity Type · object"},{"type":"null","uniqueKey":"job.activityType.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.activityType","typeLabel":"Activity Type · object | null"},"exceptionJobId":{"oneOf":[{"description":"Exception job ID","format":"objectid","type":"string","uniqueKey":"job.exceptionJobId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Exception job ID","format":"objectid","type":"null","uniqueKey":"job.exceptionJobId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.exceptionJobId","typeLabel":"string\u003cobjectid> | null"},"title":{"description":"Title of the job","type":"string","uniqueKey":"job.title","typeLabel":"string"},"requiredDrivingTime":{"description":"Required driving time in minutes","type":"integer","format":"float","uniqueKey":"job.requiredDrivingTime","typeLabel":"integer\u003cfloat>"},"requiredBreakTime":{"description":"Required break time in minutes","type":"integer","format":"float","uniqueKey":"job.requiredBreakTime","typeLabel":"integer\u003cfloat>"},"started":{"description":"Job started entries","type":"array","items":{"title":"JobStartedStruct","description":"This is the structure that is used to store the information about a started job.","properties":{"trackingJobDate":{"description":"The date when the job was started.","type":"string","format":"date-time","uniqueKey":"job.started.items.[INDEX].trackingJobDate","typeLabel":"string\u003cdate-time>"},"userId":{"description":"The ID of the user on the job.","type":"string","format":"object-id","uniqueKey":"job.started.items.[INDEX].userId","typeLabel":"string\u003cobject-id>"},"time":{"description":"The time when the job was started.","type":"string","format":"date-time","uniqueKey":"job.started.items.[INDEX].time","typeLabel":"string\u003cdate-time>"},"isLive":{"description":"Indicates if the job is live or already finished.","type":"boolean","uniqueKey":"job.started.items.[INDEX].isLive","typeLabel":"boolean"},"wasAddedManually":{"description":"This indicates if the started variable was added due to that the time tracking was added manually later","type":"boolean","uniqueKey":"job.started.items.[INDEX].wasAddedManually","typeLabel":"boolean"},"salaryId":{"description":"The Salary that created the stared object.\nmay not be setted","uniqueKey":"job.started.items.[INDEX].salaryId","typeLabel":"any"}},"type":"object","uniqueKey":"job.started.items.[INDEX]","typeLabel":"JobStartedStruct · object"},"uniqueKey":"job.started","typeLabel":"JobStartedStruct · object[]"},"absences":{"description":"Absences related to the job","type":"array","items":{"type":"object","title":"JobAbsencesStruct","description":"This struct contains the absences that affect a job.","required":["absenceId","dtStart","dtEnd","calculationType"],"properties":{"absenceId":{"description":"The ID of the absence that affects this job.","type":"string","format":"objectId","isRequired":true,"uniqueKey":"job.absences.items.[INDEX].absenceId","typeLabel":"string\u003cobjectId>"},"dtStart":{"description":"The start date and time of the absence.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"job.absences.items.[INDEX].dtStart","typeLabel":"string\u003cdate-time>"},"dtEnd":{"description":"The end date and time of the absence.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"job.absences.items.[INDEX].dtEnd","typeLabel":"string\u003cdate-time>"},"calculationType":{"description":"The type of calculation for the absence.","type":"string","isRequired":true,"uniqueKey":"job.absences.items.[INDEX].calculationType","typeLabel":"string"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"job.absences.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"job.absences.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"job.absences.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"job.absences.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"job.absences.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"job.absences.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"job.absences.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"job.absences.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"job.absences.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"job.absences.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.absences.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"job.absences.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"job.absences.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.absences.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"job.absences.items.[INDEX].status","typeLabel":"object"}},"uniqueKey":"job.absences.items.[INDEX]","typeLabel":"JobAbsencesStruct · object"},"uniqueKey":"job.absences","typeLabel":"JobAbsencesStruct · object[]"},"documentIds":{"description":"Document IDs related to the job","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"job.documentIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"uniqueKey":"job.documentIds","typeLabel":"string\u003cobjectid>[]"},"serviceReportId":{"oneOf":[{"description":"Service Report ID if job is linked to a service report","format":"objectid","type":"string","uniqueKey":"job.serviceReportId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Service Report ID if job is linked to a service report","format":"objectid","type":"null","uniqueKey":"job.serviceReportId.oneOf.1","typeLabel":"null"}],"uniqueKey":"job.serviceReportId","typeLabel":"string\u003cobjectid> | null"}},"isRequired":true,"uniqueKey":"job","typeLabel":"Job · object"},"userIds":{"description":"The full set of assigned users after the update. Omitting it unassigns the current users.","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"userIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"uniqueKey":"userIds","typeLabel":"string\u003cobjectid>[]"},"type":{"description":"Edit only this occurrence or this and all future ones. Default: FUTURE","type":"string","enum":["THIS","FUTURE"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"splitDate":{"description":"Occurrence date where the series is split (epoch ms)","type":"integer","format":"int64","uniqueKey":"splitDate","typeLabel":"integer\u003cint64>"},"exDate":{"description":"Occurrence date to exclude from the series (epoch ms)","type":"integer","format":"int64","uniqueKey":"exDate","typeLabel":"integer\u003cint64>"},"changedFrom":{"description":"Date the occurrence was moved from (epoch ms)","type":"integer","format":"int64","uniqueKey":"changedFrom","typeLabel":"integer\u003cint64>"},"changedTo":{"description":"Date the occurrence was moved to (epoch ms)","type":"integer","format":"int64","uniqueKey":"changedTo","typeLabel":"integer\u003cint64>"},"unset":{"description":"Job fields to remove","type":"array","items":{"type":"string","uniqueKey":"unset.items.[INDEX]","typeLabel":"string"},"uniqueKey":"unset","typeLabel":"string[]"}},"type":"object","uniqueKey":"","typeLabel":"object"},"example":{"job":{"targetTime":3600,"iCalendar":{"frequency":"WEEKLY","interval":1,"dtstart":"1793865600000","byDay":["MO"]}},"userIds":["665f1c2e9b1e8a0012345678"],"type":"FUTURE"},"examples":{"Example":{"title":"Example","value":{"job":{"targetTime":3600,"iCalendar":{"frequency":"WEEKLY","interval":1,"dtstart":"1793865600000","byDay":["MO"]}},"userIds":["665f1c2e9b1e8a0012345678"],"type":"FUTURE"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"aa776d28-87a7-49b9-aace-6b86f5a3eb2c":{"description":"Job updated","content":{"application/json":{"schema":{"type":"object","title":"Job","description":"A job assigned to a user or object, with scheduling, assignment, and status information. Inherits common fields from ChatableEntityModel.","properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"_id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"chatId","typeLabel":"string\u003cobjectid> | null"},"assignmentId":{"description":"Assignment ID","format":"objectid","type":"string","uniqueKey":"assignmentId","typeLabel":"string\u003cobjectid>"},"targetTime":{"description":"Target time for the job in seconds (at most 86400)","type":"number","format":"float","uniqueKey":"targetTime","typeLabel":"number\u003cfloat>"},"from":{"description":"Start time of the job","format":"date-time","type":"string","uniqueKey":"from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End time of the job","format":"date-time","type":"string","uniqueKey":"to","typeLabel":"string\u003cdate-time>"},"userId":{"description":"ID of the user","type":"string","format":"objectid","uniqueKey":"userId","typeLabel":"string\u003cobjectid>"},"wrapperId":{"oneOf":[{"description":"Wrapper ID","type":"string","format":"objectid","uniqueKey":"wrapperId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Wrapper ID","type":"null","format":"objectid","uniqueKey":"wrapperId.oneOf.1","typeLabel":"null"}],"uniqueKey":"wrapperId","typeLabel":"string\u003cobjectid> | null"},"absenceId":{"description":"Absence Id, if this job is connected to an absence (if it needs a replacement)","type":"string","format":"objectid","uniqueKey":"absenceId","typeLabel":"string\u003cobjectid>"},"iCalendar":{"description":"Represents a structured iCalendar object with recurrence rules","properties":{"frequency":{"description":"Recurrence frequency (e.g., DAILY, WEEKLY, MONTHLY)","type":"string","uniqueKey":"iCalendar.frequency","typeLabel":"string"},"tzid":{"description":"Time zone ID for the recurrence rule","type":"string","uniqueKey":"iCalendar.tzid","typeLabel":"string"},"interval":{"description":"Interval between occurrences","type":"integer","uniqueKey":"iCalendar.interval","typeLabel":"integer"},"rrule":{"description":"Recurrence rule as a string","type":"string","deprecated":true,"uniqueKey":"iCalendar.rrule","typeLabel":"string"},"bySetPos":{"description":"Position in the set for monthly recurrences","type":"integer","uniqueKey":"iCalendar.bySetPos","typeLabel":"integer"},"byDay":{"description":"Days of the week for the recurrence","type":"array","items":{"type":"string","uniqueKey":"iCalendar.byDay.items.[INDEX]","typeLabel":"string"},"uniqueKey":"iCalendar.byDay","typeLabel":"string[]"},"byMonthDay":{"description":"Day of the month for the recurrence","type":"string","uniqueKey":"iCalendar.byMonthDay","typeLabel":"string"},"byMonth":{"description":"Months for the recurrence","type":"array","items":{"type":"integer","uniqueKey":"iCalendar.byMonth.items.[INDEX]","typeLabel":"integer"},"uniqueKey":"iCalendar.byMonth","typeLabel":"integer[]"},"dtstart":{"oneOf":[{"type":"string","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1793865600000","uniqueKey":"iCalendar.dtstart.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1793865600000","uniqueKey":"iCalendar.dtstart.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"iCalendar.dtstart","typeLabel":"string | integer\u003cint64>"},"dtend":{"oneOf":[{"type":"string","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1796457600000","uniqueKey":"iCalendar.dtend.oneOf.0","typeLabel":"string"},{"type":"integer","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1796457600000","uniqueKey":"iCalendar.dtend.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"iCalendar.dtend","typeLabel":"string | integer\u003cint64>"},"exDate":{"description":"Exception dates for the recurrence (epoch ms; job responses return integers, requests also accept digit strings)","type":"array","items":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"iCalendar.exDate.items.[INDEX].oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"string","pattern":"^[0-9]+$","uniqueKey":"iCalendar.exDate.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"iCalendar.exDate.items.[INDEX]","typeLabel":"integer\u003cint64> | string"},"uniqueKey":"iCalendar.exDate","typeLabel":"(integer\u003cint64> | string)[]"}},"type":"object","uniqueKey":"iCalendar","typeLabel":"object"},"assignment":{"type":"object","title":"Assignment","description":"An Assignment acts as the overall structure for jobs. They contain information about what kind of work should be done, where it should be done and how it should be billed. Assignments can be used to track the time spent on a job, the materials used and the costs incurred.","properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"assignment._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"assignment.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"assignment.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"assignment.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"assignment.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"assignment.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"assignment.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"assignment.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"assignment.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"assignment.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"assignment.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"assignment.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"assignment.status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"assignment.chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"assignment.chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.chatId","typeLabel":"string\u003cobjectid> | null"},"objectId":{"oneOf":[{"description":"ID of the customer object where this assignment is performed","type":"string","format":"objectid","example":"507f1f77bcf86cd799439011","uniqueKey":"assignment.objectId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the customer object where this assignment is performed","type":"null","format":"objectid","example":"507f1f77bcf86cd799439011","uniqueKey":"assignment.objectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.objectId","typeLabel":"string\u003cobjectid> | null"},"customerId":{"oneOf":[{"description":"ID of the customer who owns this assignment","type":"string","format":"objectid","example":"507f1f77bcf86cd799439012","uniqueKey":"assignment.customerId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the customer who owns this assignment","type":"null","format":"objectid","example":"507f1f77bcf86cd799439012","uniqueKey":"assignment.customerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.customerId","typeLabel":"string\u003cobjectid> | null"},"title":{"oneOf":[{"description":"Title or name of the assignment","type":"string","example":"Monthly Cleaning Service","uniqueKey":"assignment.title.oneOf.0","typeLabel":"string"},{"description":"Title or name of the assignment","type":"null","example":"Monthly Cleaning Service","uniqueKey":"assignment.title.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.title","typeLabel":"string | null"},"iCalendar":{"oneOf":[{"type":"object","description":"Calendar configuration defining when and how often this assignment occurs","properties":{"frequency":{"description":"Recurrence frequency (e.g., DAILY, WEEKLY, MONTHLY)","type":"string","uniqueKey":"assignment.iCalendar.oneOf.0.frequency","typeLabel":"string"},"tzid":{"description":"Time zone ID for the recurrence rule","type":"string","uniqueKey":"assignment.iCalendar.oneOf.0.tzid","typeLabel":"string"},"interval":{"description":"Interval between occurrences","type":"integer","uniqueKey":"assignment.iCalendar.oneOf.0.interval","typeLabel":"integer"},"rrule":{"description":"Recurrence rule as a string","type":"string","deprecated":true,"uniqueKey":"assignment.iCalendar.oneOf.0.rrule","typeLabel":"string"},"bySetPos":{"description":"Position in the set for monthly recurrences","type":"integer","uniqueKey":"assignment.iCalendar.oneOf.0.bySetPos","typeLabel":"integer"},"byDay":{"description":"Days of the week for the recurrence","type":"array","items":{"type":"string","uniqueKey":"assignment.iCalendar.oneOf.0.byDay.items.[INDEX]","typeLabel":"string"},"uniqueKey":"assignment.iCalendar.oneOf.0.byDay","typeLabel":"string[]"},"byMonthDay":{"description":"Day of the month for the recurrence","type":"string","uniqueKey":"assignment.iCalendar.oneOf.0.byMonthDay","typeLabel":"string"},"byMonth":{"description":"Months for the recurrence","type":"array","items":{"type":"integer","uniqueKey":"assignment.iCalendar.oneOf.0.byMonth.items.[INDEX]","typeLabel":"integer"},"uniqueKey":"assignment.iCalendar.oneOf.0.byMonth","typeLabel":"integer[]"},"dtstart":{"oneOf":[{"type":"string","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1793865600000","uniqueKey":"assignment.iCalendar.oneOf.0.dtstart.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Start date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1793865600000","uniqueKey":"assignment.iCalendar.oneOf.0.dtstart.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"assignment.iCalendar.oneOf.0.dtstart","typeLabel":"string | integer\u003cint64>"},"dtend":{"oneOf":[{"type":"string","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","pattern":"^[0-9]+$","example":"1796457600000","uniqueKey":"assignment.iCalendar.oneOf.0.dtend.oneOf.0","typeLabel":"string"},{"type":"integer","description":"End date and time of the recurrence (epoch ms; responses use the digit string, requests also accept an integer)","format":"int64","example":"1796457600000","uniqueKey":"assignment.iCalendar.oneOf.0.dtend.oneOf.1","typeLabel":"integer\u003cint64>"}],"uniqueKey":"assignment.iCalendar.oneOf.0.dtend","typeLabel":"string | integer\u003cint64>"},"exDate":{"description":"Exception dates for the recurrence (epoch ms; job responses return integers, requests also accept digit strings)","type":"array","items":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"assignment.iCalendar.oneOf.0.exDate.items.[INDEX].oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"string","pattern":"^[0-9]+$","uniqueKey":"assignment.iCalendar.oneOf.0.exDate.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"assignment.iCalendar.oneOf.0.exDate.items.[INDEX]","typeLabel":"integer\u003cint64> | string"},"uniqueKey":"assignment.iCalendar.oneOf.0.exDate","typeLabel":"(integer\u003cint64> | string)[]"}},"uniqueKey":"assignment.iCalendar.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"assignment.iCalendar.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.iCalendar","typeLabel":"object | null"},"material":{"oneOf":[{"description":"Materials or products associated with this assignment","type":"array","items":{"type":"object","uniqueKey":"assignment.material.oneOf.0.items.[INDEX]","typeLabel":"object"},"example":[{"productId":"507f1f77bcf86cd799439013","quantity":2}],"uniqueKey":"assignment.material.oneOf.0","typeLabel":"object[]"},{"description":"Materials or products associated with this assignment","type":"null","items":{"type":"object"},"example":[{"productId":"507f1f77bcf86cd799439013","quantity":2}],"uniqueKey":"assignment.material.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.material","typeLabel":"object[] | null"},"activityTypeId":{"oneOf":[{"description":"ID of the activity type defining what kind of work is performed","type":"string","format":"objectid","example":"507f1f77bcf86cd799439014","uniqueKey":"assignment.activityTypeId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the activity type defining what kind of work is performed","type":"null","format":"objectid","example":"507f1f77bcf86cd799439014","uniqueKey":"assignment.activityTypeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.activityTypeId","typeLabel":"string\u003cobjectid> | null"},"comment":{"oneOf":[{"description":"Additional comments or notes for this assignment","type":"string","example":"Special instructions for weekend work","uniqueKey":"assignment.comment.oneOf.0","typeLabel":"string"},{"description":"Additional comments or notes for this assignment","type":"null","example":"Special instructions for weekend work","uniqueKey":"assignment.comment.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.comment","typeLabel":"string | null"},"documentIds":{"description":"Array of document IDs attached to this assignment","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"assignment.documentIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"example":["507f1f77bcf86cd799439015","507f1f77bcf86cd799439016"],"uniqueKey":"assignment.documentIds","typeLabel":"string\u003cobjectid>[]"},"billing":{"oneOf":[{"type":"object","description":"Billing configuration for this assignment including pricing and invoice settings","properties":{"type":{"description":"Type of billing","type":"string","enum":["MANUAL","RECURRING","ON_EVENT"],"uniqueKey":"assignment.billing.oneOf.0.type","typeLabel":"enum\u003cstring>"},"positions":{"description":"Array of positions/line items for invoice generation","type":"array","items":{"oneOf":[{"type":"object","title":"Invoice Position","description":"Represents a line item position in an invoice, offer, or credit note. Contains pricing, tax, and product information.","required":["quantity","unit","price","tax","title"],"properties":{"quantity":{"description":"Quantity of the item or service","type":"number","format":"float","minimum":0,"example":2.5,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.quantity","typeLabel":"number\u003cfloat>"},"unit":{"description":"Unit of measurement (e.g., \"hours\", \"pieces\", \"kg\")","type":"string","example":"hours","isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.unit","typeLabel":"string"},"price":{"description":"Unit price of the item or service","type":"number","format":"float","minimum":0,"example":32.5,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.price","typeLabel":"number\u003cfloat>"},"tax":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax) - deprecated, use taxRate instead","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"deprecated":true,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.tax","typeLabel":"number\u003cfloat>"},"title":{"description":"Title or name of the item or service","type":"string","example":"Cleaning Service","isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.title","typeLabel":"string"},"type":{"description":"Type of the position","type":"string","enum":["INVOICE_POSITION","PRODUCT_POSITION","TEXT_POSITION","DYNAMIC_POSITION"],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"taxRate":{"oneOf":[{"type":"object","title":"TaxRate","description":"Tax rate object containing detailed tax information","required":["type","rate"],"properties":{"type":{"description":"Type of tax rate (VAT, ZERO_RATE, EXEMPT, REVERSE_CHARGE)","type":"string","enum":["VAT","ZERO_RATE","EXEMPT","REVERSE_CHARGE"],"example":"VAT","isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.type","typeLabel":"enum\u003cstring>"},"rate":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax, 0.07 for 7% tax)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.rate","typeLabel":"number\u003cfloat>"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.status","typeLabel":"object"},"description":{"oneOf":[{"description":"Human-readable description of the tax rate","type":"string","example":"Regelsteuersatz","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Human-readable description of the tax rate","type":"null","example":"Regelsteuersatz","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.description","typeLabel":"string | null"},"bookingAccountNumber":{"oneOf":[{"description":"Booking account number for accounting integration","type":"string","example":"8400","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Booking account number for accounting integration","type":"null","example":"8400","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number for early payment discounts","type":"string","example":"8405","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number for early payment discounts","type":"null","example":"8405","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.skontoBookingAccountNumber","typeLabel":"string | null"},"default":{"description":"Whether this is a system default tax rate (cannot be deleted)","type":"boolean","example":false,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0.default","typeLabel":"boolean"}},"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.0","typeLabel":"TaxRate · object"},{"type":"null","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.taxRate","typeLabel":"TaxRate · object | null"},"description":{"oneOf":[{"description":"Description of the item or service","type":"string","example":"Detailed description of the cleaning service","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Description of the item or service","type":"null","example":"Detailed description of the cleaning service","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.description","typeLabel":"string | null"},"discount":{"oneOf":[{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.discount.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"null","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.discount.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.discount","typeLabel":"number\u003cfloat> | null"},"productId":{"oneOf":[{"description":"Identifier for the product associated with this invoice position","type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.productId.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Identifier for the product associated with this invoice position","type":"null","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.productId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.productId","typeLabel":"string\u003cuuid> | null"},"includedWageCostFactor":{"oneOf":[{"description":"Wage cost factor included in the price, used for internal calculations","type":"number","format":"float","example":0.95,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.includedWageCostFactor.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Wage cost factor included in the price, used for internal calculations","type":"null","format":"float","example":0.95,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.includedWageCostFactor.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.includedWageCostFactor","typeLabel":"number\u003cfloat> | null"},"isOptional":{"oneOf":[{"description":"If true, the position will not be included in the total price calculation","type":"boolean","example":false,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.isOptional.oneOf.0","typeLabel":"boolean"},{"description":"If true, the position will not be included in the total price calculation","type":"null","example":false,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.isOptional.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.isOptional","typeLabel":"boolean | null"},"bookingAccountNumber":{"oneOf":[{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"string","example":"ACC-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"null","example":"ACC-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number, used for early payment discounts","type":"string","example":"SKONTO-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number, used for early payment discounts","type":"null","example":"SKONTO-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.skontoBookingAccountNumber","typeLabel":"string | null"},"assignmentId":{"oneOf":[{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.assignmentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"null","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.assignmentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0.assignmentId","typeLabel":"string\u003cobjectid> | null"}},"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.0","typeLabel":"Invoice Position · object"},{"type":"object","title":"Text Position","description":"A simple Text position for an invoice. This position is used to add custom text\n to an invoice, e.g. for notes or additional information.","properties":{"type":{"description":"Type of the position","type":"string","enum":["INVOICE_POSITION","PRODUCT_POSITION","TEXT_POSITION","DYNAMIC_POSITION"],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"text":{"description":"The text content of the position","type":"string","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.1.text","typeLabel":"string"}},"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.1","typeLabel":"Text Position · object"},{"type":"object","title":"Dynamic Position","description":"A dynamic position in an assignment, which can be converted to a standard invoice position.","required":["quantity","unit","price","tax","title"],"properties":{"quantity":{"description":"Quantity of the item or service","type":"number","format":"float","minimum":0,"example":2.5,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.quantity","typeLabel":"number\u003cfloat>"},"unit":{"description":"Unit of measurement (e.g., \"hours\", \"pieces\", \"kg\")","type":"string","example":"hours","isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.unit","typeLabel":"string"},"price":{"description":"Unit price of the item or service","type":"number","format":"float","minimum":0,"example":32.5,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.price","typeLabel":"number\u003cfloat>"},"tax":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax) - deprecated, use taxRate instead","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"deprecated":true,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.tax","typeLabel":"number\u003cfloat>"},"title":{"description":"Title or name of the item or service","type":"string","example":"Cleaning Service","isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.title","typeLabel":"string"},"type":{"description":"Type of the position","type":"string","enum":["INVOICE_POSITION","PRODUCT_POSITION","TEXT_POSITION","DYNAMIC_POSITION"],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"taxRate":{"oneOf":[{"type":"object","title":"TaxRate","description":"Tax rate object containing detailed tax information","required":["type","rate"],"properties":{"type":{"description":"Type of tax rate (VAT, ZERO_RATE, EXEMPT, REVERSE_CHARGE)","type":"string","enum":["VAT","ZERO_RATE","EXEMPT","REVERSE_CHARGE"],"example":"VAT","isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.type","typeLabel":"enum\u003cstring>"},"rate":{"description":"Tax rate as decimal (e.g., 0.19 for 19% tax, 0.07 for 7% tax)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.19,"isRequired":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.rate","typeLabel":"number\u003cfloat>"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.status","typeLabel":"object"},"description":{"oneOf":[{"description":"Human-readable description of the tax rate","type":"string","example":"Regelsteuersatz","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Human-readable description of the tax rate","type":"null","example":"Regelsteuersatz","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.description","typeLabel":"string | null"},"bookingAccountNumber":{"oneOf":[{"description":"Booking account number for accounting integration","type":"string","example":"8400","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Booking account number for accounting integration","type":"null","example":"8400","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number for early payment discounts","type":"string","example":"8405","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number for early payment discounts","type":"null","example":"8405","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.skontoBookingAccountNumber","typeLabel":"string | null"},"default":{"description":"Whether this is a system default tax rate (cannot be deleted)","type":"boolean","example":false,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0.default","typeLabel":"boolean"}},"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.0","typeLabel":"TaxRate · object"},{"type":"null","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.taxRate","typeLabel":"TaxRate · object | null"},"description":{"oneOf":[{"description":"Description of the item or service","type":"string","example":"Detailed description of the cleaning service","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.description.oneOf.0","typeLabel":"string"},{"description":"Description of the item or service","type":"null","example":"Detailed description of the cleaning service","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.description","typeLabel":"string | null"},"discount":{"oneOf":[{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"number","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.discount.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Discount applicable to the item or service, represented as a decimal (e.g., 0.1 for 10% discount)","type":"null","format":"float","maximum":1,"minimum":0,"example":0.1,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.discount.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.discount","typeLabel":"number\u003cfloat> | null"},"productId":{"oneOf":[{"description":"Identifier for the product associated with this invoice position","type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.productId.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Identifier for the product associated with this invoice position","type":"null","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.productId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.productId","typeLabel":"string\u003cuuid> | null"},"includedWageCostFactor":{"oneOf":[{"description":"Wage cost factor included in the price, used for internal calculations","type":"number","format":"float","example":0.95,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.includedWageCostFactor.oneOf.0","typeLabel":"number\u003cfloat>"},{"description":"Wage cost factor included in the price, used for internal calculations","type":"null","format":"float","example":0.95,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.includedWageCostFactor.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.includedWageCostFactor","typeLabel":"number\u003cfloat> | null"},"isOptional":{"oneOf":[{"description":"If true, the position will not be included in the total price calculation","type":"boolean","example":false,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.isOptional.oneOf.0","typeLabel":"boolean"},{"description":"If true, the position will not be included in the total price calculation","type":"null","example":false,"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.isOptional.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.isOptional","typeLabel":"boolean | null"},"bookingAccountNumber":{"oneOf":[{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"string","example":"ACC-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.bookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Used when the invoice is fixed, so that later changes for the product can not overwrite the original number","type":"null","example":"ACC-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.bookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.bookingAccountNumber","typeLabel":"string | null"},"skontoBookingAccountNumber":{"oneOf":[{"description":"Skonto booking account number, used for early payment discounts","type":"string","example":"SKONTO-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.skontoBookingAccountNumber.oneOf.0","typeLabel":"string"},{"description":"Skonto booking account number, used for early payment discounts","type":"null","example":"SKONTO-123456","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.skontoBookingAccountNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.skontoBookingAccountNumber","typeLabel":"string | null"},"assignmentId":{"oneOf":[{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"string","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.assignmentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the assignment this position originates from (for collective invoices, used for cost unit in exports)","type":"null","format":"objectid","uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.assignmentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.assignmentId","typeLabel":"string\u003cobjectid> | null"},"dynamicType":{"description":"The calculation type for this position, i.e. whether the actual working time,\n the planned time, the confirmed time or the number of job occurences should be used.","type":"string","enum":["PLANNED_TIME","WORKING_TIME","SALARY_TIME","JOB_COUNT"],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2.dynamicType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX].oneOf.2","typeLabel":"Dynamic Position · object"}],"uniqueKey":"assignment.billing.oneOf.0.positions.items.[INDEX]","typeLabel":"Invoice Position · object | Text Position · object | Dynamic Position · object"},"uniqueKey":"assignment.billing.oneOf.0.positions","typeLabel":"(Invoice Position · object | Text Position · object | Dynamic Position · object)[]"},"lastInvoiceDate":{"description":"Date of the last invoice","type":"string","format":"date-time","uniqueKey":"assignment.billing.oneOf.0.lastInvoiceDate","typeLabel":"string\u003cdate-time>"},"defaultInvoiceTemplateId":{"description":"Default invoice template ID for automatic invoice creation","type":"string","format":"objectId","uniqueKey":"assignment.billing.oneOf.0.defaultInvoiceTemplateId","typeLabel":"string\u003cobjectId>"}},"uniqueKey":"assignment.billing.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"assignment.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.billing","typeLabel":"object | null"},"quota":{"description":"The Assignment Quota defines the quota for an assignment","properties":{"enabled":{"description":"Are quotas enabled","type":"boolean","uniqueKey":"assignment.quota.enabled","typeLabel":"boolean"},"quotaCalculation":{"description":"How is the Assignment Quota calculated?","type":"string","enum":["once","weekly","monthly"],"uniqueKey":"assignment.quota.quotaCalculation","typeLabel":"enum\u003cstring>"},"total":{"description":"The quota total. The meaning of this value is dependent on the quotaCalculation","type":"number","format":"float","uniqueKey":"assignment.quota.total","typeLabel":"number\u003cfloat>"},"billingRateEnabled":{"description":"Is the billing rate calculation enabled","type":"boolean","uniqueKey":"assignment.quota.billingRateEnabled","typeLabel":"boolean"},"billingRateCalculation":{"description":"Defines how the billingRate is calculated","type":"string","enum":["hourly","flat","dynamic"],"uniqueKey":"assignment.quota.billingRateCalculation","typeLabel":"enum\u003cstring>"},"billingRateAmount":{"description":"The billing rate amount. The meaning of this value is dependent on the billingRateCalculation","type":"number","format":"float","uniqueKey":"assignment.quota.billingRateAmount","typeLabel":"number\u003cfloat>"},"expectedMargin":{"description":"The Margin the customer expects. We use this number to calculate the real margin of the customer. Value should be between 0.0 - 1.0","type":"number","format":"float","uniqueKey":"assignment.quota.expectedMargin","typeLabel":"number\u003cfloat>"}},"type":"object","uniqueKey":"assignment.quota","typeLabel":"object"},"autoGenerateInvoiceError":{"oneOf":[{"description":"Error information from automatic invoice generation, if any","type":"object","uniqueKey":"assignment.autoGenerateInvoiceError.oneOf.0","typeLabel":"object"},{"description":"Error information from automatic invoice generation, if any","type":"null","uniqueKey":"assignment.autoGenerateInvoiceError.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.autoGenerateInvoiceError","typeLabel":"object | null"},"costUnit":{"oneOf":[{"description":"The cost unit of the assignment. Can be set to an arbitrary string","type":"string","uniqueKey":"assignment.costUnit.oneOf.0","typeLabel":"string"},{"description":"The cost unit of the assignment. Can be set to an arbitrary string","type":"null","uniqueKey":"assignment.costUnit.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.costUnit","typeLabel":"string | null"},"jobChatId":{"oneOf":[{"description":"ID of the chat that all jobs under this assignment share","type":"string","format":"objectid","example":"507f1f77bcf86cd799439017","uniqueKey":"assignment.jobChatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat that all jobs under this assignment share","type":"null","format":"objectid","example":"507f1f77bcf86cd799439017","uniqueKey":"assignment.jobChatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.jobChatId","typeLabel":"string\u003cobjectid> | null"},"useUserPayTypeOnly":{"oneOf":[{"description":"When true, always use the user default pay type instead of the activity type pay type","type":"boolean","uniqueKey":"assignment.useUserPayTypeOnly.oneOf.0","typeLabel":"boolean"},{"description":"When true, always use the user default pay type instead of the activity type pay type","type":"null","uniqueKey":"assignment.useUserPayTypeOnly.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.useUserPayTypeOnly","typeLabel":"boolean | null"},"linkedCache":{"oneOf":[{"description":"Cached data linked to this assignment for performance optimization","type":"array","items":{"type":"object","uniqueKey":"assignment.linkedCache.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"assignment.linkedCache.oneOf.0","typeLabel":"object[]"},{"description":"Cached data linked to this assignment for performance optimization","type":"null","items":{"type":"object"},"uniqueKey":"assignment.linkedCache.oneOf.1","typeLabel":"null"}],"uniqueKey":"assignment.linkedCache","typeLabel":"object[] | null"}},"uniqueKey":"assignment","typeLabel":"Assignment · object"},"masterJobId":{"description":"Master job ID if this is a replacement job","format":"objectid","type":"string","uniqueKey":"masterJobId","typeLabel":"string\u003cobjectid>"},"timeTrackings":{"description":"Time tracking entries for the job","type":"array","items":{"type":"object","title":"Time Tracking Entry","description":"A time tracking entry recording work time for a job, including start/end times, location data, and status information","properties":{"_id":{"type":"string","description":"Unique identifier for the time tracking entry","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"timeTrackings.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"timeTrackings.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"timeTrackings.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"timeTrackings.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"timeTrackings.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"timeTrackings.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"timeTrackings.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"timeTrackings.items.[INDEX].status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"timeTrackings.items.[INDEX].chatId","typeLabel":"string\u003cobjectid> | null"},"userId":{"description":"ID of the user who performed the work","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"jobId":{"description":"ID of the job being tracked","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].jobId","typeLabel":"string\u003cobjectid>"},"objectId":{"description":"ID of the customer object/location where work was performed","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].objectId","typeLabel":"string\u003cobjectid>"},"timeStart":{"description":"Start timestamp of the work period (UTC)","type":"string","format":"date-time","uniqueKey":"timeTrackings.items.[INDEX].timeStart","typeLabel":"string\u003cdate-time>"},"timeEnd":{"description":"End timestamp of the work period (UTC)","type":"string","format":"date-time","uniqueKey":"timeTrackings.items.[INDEX].timeEnd","typeLabel":"string\u003cdate-time>"},"workingTime":{"description":"Actual working time in seconds (timeEnd - timeStart - break)","type":"integer","minimum":0,"uniqueKey":"timeTrackings.items.[INDEX].workingTime","typeLabel":"integer"},"targetTime":{"description":"Target/expected working time in seconds","type":"integer","minimum":0,"uniqueKey":"timeTrackings.items.[INDEX].targetTime","typeLabel":"integer"},"break":{"description":"Break time in seconds","type":"integer","minimum":0,"uniqueKey":"timeTrackings.items.[INDEX].break","typeLabel":"integer"},"requiredBreakTime":{"description":"Legally required break time in seconds","type":"integer","minimum":0,"uniqueKey":"timeTrackings.items.[INDEX].requiredBreakTime","typeLabel":"integer"},"type":{"description":"Type of time tracking entry","type":"string","enum":["default","simple","offline","driving","manual"],"uniqueKey":"timeTrackings.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"location":{"description":"GPS coordinates where work started","properties":{"latitude":{"type":"number","format":"float","uniqueKey":"timeTrackings.items.[INDEX].location.latitude","typeLabel":"number\u003cfloat>"},"longitude":{"type":"number","format":"float","uniqueKey":"timeTrackings.items.[INDEX].location.longitude","typeLabel":"number\u003cfloat>"}},"type":"object","uniqueKey":"timeTrackings.items.[INDEX].location","typeLabel":"object"},"logOutLocation":{"description":"GPS coordinates where work ended","properties":{"latitude":{"type":"number","format":"float","uniqueKey":"timeTrackings.items.[INDEX].logOutLocation.latitude","typeLabel":"number\u003cfloat>"},"longitude":{"type":"number","format":"float","uniqueKey":"timeTrackings.items.[INDEX].logOutLocation.longitude","typeLabel":"number\u003cfloat>"}},"type":"object","uniqueKey":"timeTrackings.items.[INDEX].logOutLocation","typeLabel":"object"},"approved":{"description":"Whether the time tracking entry has been approved for billing","type":"boolean","uniqueKey":"timeTrackings.items.[INDEX].approved","typeLabel":"boolean"},"cancelled":{"description":"Whether the time tracking entry has been cancelled","type":"boolean","uniqueKey":"timeTrackings.items.[INDEX].cancelled","typeLabel":"boolean"},"offline":{"description":"Whether the entry was created while offline","type":"boolean","uniqueKey":"timeTrackings.items.[INDEX].offline","typeLabel":"boolean"},"generatedByUser":{"description":"Whether the entry was manually created by a user","type":"boolean","uniqueKey":"timeTrackings.items.[INDEX].generatedByUser","typeLabel":"boolean"},"editedByManager":{"description":"Whether the entry was modified by a manager","type":"boolean","uniqueKey":"timeTrackings.items.[INDEX].editedByManager","typeLabel":"boolean"},"trackingJobDate":{"description":"Date for which the work was scheduled/performed (UTC)","type":"string","format":"date-time","uniqueKey":"timeTrackings.items.[INDEX].trackingJobDate","typeLabel":"string\u003cdate-time>"},"comment":{"description":"Additional comments or notes about the work performed","type":"string","uniqueKey":"timeTrackings.items.[INDEX].comment","typeLabel":"string"},"reason":{"description":"Reason for manual time tracking entry creation","type":"string","uniqueKey":"timeTrackings.items.[INDEX].reason","typeLabel":"string"},"errors":{"description":"Array of error codes preventing automatic salary release","type":"array","items":{"type":"string","uniqueKey":"timeTrackings.items.[INDEX].errors.items.[INDEX]","typeLabel":"string"},"uniqueKey":"timeTrackings.items.[INDEX].errors","typeLabel":"string[]"},"allFoundErrors":{"description":"Array of all detected errors during time tracking validation","type":"array","items":{"type":"string","uniqueKey":"timeTrackings.items.[INDEX].allFoundErrors.items.[INDEX]","typeLabel":"string"},"uniqueKey":"timeTrackings.items.[INDEX].allFoundErrors","typeLabel":"string[]"},"salaryIds":{"description":"Array of salary IDs created from this time tracking entry","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].salaryIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"uniqueKey":"timeTrackings.items.[INDEX].salaryIds","typeLabel":"string\u003cobjectid>[]"},"objectManagerId":{"description":"ID of the object manager responsible for this entry","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].objectManagerId","typeLabel":"string\u003cobjectid>"},"signingId":{"description":"ID of associated signing document","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].signingId","typeLabel":"string\u003cobjectid>"},"activityTypeId":{"description":"ID of the activity type performed","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].activityTypeId","typeLabel":"string\u003cobjectid>"},"assignmentId":{"description":"ID of the assignment associated with this time tracking","type":"string","format":"objectid","uniqueKey":"timeTrackings.items.[INDEX].assignmentId","typeLabel":"string\u003cobjectid>"}},"uniqueKey":"timeTrackings.items.[INDEX]","typeLabel":"Time Tracking Entry · object"},"uniqueKey":"timeTrackings","typeLabel":"Time Tracking Entry · object[]"},"salaries":{"description":"Salaries for the job","type":"array","items":{"type":"object","title":"Salary","description":"A salary record representing payment information for work performed by a user. Inherits common fields from ChatableEntityModel.","properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"salaries.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"salaries.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"salaries.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"salaries.items.[INDEX].status","typeLabel":"object"},"chatId":{"oneOf":[{"description":"ID of the chat associated with this entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].chatId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"ID of the chat associated with this entity","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].chatId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].chatId","typeLabel":"string\u003cobjectid> | null"},"userId":{"description":"User ID who earned this salary","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"timeTrackingId":{"description":"Time tracking entry ID this salary is based on","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].timeTrackingId","typeLabel":"string\u003cobjectid>"},"type":{"description":"Type of salary (regular, overtime, etc.)","type":"string","uniqueKey":"salaries.items.[INDEX].type","typeLabel":"string"},"objectId":{"description":"Object ID where the work was performed","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].objectId","typeLabel":"string\u003cobjectid>"},"workingTime":{"description":"Actual working time in seconds","type":"integer","uniqueKey":"salaries.items.[INDEX].workingTime","typeLabel":"integer"},"targetTime":{"description":"Target working time in seconds","type":"integer","uniqueKey":"salaries.items.[INDEX].targetTime","typeLabel":"integer"},"reason":{"description":"Reason or description for this salary entry","type":"string","uniqueKey":"salaries.items.[INDEX].reason","typeLabel":"string"},"approvedByUserId":{"description":"User ID who approved this salary","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].approvedByUserId","typeLabel":"string\u003cobjectid>"},"updatedByUserId":{"description":"User ID who last updated this salary","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].updatedByUserId","typeLabel":"string\u003cobjectid>"},"from":{"description":"Start date/time for this salary period","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End date/time for this salary period","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].to","typeLabel":"string\u003cdate-time>"},"break":{"description":"Break time in seconds","type":"integer","uniqueKey":"salaries.items.[INDEX].break","typeLabel":"integer"},"minBreakTime":{"description":"Minimum break time required in seconds","type":"integer","uniqueKey":"salaries.items.[INDEX].minBreakTime","typeLabel":"integer"},"absenceId":{"description":"Only set when type = Salary Absence","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].absenceId","typeLabel":"string\u003cobjectid>"},"jobId":{"description":"Job ID this salary is associated with","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].jobId","typeLabel":"string\u003cobjectid>"},"trackingJobDate":{"description":"Date/time when job tracking was started","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].trackingJobDate","typeLabel":"string\u003cdate-time>"},"ignoreDoubleSalaries":{"description":"Whether to ignore double salary checks","type":"boolean","uniqueKey":"salaries.items.[INDEX].ignoreDoubleSalaries","typeLabel":"boolean"},"roundedUp":{"description":"Whether working time was rounded up","type":"boolean","uniqueKey":"salaries.items.[INDEX].roundedUp","typeLabel":"boolean"},"roundUpSeconds":{"description":"Seconds that were rounded up","type":"integer","uniqueKey":"salaries.items.[INDEX].roundUpSeconds","typeLabel":"integer"},"payType":{"description":"Pay type classification","type":"string","uniqueKey":"salaries.items.[INDEX].payType","typeLabel":"string"},"nightWorkingTime":{"description":"Total working time during night hours in seconds (deprecated - use surcharges)","type":"integer","deprecated":true,"uniqueKey":"salaries.items.[INDEX].nightWorkingTime","typeLabel":"integer"},"sundayWorkingTime":{"description":"Total working time on Sunday in seconds (deprecated - use surcharges)","type":"integer","deprecated":true,"uniqueKey":"salaries.items.[INDEX].sundayWorkingTime","typeLabel":"integer"},"publicHolidayWorkingTime":{"description":"Total working time on public holidays in seconds (deprecated - use surcharges)","type":"integer","deprecated":true,"uniqueKey":"salaries.items.[INDEX].publicHolidayWorkingTime","typeLabel":"integer"},"surcharges":{"description":"Array of salary surcharges for special work conditions (night, weekend, holiday, etc.)","type":"array","items":{"type":"object","title":"Surcharge on Salary","description":"Represents a surcharge applied to a salary for special work conditions like night hours, weekends, holidays, or driving time.","required":["seconds"],"properties":{"seconds":{"description":"Duration of the surcharge application in seconds","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].seconds","typeLabel":"integer"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"type":"integer","description":"Surcharge number for ordering/display purposes","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].status","typeLabel":"object"},"surchargeId":{"description":"Surcharge ID reference","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].surchargeId","typeLabel":"string\u003cobjectid>"},"name":{"description":"Name of the surcharge (e.g., \"Night Shift\", \"Weekend\", \"Holiday\")","type":"string","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].name","typeLabel":"string"},"surcharge":{"description":"Surcharge percentage (e.g., 25 for 25% surcharge)","type":"number","format":"float","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].surcharge","typeLabel":"number\u003cfloat>"},"surchargeType":{"description":"Type of surcharge: percent or fixed_hourly","type":"string","enum":["percent","fixed_hourly"],"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].surchargeType","typeLabel":"enum\u003cstring>"},"wage":{"description":"Fixed wage per hour (used when surchargeType is fixed_hourly)","type":"number","format":"float","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].wage","typeLabel":"number\u003cfloat>"},"taxFreeType":{"description":"Tax-free category per § 3b EStG","type":"string","enum":["none","night","sunday","holiday","special_holiday"],"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeType","typeLabel":"enum\u003cstring>"},"taxFreeNumber":{"oneOf":[{"description":"Separate payroll number for tax-free portion","type":"integer","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeNumber.oneOf.0","typeLabel":"integer"},{"description":"Separate payroll number for tax-free portion","type":"null","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].taxFreeNumber","typeLabel":"integer | null"},"activeOn":{"description":"Configuration defining when this surcharge is active","type":"object","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].activeOn","typeLabel":"object"},"userId":{"description":"User ID (used in salary export rows)","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"date":{"description":"Date (used in salary export rows)","type":"string","format":"date","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].date","typeLabel":"string\u003cdate>"},"activeTimeFrames":{"description":"Time frames when this surcharge was active during the salary period","type":"array","items":{"properties":{"from":{"description":"Start time of the surcharge period","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames.items.[INDEX].from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End time of the surcharge period","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames.items.[INDEX].to","typeLabel":"string\u003cdate-time>"}},"type":"object","uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames.items.[INDEX]","typeLabel":"object"},"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX].activeTimeFrames","typeLabel":"object[]"},"_cash":{"description":"Calculated cash amount for this surcharge (available in combined calculations)","type":"number","format":"float","default":0,"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX]._cash","typeLabel":"number\u003cfloat>"}},"uniqueKey":"salaries.items.[INDEX].surcharges.items.[INDEX]","typeLabel":"Surcharge on Salary · object"},"uniqueKey":"salaries.items.[INDEX].surcharges","typeLabel":"Surcharge on Salary · object[]"},"workloadSurcharges":{"oneOf":[{"description":"Array of workload-based surcharges (calculated from daily/weekly hour thresholds)","type":"array","items":{"type":"object","title":"Surcharge on Salary","description":"Represents a surcharge applied to a salary for special work conditions like night hours, weekends, holidays, or driving time.","required":["seconds"],"properties":{"seconds":{"description":"Duration of the surcharge application in seconds","type":"integer","minimum":0,"isRequired":true,"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].seconds","typeLabel":"integer"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"type":"integer","description":"Surcharge number for ordering/display purposes","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].status","typeLabel":"object"},"surchargeId":{"description":"Surcharge ID reference","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].surchargeId","typeLabel":"string\u003cobjectid>"},"name":{"description":"Name of the surcharge (e.g., \"Night Shift\", \"Weekend\", \"Holiday\")","type":"string","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].name","typeLabel":"string"},"surcharge":{"description":"Surcharge percentage (e.g., 25 for 25% surcharge)","type":"number","format":"float","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].surcharge","typeLabel":"number\u003cfloat>"},"surchargeType":{"description":"Type of surcharge: percent or fixed_hourly","type":"string","enum":["percent","fixed_hourly"],"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].surchargeType","typeLabel":"enum\u003cstring>"},"wage":{"description":"Fixed wage per hour (used when surchargeType is fixed_hourly)","type":"number","format":"float","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].wage","typeLabel":"number\u003cfloat>"},"taxFreeType":{"description":"Tax-free category per § 3b EStG","type":"string","enum":["none","night","sunday","holiday","special_holiday"],"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeType","typeLabel":"enum\u003cstring>"},"taxFreeNumber":{"oneOf":[{"description":"Separate payroll number for tax-free portion","type":"integer","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeNumber.oneOf.0","typeLabel":"integer"},{"description":"Separate payroll number for tax-free portion","type":"null","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].taxFreeNumber","typeLabel":"integer | null"},"activeOn":{"description":"Configuration defining when this surcharge is active","type":"object","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeOn","typeLabel":"object"},"userId":{"description":"User ID (used in salary export rows)","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].userId","typeLabel":"string\u003cobjectid>"},"date":{"description":"Date (used in salary export rows)","type":"string","format":"date","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].date","typeLabel":"string\u003cdate>"},"activeTimeFrames":{"description":"Time frames when this surcharge was active during the salary period","type":"array","items":{"properties":{"from":{"description":"Start time of the surcharge period","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames.items.[INDEX].from","typeLabel":"string\u003cdate-time>"},"to":{"description":"End time of the surcharge period","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames.items.[INDEX].to","typeLabel":"string\u003cdate-time>"}},"type":"object","uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames.items.[INDEX]","typeLabel":"object"},"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX].activeTimeFrames","typeLabel":"object[]"},"_cash":{"description":"Calculated cash amount for this surcharge (available in combined calculations)","type":"number","format":"float","default":0,"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX]._cash","typeLabel":"number\u003cfloat>"}},"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0.items.[INDEX]","typeLabel":"Surcharge on Salary · object"},"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.0","typeLabel":"Surcharge on Salary · object[]"},{"description":"Array of workload-based surcharges (calculated from daily/weekly hour thresholds)","type":"null","items":{"type":"object","title":"Surcharge on Salary","description":"Represents a surcharge applied to a salary for special work conditions like night hours, weekends, holidays, or driving time.","required":["seconds"],"properties":{"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid"},"number":{"type":"integer","description":"Surcharge number for ordering/display purposes"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid"}]},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid"}]}},"type":"object"},"surchargeId":{"description":"Surcharge ID reference","type":"string","format":"objectid"},"name":{"description":"Name of the surcharge (e.g., \"Night Shift\", \"Weekend\", \"Holiday\")","type":"string"},"surcharge":{"description":"Surcharge percentage (e.g., 25 for 25% surcharge)","type":"number","format":"float"},"surchargeType":{"description":"Type of surcharge: percent or fixed_hourly","type":"string","enum":["percent","fixed_hourly"]},"wage":{"description":"Fixed wage per hour (used when surchargeType is fixed_hourly)","type":"number","format":"float"},"taxFreeType":{"description":"Tax-free category per § 3b EStG","type":"string","enum":["none","night","sunday","holiday","special_holiday"]},"taxFreeNumber":{"oneOf":[{"description":"Separate payroll number for tax-free portion","type":"integer"},{"description":"Separate payroll number for tax-free portion","type":"null"}]},"activeOn":{"description":"Configuration defining when this surcharge is active","type":"object"},"userId":{"description":"User ID (used in salary export rows)","type":"string","format":"objectid"},"date":{"description":"Date (used in salary export rows)","type":"string","format":"date"},"seconds":{"description":"Duration of the surcharge application in seconds","type":"integer","minimum":0},"activeTimeFrames":{"description":"Time frames when this surcharge was active during the salary period","type":"array","items":{"properties":{"from":{"description":"Start time of the surcharge period","type":"string","format":"date-time"},"to":{"description":"End time of the surcharge period","type":"string","format":"date-time"}},"type":"object"}},"_cash":{"description":"Calculated cash amount for this surcharge (available in combined calculations)","type":"number","format":"float","default":0}}},"uniqueKey":"salaries.items.[INDEX].workloadSurcharges.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].workloadSurcharges","typeLabel":"Surcharge on Salary · object[] | null"},"drivingTime":{"description":"Total driving time in seconds","type":"integer","uniqueKey":"salaries.items.[INDEX].drivingTime","typeLabel":"integer"},"drivingTimeFrame":{"oneOf":[{"type":"object","description":"Clock time of the drive as tracked in the app, only set when the driving time was tracked","properties":{"from":{"description":"The start date of the time frame.","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].drivingTimeFrame.oneOf.0.from","typeLabel":"string\u003cdate-time>"},"to":{"description":"The end date of the time frame.","type":"string","format":"date-time","uniqueKey":"salaries.items.[INDEX].drivingTimeFrame.oneOf.0.to","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"salaries.items.[INDEX].drivingTimeFrame.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"salaries.items.[INDEX].drivingTimeFrame.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].drivingTimeFrame","typeLabel":"object | null"},"payTypeId":{"oneOf":[{"description":"Resolved pay type ID (snapshot from creation)","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].payTypeId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Resolved pay type ID (snapshot from creation)","type":"null","format":"objectid","uniqueKey":"salaries.items.[INDEX].payTypeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].payTypeId","typeLabel":"string\u003cobjectid> | null"},"payTypeSource":{"oneOf":[{"description":"Source of resolved pay type","type":"string","enum":["user_default","activity_type"],"uniqueKey":"salaries.items.[INDEX].payTypeSource.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Source of resolved pay type","type":"null","enum":["user_default","activity_type"],"uniqueKey":"salaries.items.[INDEX].payTypeSource.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].payTypeSource","typeLabel":"enum\u003cstring> | null"},"assignmentId":{"description":"Assignment ID this salary belongs to","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].assignmentId","typeLabel":"string\u003cobjectid>"},"activityTypeId":{"description":"Activity type ID for categorizing work","type":"string","format":"objectid","uniqueKey":"salaries.items.[INDEX].activityTypeId","typeLabel":"string\u003cobjectid>"},"releasedBySystem":{"oneOf":[{"description":"Indicates if this salary was released by the system","type":"boolean","uniqueKey":"salaries.items.[INDEX].releasedBySystem.oneOf.0","typeLabel":"boolean"},{"description":"Indicates if this salary was released by the system","type":"null","uniqueKey":"salaries.items.[INDEX].releasedBySystem.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].releasedBySystem","typeLabel":"boolean | null"},"locked":{"oneOf":[{"description":"Indicates if this salary is locked and cannot be changed or deleted","type":"boolean","uniqueKey":"salaries.items.[INDEX].locked.oneOf.0","typeLabel":"boolean"},{"description":"Indicates if this salary is locked and cannot be changed or deleted","type":"null","uniqueKey":"salaries.items.[INDEX].locked.oneOf.1","typeLabel":"null"}],"uniqueKey":"salaries.items.[INDEX].locked","typeLabel":"boolean | null"}},"uniqueKey":"salaries.items.[INDEX]","typeLabel":"Salary · object"},"uniqueKey":"salaries","typeLabel":"Salary · object[]"},"splitId":{"oneOf":[{"description":"Split job ID","format":"objected","type":"string","uniqueKey":"splitId.oneOf.0","typeLabel":"string\u003cobjected>"},{"description":"Split job ID","format":"objected","type":"null","uniqueKey":"splitId.oneOf.1","typeLabel":"null"}],"uniqueKey":"splitId","typeLabel":"string\u003cobjected> | null"},"acceptedStatus":{"description":"Accepted status","type":"string","uniqueKey":"acceptedStatus","typeLabel":"string"},"jobComment":{"description":"Comment for the job","type":"string","uniqueKey":"jobComment","typeLabel":"string"},"teamId":{"oneOf":[{"description":"Team ID","format":"objectid","type":"string","uniqueKey":"teamId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Team ID","format":"objectid","type":"null","uniqueKey":"teamId.oneOf.1","typeLabel":"null"}],"uniqueKey":"teamId","typeLabel":"string\u003cobjectid> | null"},"activityType":{"oneOf":[{"type":"object","title":"Activity Type","description":"Activity type for the job","required":["name"],"properties":{"name":{"description":"Name of the activity type","type":"string","example":"Unterhaltsreinigung","isRequired":true,"uniqueKey":"activityType.oneOf.0.name","typeLabel":"string"},"_id":{"type":"string","description":"Unique identifier for the activity type","format":"objectid","uniqueKey":"activityType.oneOf.0._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"activityType.oneOf.0.number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"activityType.oneOf.0.companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"activityType.oneOf.0.status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"activityType.oneOf.0.status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"activityType.oneOf.0.status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"activityType.oneOf.0.status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"activityType.oneOf.0.status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"activityType.oneOf.0.status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"activityType.oneOf.0.status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"activityType.oneOf.0.status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"activityType.oneOf.0.status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"activityType.oneOf.0.status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"activityType.oneOf.0.status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"activityType.oneOf.0.status","typeLabel":"object"},"hexCode":{"oneOf":[{"description":"Color code for visual representation in hex format","type":"string","pattern":"^#[0-9A-Fa-f]{6}$","example":"#34c759","uniqueKey":"activityType.oneOf.0.hexCode.oneOf.0","typeLabel":"string"},{"description":"Color code for visual representation in hex format","type":"null","pattern":"^#[0-9A-Fa-f]{6}$","example":"#34c759","uniqueKey":"activityType.oneOf.0.hexCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"activityType.oneOf.0.hexCode","typeLabel":"string | null"},"description":{"oneOf":[{"description":"Detailed description of the activity type","type":"string","example":"Regular maintenance cleaning activities","uniqueKey":"activityType.oneOf.0.description.oneOf.0","typeLabel":"string"},{"description":"Detailed description of the activity type","type":"null","example":"Regular maintenance cleaning activities","uniqueKey":"activityType.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"activityType.oneOf.0.description","typeLabel":"string | null"},"payTypeId":{"oneOf":[{"description":"Optional pay type for this activity type. When set, assignments with this activity type may use this pay type instead of the user default (higher wage wins).","type":"string","format":"objectid","uniqueKey":"activityType.oneOf.0.payTypeId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Optional pay type for this activity type. When set, assignments with this activity type may use this pay type instead of the user default (higher wage wins).","type":"null","format":"objectid","uniqueKey":"activityType.oneOf.0.payTypeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"activityType.oneOf.0.payTypeId","typeLabel":"string\u003cobjectid> | null"}},"uniqueKey":"activityType.oneOf.0","typeLabel":"Activity Type · object"},{"type":"null","uniqueKey":"activityType.oneOf.1","typeLabel":"null"}],"uniqueKey":"activityType","typeLabel":"Activity Type · object | null"},"exceptionJobId":{"oneOf":[{"description":"Exception job ID","format":"objectid","type":"string","uniqueKey":"exceptionJobId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Exception job ID","format":"objectid","type":"null","uniqueKey":"exceptionJobId.oneOf.1","typeLabel":"null"}],"uniqueKey":"exceptionJobId","typeLabel":"string\u003cobjectid> | null"},"title":{"description":"Title of the job","type":"string","uniqueKey":"title","typeLabel":"string"},"requiredDrivingTime":{"description":"Required driving time in minutes","type":"integer","format":"float","uniqueKey":"requiredDrivingTime","typeLabel":"integer\u003cfloat>"},"requiredBreakTime":{"description":"Required break time in minutes","type":"integer","format":"float","uniqueKey":"requiredBreakTime","typeLabel":"integer\u003cfloat>"},"started":{"description":"Job started entries","type":"array","items":{"title":"JobStartedStruct","description":"This is the structure that is used to store the information about a started job.","properties":{"trackingJobDate":{"description":"The date when the job was started.","type":"string","format":"date-time","uniqueKey":"started.items.[INDEX].trackingJobDate","typeLabel":"string\u003cdate-time>"},"userId":{"description":"The ID of the user on the job.","type":"string","format":"object-id","uniqueKey":"started.items.[INDEX].userId","typeLabel":"string\u003cobject-id>"},"time":{"description":"The time when the job was started.","type":"string","format":"date-time","uniqueKey":"started.items.[INDEX].time","typeLabel":"string\u003cdate-time>"},"isLive":{"description":"Indicates if the job is live or already finished.","type":"boolean","uniqueKey":"started.items.[INDEX].isLive","typeLabel":"boolean"},"wasAddedManually":{"description":"This indicates if the started variable was added due to that the time tracking was added manually later","type":"boolean","uniqueKey":"started.items.[INDEX].wasAddedManually","typeLabel":"boolean"},"salaryId":{"description":"The Salary that created the stared object.\nmay not be setted","uniqueKey":"started.items.[INDEX].salaryId","typeLabel":"any"}},"type":"object","uniqueKey":"started.items.[INDEX]","typeLabel":"JobStartedStruct · object"},"uniqueKey":"started","typeLabel":"JobStartedStruct · object[]"},"absences":{"description":"Absences related to the job","type":"array","items":{"type":"object","title":"JobAbsencesStruct","description":"This struct contains the absences that affect a job.","required":["absenceId","dtStart","dtEnd","calculationType"],"properties":{"absenceId":{"description":"The ID of the absence that affects this job.","type":"string","format":"objectId","isRequired":true,"uniqueKey":"absences.items.[INDEX].absenceId","typeLabel":"string\u003cobjectId>"},"dtStart":{"description":"The start date and time of the absence.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"absences.items.[INDEX].dtStart","typeLabel":"string\u003cdate-time>"},"dtEnd":{"description":"The end date and time of the absence.","type":"string","format":"date-time","isRequired":true,"uniqueKey":"absences.items.[INDEX].dtEnd","typeLabel":"string\u003cdate-time>"},"calculationType":{"description":"The type of calculation for the absence.","type":"string","isRequired":true,"uniqueKey":"absences.items.[INDEX].calculationType","typeLabel":"string"},"_id":{"description":"Unique identifier of the entity","type":"string","format":"objectid","uniqueKey":"absences.items.[INDEX]._id","typeLabel":"string\u003cobjectid>"},"number":{"description":"Unique number of the entity, used for identification","type":"integer","uniqueKey":"absences.items.[INDEX].number","typeLabel":"integer"},"companyId":{"description":"The ID of the company this entity belongs to","type":"string","format":"objectid","x-internal":true,"uniqueKey":"absences.items.[INDEX].companyId","typeLabel":"string\u003cobjectid>"},"status":{"description":"Entity Status information","properties":{"status":{"description":"Current status","type":"integer","uniqueKey":"absences.items.[INDEX].status.status","typeLabel":"integer"},"createdAt":{"description":"Creation timestamp","type":"string","format":"date-time","uniqueKey":"absences.items.[INDEX].status.createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"description":"User who created this supplier","type":"string","format":"objectid","uniqueKey":"absences.items.[INDEX].status.createdBy","typeLabel":"string\u003cobjectid>"},"lastModifiedAt":{"description":"Last modification timestamp","type":"string","format":"date-time","uniqueKey":"absences.items.[INDEX].status.lastModifiedAt","typeLabel":"string\u003cdate-time>"},"lastModifiedBy":{"description":"User who last modified this supplier","type":"string","format":"objectid","uniqueKey":"absences.items.[INDEX].status.lastModifiedBy","typeLabel":"string\u003cobjectid>"},"agentId":{"oneOf":[{"description":"Agent that created or modified this entity","type":"string","format":"objectid","uniqueKey":"absences.items.[INDEX].status.agentId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Agent that created or modified this entity","type":"null","format":"objectid","uniqueKey":"absences.items.[INDEX].status.agentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"absences.items.[INDEX].status.agentId","typeLabel":"string\u003cobjectid> | null"},"assistantId":{"oneOf":[{"description":"Text assistant that created or modified this entity on behalf of a user","type":"string","format":"objectid","uniqueKey":"absences.items.[INDEX].status.assistantId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Text assistant that created or modified this entity on behalf of a user","type":"null","format":"objectid","uniqueKey":"absences.items.[INDEX].status.assistantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"absences.items.[INDEX].status.assistantId","typeLabel":"string\u003cobjectid> | null"}},"type":"object","uniqueKey":"absences.items.[INDEX].status","typeLabel":"object"}},"uniqueKey":"absences.items.[INDEX]","typeLabel":"JobAbsencesStruct · object"},"uniqueKey":"absences","typeLabel":"JobAbsencesStruct · object[]"},"documentIds":{"description":"Document IDs related to the job","type":"array","items":{"type":"string","format":"objectid","uniqueKey":"documentIds.items.[INDEX]","typeLabel":"string\u003cobjectid>"},"uniqueKey":"documentIds","typeLabel":"string\u003cobjectid>[]"},"serviceReportId":{"oneOf":[{"description":"Service Report ID if job is linked to a service report","format":"objectid","type":"string","uniqueKey":"serviceReportId.oneOf.0","typeLabel":"string\u003cobjectid>"},{"description":"Service Report ID if job is linked to a service report","format":"objectid","type":"null","uniqueKey":"serviceReportId.oneOf.1","typeLabel":"null"}],"uniqueKey":"serviceReportId","typeLabel":"string\u003cobjectid> | null"}},"uniqueKey":"","typeLabel":"Job · object"},"examples":{"Example":{"title":"Example","value":{"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"chatId":"\u003cstring>","assignmentId":"\u003cstring>","targetTime":123,"from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z","userId":"\u003cstring>","wrapperId":"\u003cstring>","absenceId":"\u003cstring>","iCalendar":{"frequency":"\u003cstring>","tzid":"\u003cstring>","interval":123,"rrule":"\u003cstring>","bySetPos":123,"byDay":["\u003cstring>"],"byMonthDay":"\u003cstring>","byMonth":[123],"dtstart":"1793865600000","dtend":"1796457600000","exDate":[123]},"assignment":{"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"chatId":"\u003cstring>","objectId":"507f1f77bcf86cd799439011","customerId":"507f1f77bcf86cd799439012","title":"Monthly Cleaning Service","iCalendar":{"frequency":"\u003cstring>","tzid":"\u003cstring>","interval":123,"rrule":"\u003cstring>","bySetPos":123,"byDay":["\u003cstring>"],"byMonthDay":"\u003cstring>","byMonth":[123],"dtstart":"1793865600000","dtend":"1796457600000","exDate":[123]},"material":[{"productId":"507f1f77bcf86cd799439013","quantity":2}],"activityTypeId":"507f1f77bcf86cd799439014","comment":"Special instructions for weekend work","documentIds":["507f1f77bcf86cd799439015","507f1f77bcf86cd799439016"],"billing":{"type":"MANUAL","positions":[{"quantity":2.5,"unit":"hours","price":32.5,"tax":0.19,"title":"Cleaning Service","type":"INVOICE_POSITION","taxRate":{"type":"VAT","rate":0.19,"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"description":"Regelsteuersatz","bookingAccountNumber":"8400","skontoBookingAccountNumber":"8405","default":false},"description":"Detailed description of the cleaning service","discount":0.1,"productId":"550e8400-e29b-41d4-a716-446655440000","includedWageCostFactor":0.95,"isOptional":false,"bookingAccountNumber":"ACC-123456","skontoBookingAccountNumber":"SKONTO-123456","assignmentId":"\u003cstring>"}],"lastInvoiceDate":"2023-11-07T05:31:56Z","defaultInvoiceTemplateId":"\u003cstring>"},"quota":{"enabled":true,"quotaCalculation":"once","total":123,"billingRateEnabled":true,"billingRateCalculation":"hourly","billingRateAmount":123,"expectedMargin":123},"autoGenerateInvoiceError":{},"costUnit":"\u003cstring>","jobChatId":"507f1f77bcf86cd799439017","useUserPayTypeOnly":true,"linkedCache":[{}]},"masterJobId":"\u003cstring>","timeTrackings":[{"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"chatId":"\u003cstring>","userId":"\u003cstring>","jobId":"\u003cstring>","objectId":"\u003cstring>","timeStart":"2023-11-07T05:31:56Z","timeEnd":"2023-11-07T05:31:56Z","workingTime":1,"targetTime":1,"break":1,"requiredBreakTime":1,"type":"default","location":{"latitude":123,"longitude":123},"logOutLocation":{"latitude":123,"longitude":123},"approved":true,"cancelled":true,"offline":true,"generatedByUser":true,"editedByManager":true,"trackingJobDate":"2023-11-07T05:31:56Z","comment":"\u003cstring>","reason":"\u003cstring>","errors":["\u003cstring>"],"allFoundErrors":["\u003cstring>"],"salaryIds":["\u003cstring>"],"objectManagerId":"\u003cstring>","signingId":"\u003cstring>","activityTypeId":"\u003cstring>","assignmentId":"\u003cstring>"}],"salaries":[{"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"chatId":"\u003cstring>","userId":"\u003cstring>","timeTrackingId":"\u003cstring>","type":"\u003cstring>","objectId":"\u003cstring>","workingTime":123,"targetTime":123,"reason":"\u003cstring>","approvedByUserId":"\u003cstring>","updatedByUserId":"\u003cstring>","from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z","break":123,"minBreakTime":123,"absenceId":"\u003cstring>","jobId":"\u003cstring>","trackingJobDate":"2023-11-07T05:31:56Z","ignoreDoubleSalaries":true,"roundedUp":true,"roundUpSeconds":123,"payType":"\u003cstring>","nightWorkingTime":123,"sundayWorkingTime":123,"publicHolidayWorkingTime":123,"surcharges":[{"seconds":1,"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"surchargeId":"\u003cstring>","name":"\u003cstring>","surcharge":123,"surchargeType":"percent","wage":123,"taxFreeType":"none","taxFreeNumber":123,"activeOn":{},"userId":"\u003cstring>","date":"2023-12-25","activeTimeFrames":[{"from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z"}],"_cash":0}],"workloadSurcharges":[{"seconds":1,"_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"surchargeId":"\u003cstring>","name":"\u003cstring>","surcharge":123,"surchargeType":"percent","wage":123,"taxFreeType":"none","taxFreeNumber":123,"activeOn":{},"userId":"\u003cstring>","date":"2023-12-25","activeTimeFrames":[{"from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z"}],"_cash":0}],"drivingTime":123,"drivingTimeFrame":{"from":"2023-11-07T05:31:56Z","to":"2023-11-07T05:31:56Z"},"payTypeId":"\u003cstring>","payTypeSource":"user_default","assignmentId":"\u003cstring>","activityTypeId":"\u003cstring>","releasedBySystem":true,"locked":true}],"splitId":"\u003cstring>","acceptedStatus":"\u003cstring>","jobComment":"\u003cstring>","teamId":"\u003cstring>","activityType":{"name":"Unterhaltsreinigung","_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"},"hexCode":"#34c759","description":"Regular maintenance cleaning activities","payTypeId":"\u003cstring>"},"exceptionJobId":"\u003cstring>","title":"\u003cstring>","requiredDrivingTime":123,"requiredBreakTime":123,"started":[{"trackingJobDate":"2023-11-07T05:31:56Z","userId":"\u003cstring>","time":"2023-11-07T05:31:56Z","isLive":true,"wasAddedManually":true,"salaryId":"\u003cunknown>"}],"absences":[{"absenceId":"\u003cstring>","dtStart":"2023-11-07T05:31:56Z","dtEnd":"2023-11-07T05:31:56Z","calculationType":"\u003cstring>","_id":"\u003cstring>","number":123,"companyId":"\u003cstring>","status":{"status":123,"createdAt":"2023-11-07T05:31:56Z","createdBy":"\u003cstring>","lastModifiedAt":"2023-11-07T05:31:56Z","lastModifiedBy":"\u003cstring>","agentId":"\u003cstring>","assistantId":"\u003cstring>"}}],"documentIds":["\u003cstring>"],"serviceReportId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4aa55c27-d19a-4324-bd30-8da7a42fc49a":{"description":"Invalid input","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"b83dc734-b49c-418d-912e-8c2676a257c6":{"description":"Unauthorized","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"3cacc2e0-e475-4468-bc66-dab120a7796f":{"description":"Forbidden","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"84e64983-c872-401f-b6e9-a7979d31fbb8":{"description":"Job not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"6150639d-2c76-46e1-bcb4-5426dcbec989":{"API-Key":{"type":"apiKey","name":"x-API-Key","in":"header","scopes":[],"schemeName":"API-Key"}},"de62e9c2-4ce4-4047-afa5-f76e5c8b22c2":{"Bearer-Auth":{"type":"http","bearerFormat":"JWT","scheme":"bearer","scopes":[],"schemeName":"Bearer-Auth"}}},"servers":{"049f04bf-2709-4eaa-8561-4ab663e714af":{"url":"https://cloud-api.pland.app/v2","description":"Production Server"},"c9c1a3f9-30ec-4c06-b6dc-9dac055b68a8":{"url":"https://beta-api.pland.app/v2","description":"Sandbox Server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","name":"x-API-Key","in":"header","scopes":[],"schemeName":"API-Key"},"schema":{"title":"x-API-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"API-Key","name":"x-API-Key"}],"title":"API-Key"},{"schemes":[{"scheme":{"type":"http","bearerFormat":"JWT","scheme":"bearer","scopes":[],"schemeName":"Bearer-Auth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Bearer-Auth","name":"Authorization"}],"title":"Bearer-Auth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"pland","siteName":"Pland Developer Platform","title":"Update a Job - Pland Developer Platform","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T16:44:30.501Z","originalFileLocation":"api-reference/jobs/update.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Update a job (v2). The job fields go into the job object, the edit options next to it. Warning: only use this endpoint if you know exactly what it does. It applies the same logic as the PlanD planner: with type FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and userIds replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pland Developer Platform\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update a Job - Pland Developer Platform\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update a job (v2). The job fields go into the job object, the edit options next to it. Warning: only use this endpoint if you know exactly what it does. It applies the same logic as the PlanD planner: with type FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and userIds replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pland Developer Platform\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pland.app/api-reference/jobs/update\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pland.mintlify.site/_mintlify/api/og/v2?division=Jobs\u0026amp;title=Update+a+Job\u0026amp;description=Update+a+job+%28v2%29.+The+job+fields+go+into+the+%60job%60+object%2C+the+edit+options+next+to+it.%0A%0A**Warning%3A+only+use+this+endpoint+if+you+know+exactly+what+it+does.**+\u0026amp;theme=79a9502ef2604cadbd145a60\u0026amp;signature=785eff17703747608472cb22c4394a23ae1c7fb4ec285f3ef88794952bf5d4a4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update a Job - Pland Developer Platform\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update a job (v2). The job fields go into the job object, the edit options next to it. Warning: only use this endpoint if you know exactly what it does. It applies the same logic as the PlanD planner: with type FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and userIds replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pland.mintlify.site/_mintlify/api/og/v2?division=Jobs\u0026amp;title=Update+a+Job\u0026amp;description=Update+a+job+%28v2%29.+The+job+fields+go+into+the+%60job%60+object%2C+the+edit+options+next+to+it.%0A%0A**Warning%3A+only+use+this+endpoint+if+you+know+exactly+what+it+does.**+\u0026amp;theme=79a9502ef2604cadbd145a60\u0026amp;signature=785eff17703747608472cb22c4394a23ae1c7fb4ec285f3ef88794952bf5d4a4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pland/T_oVkU3Prt9hFyNK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pland Developer Platform\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pland.app/api-reference/jobs/update\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/jobs/update.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pland.app/#organization\",\"name\":\"Pland Developer Platform\",\"url\":\"https://docs.pland.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pland/4nF818XuJvdH1X-y/logo/logo-light.png?fit=max\u0026auto=format\u0026n=4nF818XuJvdH1X-y\u0026q=85\u0026s=58e21d630b18eebde27bee10fa752eb3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pland.app#website\",\"name\":\"Pland Developer Platform\",\"url\":\"https://docs.pland.app\",\"publisher\":{\"@id\":\"https://docs.pland.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pland.app/api-reference/jobs/update#webpage\",\"url\":\"https://docs.pland.app/api-reference/jobs/update\",\"name\":\"Update a Job\",\"description\":\"Update a job (v2). The job fields go into the job object, the edit options next to it. Warning: only use this endpoint if you know exactly what it does. It applies the same logic as the PlanD planner: with type FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and userIds replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.\",\"dateModified\":\"2026-11-06T16:44:30.501Z\",\"isPartOf\":{\"@id\":\"https://docs.pland.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pland.app/api-reference/jobs/update#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pland.app/api-reference/jobs/update#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Jobs\",\"item\":\"https://docs.pland.app/api-reference/jobs/list-open\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update a Job\",\"item\":\"https://docs.pland.app/api-reference/jobs/update\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pland.app/api-reference/jobs/update#apireference\",\"headline\":\"Update a Job\",\"name\":\"Update a Job\",\"description\":\"Update a job (v2). The job fields go into the job object, the edit options next to it. Warning: only use this endpoint if you know exactly what it does. It applies the same logic as the PlanD planner: with type FUTURE it can split a recurring series, with THIS it detaches a single occurrence, and userIds replaces the assigned users (omitting it unassigns all current users). A wrong request changes the schedule of your employees. Try your requests against the sandbox server first.\",\"url\":\"https://docs.pland.app/api-reference/jobs/update\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pland.app/api-reference/jobs/update#webpage\"},\"dateModified\":\"2026-11-06T16:44:30.501Z\",\"publisher\":{\"@id\":\"https://docs.pland.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pland.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pland Developer Platform\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Pland Developer Platform","nav":{"global":{"anchors":[{"anchor":"Roadmap","icon":"road","href":"https://feedback.pland.app/de/roadmap/main"},{"anchor":"Changelog","icon":"bullhorn","href":"https://feedback.pland.app/de/changelog"},{"anchor":"Knowledge Base","icon":"book","href":"https://help.pland.app"}]},"tabs":[{"tab":"Introduction","hidden":false,"pages":[{"title":"Introduction","href":""}]},{"tab":"API Reference","hidden":false,"groups":[{"group":"Getting Started","pages":[{"title":"Authentication","href":"/api-reference/getting-started/authentication"},{"title":"Pagination","href":"/api-reference/getting-started/pagination"},{"title":"Sorting","href":"/api-reference/getting-started/sorting"}]},{"group":"Users","pages":[{"title":"List Users","openapi":"GET /users/","href":"/api-reference/users/list"},{"title":"Get User","openapi":"GET /users/{id}","href":"/api-reference/users/get"},{"title":"Get User by Number","openapi":"GET /users/{userNumber}/byNumber","href":"/api-reference/users/get-by-number"},{"title":"Get Last Number","openapi":"GET /users/lastNumber","href":"/api-reference/users/get-last-number"},{"title":"Create User","openapi":"POST /users/","href":"/api-reference/users/create"},{"title":"Delete User","openapi":"DELETE /users/{id}","href":"/api-reference/users/delete"},{"title":"Update User","openapi":"PATCH /users/{id}","href":"/api-reference/users/update"},{"title":"Send Invite SMS to User","openapi":"POST /users/{id}/generatePassword","href":"/api-reference/users/send-invite-sms"}]},{"group":"Salaries","pages":[{"title":"List Salaries","openapi":"GET /salaries/","href":"/api-reference/salaries/list"},{"title":"Export Salary Rows","openapi":"POST /salaries/exportSalaryRows","href":"/api-reference/salaries/export-rows"}]},{"group":"Jobs","pages":[{"title":"List Open Jobs","openapi":"GET /jobs/notAssigned","href":"/api-reference/jobs/list-open"},{"title":"List Jobs in Timeframe","openapi":"POST /jobs/jobsInTimeFrame","description":"Returns job series whose iCalendar range overlaps the given time frame (inclusive). from and to are epoch milliseconds. A from later than to is rejected with 400. Individual occurrences are not expanded. Object and other filters belong in filters as {name, value} objects. Top-level objectId and objectIds are ignored.","href":"/api-reference/jobs/list-in-timeframe"},{"title":"Update a Job","openapi":"PATCH /jobs/{id}/v2","href":"/api-reference/jobs/update"}]},{"group":"Time Tracking","pages":[{"title":"List Time Trackings","openapi":"GET /timetracking/list","description":"Filter and retrieve time tracking entries based on various criteria including user, date range, object, and activity type. Supports pagination and sorting.","href":"/api-reference/time-tracking/list"}]},{"group":"Objects","pages":[{"title":"List Objects","openapi":"GET /objects/","href":"/api-reference/objects/list"},{"title":"Get Object","openapi":"GET /objects/{id}","href":"/api-reference/objects/get"},{"title":"Get Object by Number","openapi":"GET /objects/{objectNumber}/byNumber","href":"/api-reference/objects/get-by-number"},{"title":"Get Last Number","openapi":"GET /objects/lastNumber","href":"/api-reference/objects/get-last-number"},{"title":"Create Object","openapi":"POST /objects/","href":"/api-reference/objects/create"},{"title":"Update Object","openapi":"PATCH /objects/{id}","href":"/api-reference/objects/update"}]},{"group":"Customers","pages":[{"title":"List Customers","openapi":"GET /customers/","href":"/api-reference/customers/list"},{"title":"Get Customer","openapi":"GET /customers/{id}","href":"/api-reference/customers/get"},{"title":"Get Last Customer Number","openapi":"GET /customers/lastNumber","href":"/api-reference/customers/get-last-number"},{"title":"Create Customer","openapi":"POST /customers/","href":"/api-reference/customers/create"},{"title":"Update Customer","openapi":"PATCH /customers/{id}","href":"/api-reference/customers/update"},{"title":"Batch Update Customers","openapi":"PATCH /customers/many","href":"/api-reference/customers/batch-update"}]},{"group":"Equipment","pages":[{"title":"List Equipment","openapi":"GET /equipment/","href":"/api-reference/equipment/list"},{"title":"Get Equipment","openapi":"GET /equipment/{id}","href":"/api-reference/equipment/get"},{"title":"Create Equipment","openapi":"POST /equipment/","href":"/api-reference/equipment/create"},{"title":"Update Equipment","openapi":"PATCH /equipment/{id}","href":"/api-reference/equipment/update"},{"title":"Batch Update Equipment","openapi":"PATCH /equipment/many","href":"/api-reference/equipment/batch-update"}]},{"group":"Articles","pages":[{"title":"List Articles","openapi":"GET /articles/","href":"/api-reference/articles/list"},{"title":"Get Article","openapi":"GET /articles/{id}","href":"/api-reference/articles/get"},{"title":"Get Last Number","openapi":"GET /articles/lastNumber","href":"/api-reference/articles/get-last-number"},{"title":"Create Article","openapi":"POST /articles/","href":"/api-reference/articles/create"},{"title":"Update Article","openapi":"PATCH /articles/{id}","href":"/api-reference/articles/update"}]},{"group":"Tasks","pages":[{"title":"List Tasks","openapi":"GET /tasks/","href":"/api-reference/tasks/list"},{"title":"Get Task","openapi":"GET /tasks/{id}","href":"/api-reference/tasks/get"},{"title":"Complete Task","openapi":"POST /tasks/{id}/complete","href":"/api-reference/tasks/complete"},{"title":"Create Task","openapi":"POST /tasks/","href":"/api-reference/tasks/create"},{"title":"Update Task","openapi":"PATCH /tasks/{id}","href":"/api-reference/tasks/update"},{"title":"Delete Tasks","openapi":"POST /tasks/delete","href":"/api-reference/tasks/delete"},{"title":"Task forms","openapi":"GET /tasks/{id}/forms","href":"/api-reference/tasks/get-task-forms"}]},{"group":"Task Types","pages":[{"title":"List Task Types","openapi":"GET /taskTypes/","href":"/api-reference/task-types/list"},{"title":"Get Task Type","openapi":"GET /taskTypes/{id}","href":"/api-reference/task-types/get"},{"title":"Create Task Type","openapi":"POST /taskTypes/","href":"/api-reference/task-types/create"},{"title":"Update Task Type","openapi":"PATCH /taskTypes/{id}","href":"/api-reference/task-types/update"},{"title":"Delete Task Type","openapi":"DELETE /taskTypes/{id}","href":"/api-reference/task-types/delete"}]},{"group":"Absences","pages":[{"title":"List Absences","openapi":"GET /absences/","href":"/api-reference/absences/list"},{"title":"Get Absence","openapi":"GET /absences/{id}","href":"/api-reference/absences/get"},{"title":"Create Absence","openapi":"POST /absences/","href":"/api-reference/absences/create"},{"title":"Update Absence","openapi":"PATCH /absences/{id}","href":"/api-reference/absences/update"},{"title":"List Personal Absences","openapi":"GET /absences/self","href":"/api-reference/absences/list-self"}]},{"group":"Material Orders","pages":[{"title":"List Material Orders","openapi":"GET /orders/","href":"/api-reference/material-orders/list"},{"title":"Get Material Order","openapi":"GET /orders/{id}","href":"/api-reference/material-orders/get"},{"title":"Create Material Order","openapi":"POST /objects/{objectId}/order","href":"/api-reference/material-orders/create"},{"title":"Update Material Order","openapi":"PATCH /orders/{id}","href":"/api-reference/material-orders/update"}]},{"group":"Quality Control","pages":[{"title":"List Quality Controls","openapi":"GET /qualityControl/","href":"/api-reference/quality-control/list"},{"title":"Get Quality Control","openapi":"GET /qualityControl/{id}","href":"/api-reference/quality-control/get"},{"title":"Create Quality Control","openapi":"POST /qualityControl/","href":"/api-reference/quality-control/create"},{"title":"List Quality Control by Object","openapi":"GET /qualityControl/object/{objectId}","href":"/api-reference/quality-control/list-by-object"},{"title":"List Quality Control by Object Manager","openapi":"GET /qualityControl/objectManager/{id}","href":"/api-reference/quality-control/list-by-object-manager"}]},{"group":"Documents","pages":[{"title":"List Documents","openapi":"GET /documents/","href":"/api-reference/documents/list"},{"title":"Get Document","openapi":"GET /documents/{id}","href":"/api-reference/documents/get"},{"title":"Upload Documents","openapi":"POST /documents/","href":"/api-reference/documents/create"},{"title":"Update Document","openapi":"PATCH /documents/{id}","href":"/api-reference/documents/update"},{"title":"Delete Document","openapi":"DELETE /documents/{id}","href":"/api-reference/documents/delete"},{"title":"List Documents for Entity","openapi":"GET /{entity}/{id}/documents","href":"/api-reference/documents/list-by-entity"},{"title":"Create Document from URL","openapi":"POST /documents/withUrl","href":"/api-reference/documents/create-from-url"},{"title":"Get document tags","openapi":"GET /documents/tags","href":"/api-reference/documents/get-document-tags"}]},{"group":"Logbuch","pages":[{"title":"Send Message","openapi":"POST /chat/v2/{id}/send","href":"/api-reference/logbuch/send-message"},{"title":"Send Note","openapi":"POST /chat/v2/{id}/sendNote","href":"/api-reference/logbuch/send-note"}]},{"group":"Webhooks","pages":[{"title":"List Webhooks","openapi":"GET /integrations/webhooks/","href":"/api-reference/webhooks/list"},{"title":"Create Webhook","openapi":"POST /integrations/webhooks/","href":"/api-reference/webhooks/create"},{"title":"Update Webhook","openapi":"PATCH /integrations/webhooks/{id}","href":"/api-reference/webhooks/update"},{"title":"Delete Webhook","openapi":"DELETE /integrations/webhooks/{id}","href":"/api-reference/webhooks/delete"}]}]},{"tab":"Guides"}]},"basePath":"","title":"Update a Job - Pland Developer Platform","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}