curl --request POST \
--url http://localhost:3000/v2/jobs/jobsInTimeFrame \
--header 'Content-Type: application/json' \
--header 'x-API-Key: <api-key>' \
--data '
{
"from": "1704067200000",
"to": "1704153600000",
"includeUsersInResponse": true,
"status": "<string>",
"ids": [
"<string>"
],
"jobTemplateId": "<string>",
"originalId": {},
"absenceId": {},
"notAccepted": {},
"objectId": "<string>",
"objectIds": [
"<string>"
],
"teamId": {},
"userIds": [
"<string>"
],
"activityTypeId": [
"<string>"
],
"currentlyWorking": true,
"liveJobs": true,
"assignmentIds": [
"<string>"
],
"tags": [
"<string>"
]
}
'import requests
url = "http://localhost:3000/v2/jobs/jobsInTimeFrame"
payload = {
"from": "1704067200000",
"to": "1704153600000",
"includeUsersInResponse": True,
"status": "<string>",
"ids": ["<string>"],
"jobTemplateId": "<string>",
"originalId": {},
"absenceId": {},
"notAccepted": {},
"objectId": "<string>",
"objectIds": ["<string>"],
"teamId": {},
"userIds": ["<string>"],
"activityTypeId": ["<string>"],
"currentlyWorking": True,
"liveJobs": True,
"assignmentIds": ["<string>"],
"tags": ["<string>"]
}
headers = {
"x-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '1704067200000',
to: '1704153600000',
includeUsersInResponse: true,
status: '<string>',
ids: ['<string>'],
jobTemplateId: '<string>',
originalId: {},
absenceId: {},
notAccepted: {},
objectId: '<string>',
objectIds: ['<string>'],
teamId: {},
userIds: ['<string>'],
activityTypeId: ['<string>'],
currentlyWorking: true,
liveJobs: true,
assignmentIds: ['<string>'],
tags: ['<string>']
})
};
fetch('http://localhost:3000/v2/jobs/jobsInTimeFrame', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/v2/jobs/jobsInTimeFrame",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'from' => '1704067200000',
'to' => '1704153600000',
'includeUsersInResponse' => true,
'status' => '<string>',
'ids' => [
'<string>'
],
'jobTemplateId' => '<string>',
'originalId' => [
],
'absenceId' => [
],
'notAccepted' => [
],
'objectId' => '<string>',
'objectIds' => [
'<string>'
],
'teamId' => [
],
'userIds' => [
'<string>'
],
'activityTypeId' => [
'<string>'
],
'currentlyWorking' => true,
'liveJobs' => true,
'assignmentIds' => [
'<string>'
],
'tags' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:3000/v2/jobs/jobsInTimeFrame"
payload := strings.NewReader("{\n \"from\": \"1704067200000\",\n \"to\": \"1704153600000\",\n \"includeUsersInResponse\": true,\n \"status\": \"<string>\",\n \"ids\": [\n \"<string>\"\n ],\n \"jobTemplateId\": \"<string>\",\n \"originalId\": {},\n \"absenceId\": {},\n \"notAccepted\": {},\n \"objectId\": \"<string>\",\n \"objectIds\": [\n \"<string>\"\n ],\n \"teamId\": {},\n \"userIds\": [\n \"<string>\"\n ],\n \"activityTypeId\": [\n \"<string>\"\n ],\n \"currentlyWorking\": true,\n \"liveJobs\": true,\n \"assignmentIds\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3000/v2/jobs/jobsInTimeFrame")
.header("x-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"1704067200000\",\n \"to\": \"1704153600000\",\n \"includeUsersInResponse\": true,\n \"status\": \"<string>\",\n \"ids\": [\n \"<string>\"\n ],\n \"jobTemplateId\": \"<string>\",\n \"originalId\": {},\n \"absenceId\": {},\n \"notAccepted\": {},\n \"objectId\": \"<string>\",\n \"objectIds\": [\n \"<string>\"\n ],\n \"teamId\": {},\n \"userIds\": [\n \"<string>\"\n ],\n \"activityTypeId\": [\n \"<string>\"\n ],\n \"currentlyWorking\": true,\n \"liveJobs\": true,\n \"assignmentIds\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/v2/jobs/jobsInTimeFrame")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["x-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"1704067200000\",\n \"to\": \"1704153600000\",\n \"includeUsersInResponse\": true,\n \"status\": \"<string>\",\n \"ids\": [\n \"<string>\"\n ],\n \"jobTemplateId\": \"<string>\",\n \"originalId\": {},\n \"absenceId\": {},\n \"notAccepted\": {},\n \"objectId\": \"<string>\",\n \"objectIds\": [\n \"<string>\"\n ],\n \"teamId\": {},\n \"userIds\": [\n \"<string>\"\n ],\n \"activityTypeId\": [\n \"<string>\"\n ],\n \"currentlyWorking\": true,\n \"liveJobs\": true,\n \"assignmentIds\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"type": "<unknown>",
"assignmentId": "<string>",
"targetTime": "<string>",
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"userId": "<string>",
"absenceId": "<string>",
"assignment": {
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"objectId": "507f1f77bcf86cd799439011",
"customerId": "507f1f77bcf86cd799439012",
"title": "Monthly Cleaning Service",
"iCalendar": {
"frequency": "<string>",
"tzid": "<string>",
"interval": 123,
"rrule": "<string>",
"bySetPos": 123,
"byDay": [
"<string>"
],
"byMonthDay": "<string>",
"byMonth": [
123
],
"dtstart": "<string>",
"dtend": "<string>",
"exDate": [
"<string>"
]
},
"material": [
{
"productId": "507f1f77bcf86cd799439013",
"quantity": 2
}
],
"weeklyTimeBudget": 8.5,
"type": "normal",
"activityTypeId": "507f1f77bcf86cd799439014",
"comment": "Special instructions for weekend work",
"commentRequired": false,
"sign": false,
"documentIds": [
"507f1f77bcf86cd799439015",
"507f1f77bcf86cd799439016"
],
"billing": {
"": [
{
"quantity": 2.5,
"unit": "hours",
"price": 32.5,
"tax": 0.19,
"title": "Cleaning Service",
"taxRate": {
"type": "VAT",
"rate": 0.19,
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"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"
}
],
"lastInvoiceDate": "2023-11-07T05:31:56Z",
"defaultInvoiceTemplateId": "<string>"
},
"quota": {
"enabled": true,
"total": 123,
"billingRateEnabled": true,
"billingRateAmount": 123,
"expectedMargin": 123
},
"autoGenerateInvoiceError": {},
"costUnit": "<string>",
"jobChatId": "507f1f77bcf86cd799439017",
"linkedCache": [
{}
]
},
"notifyObjectManager": "<unknown>",
"masterJobId": "<string>",
"needsJobTemplate": "<unknown>",
"timeTrackings": [
{
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"userId": "<string>",
"jobId": "<string>",
"objectId": "<string>",
"timeStart": "2023-11-07T05:31:56Z",
"timeEnd": "2023-11-07T05:31:56Z",
"workingTime": 1,
"targetTime": 1,
"break": 1,
"requiredBreakTime": 1,
"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": "<string>",
"reason": "<string>",
"errors": [
"<string>"
],
"allFoundErrors": [
"<string>"
],
"salaryIds": [
"<string>"
],
"objectManagerId": "<string>",
"signingId": "<string>",
"activityTypeId": "<string>",
"assignmentId": "<string>"
}
],
"salaries": [
{
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"userId": "<string>",
"timeTrackingId": "<string>",
"billed": true,
"type": "<string>",
"objectId": "<string>",
"workingTime": 123,
"targetTime": 123,
"salaryPerHour": 123,
"salary": 123,
"reason": "<string>",
"approvedByUserId": "<string>",
"updatedByUserId": "<string>",
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"addedTime": 123,
"break": 123,
"minBreakTime": 123,
"absenceId": "<string>",
"jobId": "<string>",
"trackingJobDate": "2023-11-07T05:31:56Z",
"ignoreDoubleSalaries": true,
"roundedUp": true,
"roundUpSeconds": 123,
"payType": "<string>",
"nightWorkingTime": 123,
"sundayWorkingTime": 123,
"publicHolidayWorkingTime": 123,
"surcharges": [
{
"seconds": 1,
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"surchargeId": "<string>",
"name": "<string>",
"surcharge": 123,
"activeOn": {},
"userId": "<string>",
"date": "2023-12-25",
"activeTimeFrames": [
{
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z"
}
],
"_cash": 0
}
],
"drivingTime": 123,
"assignmentId": "<string>",
"activityTypeId": "<string>",
"releasedBySystem": true
}
],
"regionId": "<string>",
"splitId": "<string>",
"acceptedStatus": "<unknown>",
"jobComment": "<string>",
"teamId": "<string>",
"activityType": {
"name": "Unterhaltsreinigung",
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"hexCode": "#34c759",
"description": "Regular maintenance cleaning activities"
},
"exceptionJobId": "<string>",
"title": "<string>",
"requiredDrivingTime": 123,
"requiredBreakTime": 123,
"started": [
{
"trackingJobDate": "2023-11-07T05:31:56Z",
"userId": "<string>",
"time": "2023-11-07T05:31:56Z",
"isLive": true,
"wasAddedManually": true,
"salaryId": "<unknown>"
}
],
"absences": [
{
"absenceId": "<string>",
"dtStart": "2023-11-07T05:31:56Z",
"dtEnd": "2023-11-07T05:31:56Z",
"calculationType": "<string>",
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
}
}
],
"documentIds": [
"<string>"
]
}
]List Jobs in Timeframe
Retrieve jobs within a specified time frame with optional filters.
curl --request POST \
--url http://localhost:3000/v2/jobs/jobsInTimeFrame \
--header 'Content-Type: application/json' \
--header 'x-API-Key: <api-key>' \
--data '
{
"from": "1704067200000",
"to": "1704153600000",
"includeUsersInResponse": true,
"status": "<string>",
"ids": [
"<string>"
],
"jobTemplateId": "<string>",
"originalId": {},
"absenceId": {},
"notAccepted": {},
"objectId": "<string>",
"objectIds": [
"<string>"
],
"teamId": {},
"userIds": [
"<string>"
],
"activityTypeId": [
"<string>"
],
"currentlyWorking": true,
"liveJobs": true,
"assignmentIds": [
"<string>"
],
"tags": [
"<string>"
]
}
'import requests
url = "http://localhost:3000/v2/jobs/jobsInTimeFrame"
payload = {
"from": "1704067200000",
"to": "1704153600000",
"includeUsersInResponse": True,
"status": "<string>",
"ids": ["<string>"],
"jobTemplateId": "<string>",
"originalId": {},
"absenceId": {},
"notAccepted": {},
"objectId": "<string>",
"objectIds": ["<string>"],
"teamId": {},
"userIds": ["<string>"],
"activityTypeId": ["<string>"],
"currentlyWorking": True,
"liveJobs": True,
"assignmentIds": ["<string>"],
"tags": ["<string>"]
}
headers = {
"x-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '1704067200000',
to: '1704153600000',
includeUsersInResponse: true,
status: '<string>',
ids: ['<string>'],
jobTemplateId: '<string>',
originalId: {},
absenceId: {},
notAccepted: {},
objectId: '<string>',
objectIds: ['<string>'],
teamId: {},
userIds: ['<string>'],
activityTypeId: ['<string>'],
currentlyWorking: true,
liveJobs: true,
assignmentIds: ['<string>'],
tags: ['<string>']
})
};
fetch('http://localhost:3000/v2/jobs/jobsInTimeFrame', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/v2/jobs/jobsInTimeFrame",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'from' => '1704067200000',
'to' => '1704153600000',
'includeUsersInResponse' => true,
'status' => '<string>',
'ids' => [
'<string>'
],
'jobTemplateId' => '<string>',
'originalId' => [
],
'absenceId' => [
],
'notAccepted' => [
],
'objectId' => '<string>',
'objectIds' => [
'<string>'
],
'teamId' => [
],
'userIds' => [
'<string>'
],
'activityTypeId' => [
'<string>'
],
'currentlyWorking' => true,
'liveJobs' => true,
'assignmentIds' => [
'<string>'
],
'tags' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:3000/v2/jobs/jobsInTimeFrame"
payload := strings.NewReader("{\n \"from\": \"1704067200000\",\n \"to\": \"1704153600000\",\n \"includeUsersInResponse\": true,\n \"status\": \"<string>\",\n \"ids\": [\n \"<string>\"\n ],\n \"jobTemplateId\": \"<string>\",\n \"originalId\": {},\n \"absenceId\": {},\n \"notAccepted\": {},\n \"objectId\": \"<string>\",\n \"objectIds\": [\n \"<string>\"\n ],\n \"teamId\": {},\n \"userIds\": [\n \"<string>\"\n ],\n \"activityTypeId\": [\n \"<string>\"\n ],\n \"currentlyWorking\": true,\n \"liveJobs\": true,\n \"assignmentIds\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3000/v2/jobs/jobsInTimeFrame")
.header("x-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"1704067200000\",\n \"to\": \"1704153600000\",\n \"includeUsersInResponse\": true,\n \"status\": \"<string>\",\n \"ids\": [\n \"<string>\"\n ],\n \"jobTemplateId\": \"<string>\",\n \"originalId\": {},\n \"absenceId\": {},\n \"notAccepted\": {},\n \"objectId\": \"<string>\",\n \"objectIds\": [\n \"<string>\"\n ],\n \"teamId\": {},\n \"userIds\": [\n \"<string>\"\n ],\n \"activityTypeId\": [\n \"<string>\"\n ],\n \"currentlyWorking\": true,\n \"liveJobs\": true,\n \"assignmentIds\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/v2/jobs/jobsInTimeFrame")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["x-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"1704067200000\",\n \"to\": \"1704153600000\",\n \"includeUsersInResponse\": true,\n \"status\": \"<string>\",\n \"ids\": [\n \"<string>\"\n ],\n \"jobTemplateId\": \"<string>\",\n \"originalId\": {},\n \"absenceId\": {},\n \"notAccepted\": {},\n \"objectId\": \"<string>\",\n \"objectIds\": [\n \"<string>\"\n ],\n \"teamId\": {},\n \"userIds\": [\n \"<string>\"\n ],\n \"activityTypeId\": [\n \"<string>\"\n ],\n \"currentlyWorking\": true,\n \"liveJobs\": true,\n \"assignmentIds\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"type": "<unknown>",
"assignmentId": "<string>",
"targetTime": "<string>",
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"userId": "<string>",
"absenceId": "<string>",
"assignment": {
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"objectId": "507f1f77bcf86cd799439011",
"customerId": "507f1f77bcf86cd799439012",
"title": "Monthly Cleaning Service",
"iCalendar": {
"frequency": "<string>",
"tzid": "<string>",
"interval": 123,
"rrule": "<string>",
"bySetPos": 123,
"byDay": [
"<string>"
],
"byMonthDay": "<string>",
"byMonth": [
123
],
"dtstart": "<string>",
"dtend": "<string>",
"exDate": [
"<string>"
]
},
"material": [
{
"productId": "507f1f77bcf86cd799439013",
"quantity": 2
}
],
"weeklyTimeBudget": 8.5,
"type": "normal",
"activityTypeId": "507f1f77bcf86cd799439014",
"comment": "Special instructions for weekend work",
"commentRequired": false,
"sign": false,
"documentIds": [
"507f1f77bcf86cd799439015",
"507f1f77bcf86cd799439016"
],
"billing": {
"": [
{
"quantity": 2.5,
"unit": "hours",
"price": 32.5,
"tax": 0.19,
"title": "Cleaning Service",
"taxRate": {
"type": "VAT",
"rate": 0.19,
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"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"
}
],
"lastInvoiceDate": "2023-11-07T05:31:56Z",
"defaultInvoiceTemplateId": "<string>"
},
"quota": {
"enabled": true,
"total": 123,
"billingRateEnabled": true,
"billingRateAmount": 123,
"expectedMargin": 123
},
"autoGenerateInvoiceError": {},
"costUnit": "<string>",
"jobChatId": "507f1f77bcf86cd799439017",
"linkedCache": [
{}
]
},
"notifyObjectManager": "<unknown>",
"masterJobId": "<string>",
"needsJobTemplate": "<unknown>",
"timeTrackings": [
{
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"userId": "<string>",
"jobId": "<string>",
"objectId": "<string>",
"timeStart": "2023-11-07T05:31:56Z",
"timeEnd": "2023-11-07T05:31:56Z",
"workingTime": 1,
"targetTime": 1,
"break": 1,
"requiredBreakTime": 1,
"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": "<string>",
"reason": "<string>",
"errors": [
"<string>"
],
"allFoundErrors": [
"<string>"
],
"salaryIds": [
"<string>"
],
"objectManagerId": "<string>",
"signingId": "<string>",
"activityTypeId": "<string>",
"assignmentId": "<string>"
}
],
"salaries": [
{
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"chatId": "<string>",
"userId": "<string>",
"timeTrackingId": "<string>",
"billed": true,
"type": "<string>",
"objectId": "<string>",
"workingTime": 123,
"targetTime": 123,
"salaryPerHour": 123,
"salary": 123,
"reason": "<string>",
"approvedByUserId": "<string>",
"updatedByUserId": "<string>",
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"addedTime": 123,
"break": 123,
"minBreakTime": 123,
"absenceId": "<string>",
"jobId": "<string>",
"trackingJobDate": "2023-11-07T05:31:56Z",
"ignoreDoubleSalaries": true,
"roundedUp": true,
"roundUpSeconds": 123,
"payType": "<string>",
"nightWorkingTime": 123,
"sundayWorkingTime": 123,
"publicHolidayWorkingTime": 123,
"surcharges": [
{
"seconds": 1,
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"surchargeId": "<string>",
"name": "<string>",
"surcharge": 123,
"activeOn": {},
"userId": "<string>",
"date": "2023-12-25",
"activeTimeFrames": [
{
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z"
}
],
"_cash": 0
}
],
"drivingTime": 123,
"assignmentId": "<string>",
"activityTypeId": "<string>",
"releasedBySystem": true
}
],
"regionId": "<string>",
"splitId": "<string>",
"acceptedStatus": "<unknown>",
"jobComment": "<string>",
"teamId": "<string>",
"activityType": {
"name": "Unterhaltsreinigung",
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
},
"hexCode": "#34c759",
"description": "Regular maintenance cleaning activities"
},
"exceptionJobId": "<string>",
"title": "<string>",
"requiredDrivingTime": 123,
"requiredBreakTime": 123,
"started": [
{
"trackingJobDate": "2023-11-07T05:31:56Z",
"userId": "<string>",
"time": "2023-11-07T05:31:56Z",
"isLive": true,
"wasAddedManually": true,
"salaryId": "<unknown>"
}
],
"absences": [
{
"absenceId": "<string>",
"dtStart": "2023-11-07T05:31:56Z",
"dtEnd": "2023-11-07T05:31:56Z",
"calculationType": "<string>",
"_id": "<string>",
"number": 123,
"companyId": "<string>",
"status": {
"status": 123,
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"lastModifiedBy": "<string>"
}
}
],
"documentIds": [
"<string>"
]
}
]Authorizations
Body
Time frame and optional filters
Start of the time frame
"1704067200000"
End of the time frame
"1704153600000"
Whether to include users in the response
Filter by status (single value or comma-separated list)
Filter by IDs (array of objectIds)
Filter by job template ID
Filter to search jobs by their original ID after they have been moved
Filter to search jobs by their absence ID
Filter to search jobs that are not accepted
Filter by object ID
Filter by object IDs
Filter to search for jobs by team ID. Jobs with multiple users share the same team ID.
Filter to search jobs by user IDs. If the user ID is "unassigned_jobs", it will search for jobs without a user ID.
User ID to filter jobs by. If "unassigned_jobs" is included, it will also search for jobs without a user ID.
Filter to search jobs by activity type IDs. It can handle multiple activity type IDs and also includes checks for assignments, jobs, and salaries.
Activity Type ID to filter by
Filter to search for users who are currently working on active jobs.
Filter to search jobs that are currently live, started within the last 12 hours.
Filter to search for entities by assignment IDs. This filter allows you to find entities that are associated with specific assignments.
Filter by tags
Response
Jobs retrieved successfully
Unique identifier of the entity
Unique number of the entity, used for identification
The ID of the company this entity belongs to
Entity Status information
Show child attributes
Show child attributes
ID of the chat associated with this entity
Type of the job
Assignment ID
Target time for the job in minutes
Start time of the job
End time of the job
ID of the user
Absence Id, if this job is connected to an absence (if it needs a replacement)
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.
Show child attributes
Show child attributes
Whether to notify the object manager
Master job ID if this is a replacement job
Whether the job needs a template
Time tracking entries for the job
Show child attributes
Show child attributes
Salaries for the job
Show child attributes
Show child attributes
Region ID
Split job ID
Accepted status
Comment for the job
Team ID
Activity type for the job
Show child attributes
Show child attributes
Exception job ID
Title of the job
Required driving time in minutes
Required break time in minutes
Job started entries
Show child attributes
Show child attributes
Absences related to the job
Show child attributes
Show child attributes
Document IDs related to the job
Was this page helpful?

