Mendato API
API Reference for Mendato API
Terms of Service
API Endpoints
https://api.mendato.com/graphql
Version
1.4.0
Queries
absenceTypes
Description
The company's available absence types with label, paid flag and whether they deduct from the vacation quota.
Response
Returns [AbsenceTypeDefinition!]!
Example
Query
query absenceTypes {
absenceTypes {
type
label
paid
deductsFromVacationQuota
}
}
Response
{
"data": {
"absenceTypes": [
{
"type": "VACATION",
"label": "xyz789",
"paid": false,
"deductsFromVacationQuota": false
}
]
}
}
company
Description
Master data of the authenticated company (the API token's company).
Response
Returns a Company
Example
Query
query company {
company {
id
companyName
legalForm
streetAddress
zip
city
country
language
currency
taxNumber
vatId
email
phone
fax
website
iban
bic
registerCourt
companyRegistrationNumber
managingDirectors {
...ManagingDirectorFragment
}
logoUrl
createdAt
}
}
Response
{
"data": {
"company": {
"id": "4",
"companyName": "abc123",
"legalForm": "DE_EINZELUNTERNEHMER",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"language": LanguageTag,
"currency": CurrencyCode,
"taxNumber": "xyz789",
"vatId": "abc123",
"email": "abc123",
"phone": "abc123",
"fax": "abc123",
"website": "xyz789",
"iban": "abc123",
"bic": "abc123",
"registerCourt": "abc123",
"companyRegistrationNumber": "abc123",
"managingDirectors": [ManagingDirector],
"logoUrl": "http://www.test.com/",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
creditNote
Response
Returns a CreditNote
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query creditNote($id: ID!) {
creditNote(id: $id) {
id
company {
...CompanyFragment
}
subcontractor {
...SubcontractorFragment
}
subcontractorContactPerson {
...SubcontractorContactPersonFragment
}
type
status
number
numberPrefix
numberSuffix
items {
...CreditNoteItemFragment
}
totalAmount
totalNetAmount
dueDate
dueDateFormat
hideDueDateText
creditNoteDate
deliveryDate {
... on SingleDate {
...SingleDateFragment
}
... on DateRange {
...DateRangeFragment
}
}
hasKleinunternehmerregelung
introductionText
closingText
isNegative
creditNotePdf
sentManually
completedAt
sentAt
paidAt
cancelledAt
language
currency
createdAt
payments {
...PaymentFragment
}
originalCreditNote {
...CreditNoteFragment
}
cancellationCreditNote {
...CreditNoteFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"creditNote": {
"id": 4,
"company": Company,
"subcontractor": Subcontractor,
"subcontractorContactPerson": SubcontractorContactPerson,
"type": "CREDIT_NOTE",
"status": "DRAFT",
"number": 123,
"numberPrefix": "abc123",
"numberSuffix": "xyz789",
"items": [CreditNoteItem],
"totalAmount": 123,
"totalNetAmount": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": false,
"creditNoteDate": "2007-12-03",
"deliveryDate": SingleDate,
"hasKleinunternehmerregelung": true,
"introductionText": "xyz789",
"closingText": "xyz789",
"isNegative": true,
"creditNotePdf": "abc123",
"sentManually": false,
"completedAt": "2007-12-03T10:15:30Z",
"sentAt": "2007-12-03T10:15:30Z",
"paidAt": "2007-12-03",
"cancelledAt": "2007-12-03",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"payments": [Payment],
"originalCreditNote": CreditNote,
"cancellationCreditNote": CreditNote
}
}
}
creditNoteDraft
Description
Builds an unsaved credit note draft prefilled from an existing credit note. Nothing is persisted.
Response
Returns a CreditNoteDraft
Arguments
| Name | Description |
|---|---|
creditNoteId - ID
|
Example
Query
query creditNoteDraft($creditNoteId: ID) {
creditNoteDraft(creditNoteId: $creditNoteId) {
subcontractor {
...SubcontractorFragment
}
subcontractorContactPerson {
...SubcontractorContactPersonFragment
}
status
number
dueDate
dueDateFormat
hideDueDateText
creditNoteDate
deliveryDate {
... on SingleDate {
...SingleDateFragment
}
... on DateRange {
...DateRangeFragment
}
}
items {
...CreditNoteDraftItemFragment
}
introductionText
closingText
language
currency
}
}
Variables
{"creditNoteId": "4"}
Response
{
"data": {
"creditNoteDraft": {
"subcontractor": Subcontractor,
"subcontractorContactPerson": SubcontractorContactPerson,
"status": "DRAFT",
"number": 987,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": false,
"creditNoteDate": "2007-12-03",
"deliveryDate": SingleDate,
"items": [CreditNoteDraftItem],
"introductionText": "xyz789",
"closingText": "abc123",
"language": LanguageTag,
"currency": CurrencyCode
}
}
}
creditNoteItem
Response
Returns a CreditNoteItem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query creditNoteItem($id: ID!) {
creditNoteItem(id: $id) {
id
position
title
description
quantity
unitPrice
taxRate
unit
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"creditNoteItem": {
"id": "4",
"position": 987,
"title": "abc123",
"description": "xyz789",
"quantity": 987.65,
"unitPrice": 123,
"taxRate": 123.45,
"unit": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
creditNotes
Response
Returns a CreditNoteConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query for numberPrefix and number, subcontractor name or item title |
status - [CreditNoteStatus!]
|
Only credit notes with one of the given statuses will be returned |
creditNoteDateFrom - Date
|
Only credit notes with credit note date at this date or later will be returned |
creditNoteDateTo - Date
|
Only credit notes with credit note date up to and including this date will be returned |
dueDateFrom - Date
|
|
dueDateTo - Date
|
|
createdFrom - Date
|
Only credit notes created at this date or later will be returned |
createdTo - Date
|
Only credit notes created up to and including this date will be returned |
isCompleted - Boolean
|
|
isPaid - Boolean
|
isPaid: false returns outstanding credit notes (not paid and not cancelled) |
subcontractorId - ID
|
|
objectId - ID
|
Only credit notes with at least one item assigned to this object |
orderBy - CreditNoteOrder
|
Example
Query
query creditNotes(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$status: [CreditNoteStatus!],
$creditNoteDateFrom: Date,
$creditNoteDateTo: Date,
$dueDateFrom: Date,
$dueDateTo: Date,
$createdFrom: Date,
$createdTo: Date,
$isCompleted: Boolean,
$isPaid: Boolean,
$subcontractorId: ID,
$objectId: ID,
$orderBy: CreditNoteOrder
) {
creditNotes(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
status: $status,
creditNoteDateFrom: $creditNoteDateFrom,
creditNoteDateTo: $creditNoteDateTo,
dueDateFrom: $dueDateFrom,
dueDateTo: $dueDateTo,
createdFrom: $createdFrom,
createdTo: $createdTo,
isCompleted: $isCompleted,
isPaid: $isPaid,
subcontractorId: $subcontractorId,
objectId: $objectId,
orderBy: $orderBy
) {
edges {
...CreditNoteEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 987,
"last": 123,
"query": "xyz789",
"status": ["DRAFT"],
"creditNoteDateFrom": "2007-12-03",
"creditNoteDateTo": "2007-12-03",
"dueDateFrom": "2007-12-03",
"dueDateTo": "2007-12-03",
"createdFrom": "2007-12-03",
"createdTo": "2007-12-03",
"isCompleted": true,
"isPaid": true,
"subcontractorId": "4",
"objectId": "4",
"orderBy": CreditNoteOrder
}
Response
{
"data": {
"creditNotes": {
"edges": [CreditNoteEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
customer
Example
Query
query customer($id: ID!) {
customer(id: $id) {
id
number
type
salutation
firstName
lastName
companyName
addressSupplement
streetAddress
zip
city
country
emails {
...CustomerEmailFragment
}
phone
fax
website
vatId
datevAccount
sellerIdentifier
leitwegId
invoiceSettings {
...CustomerInvoiceSettingsFragment
}
note
tags
createdAt
invoices {
...InvoiceConnectionFragment
}
estimates {
...EstimateConnectionFragment
}
receipts {
...ReceiptConnectionFragment
}
objects {
...ObjectConnectionFragment
}
contactPersons {
...CustomerContactPersonConnectionFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"customer": {
"id": 4,
"number": 987,
"type": "PERSON",
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"companyName": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"emails": [CustomerEmail],
"phone": "abc123",
"fax": "abc123",
"website": "xyz789",
"vatId": "xyz789",
"datevAccount": 123,
"sellerIdentifier": "abc123",
"leitwegId": "xyz789",
"invoiceSettings": CustomerInvoiceSettings,
"note": "abc123",
"tags": ["xyz789"],
"createdAt": "2007-12-03T10:15:30Z",
"invoices": InvoiceConnection,
"estimates": EstimateConnection,
"receipts": ReceiptConnection,
"objects": ObjectConnection,
"contactPersons": CustomerContactPersonConnection
}
}
}
customerContactPerson
Response
Returns a CustomerContactPerson
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query customerContactPerson($id: ID!) {
customerContactPerson(id: $id) {
id
isDefault
salutation
firstName
lastName
role
email
phone
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"customerContactPerson": {
"id": 4,
"isDefault": true,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"role": "xyz789",
"email": "abc123",
"phone": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
customers
Response
Returns a CustomerConnection!
Example
Query
query customers(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String
) {
customers(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query
) {
edges {
...CustomerEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 123,
"query": "abc123"
}
Response
{
"data": {
"customers": {
"edges": [CustomerEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
employee
Example
Query
query employee($id: ID!) {
employee(id: $id) {
id
salutation
firstName
lastName
status
cancelDate
addressSupplement
streetAddress
zip
city
country
state {
...StateFragment
}
email
phone
birthDate
personnelNumberPrefix
personnelNumber
fullPersonnelNumber
note
hasDrivingLicenceClassB
locationBasedTimeRecording
createdAt
profilePicture {
...EmployeeProfilePictureFragment
}
timeAccount {
...EmployeeTimeAccountFragment
}
activeWorkingTimeModel {
...EmployeeWorkingTimeModelFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"employee": {
"id": 4,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"status": "IDLE",
"cancelDate": "2007-12-03",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "abc123",
"city": "abc123",
"country": "US",
"state": State,
"email": "abc123",
"phone": "abc123",
"birthDate": "2007-12-03",
"personnelNumberPrefix": "abc123",
"personnelNumber": 123,
"fullPersonnelNumber": "xyz789",
"note": "xyz789",
"hasDrivingLicenceClassB": true,
"locationBasedTimeRecording": false,
"createdAt": "2007-12-03T10:15:30Z",
"profilePicture": EmployeeProfilePicture,
"timeAccount": EmployeeTimeAccount,
"activeWorkingTimeModel": EmployeeWorkingTimeModel
}
}
}
employeeWorkingTimeModel
Response
Returns an EmployeeWorkingTimeModel
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query employeeWorkingTimeModel($id: ID!) {
employeeWorkingTimeModel(id: $id) {
id
employee {
...EmployeeFragment
}
startDate
endDate
weeklyHours
mondayHours
tuesdayHours
wednesdayHours
thursdayHours
fridayHours
saturdayHours
sundayHours
grossHourlyWage
paidInterimCalculation
isFirstJourneyPaid
salaryCalculation
absenceDurationCalculation
timeAccountEnabled
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"employeeWorkingTimeModel": {
"id": "4",
"employee": Employee,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"weeklyHours": 987.65,
"mondayHours": 987.65,
"tuesdayHours": 987.65,
"wednesdayHours": 123.45,
"thursdayHours": 987.65,
"fridayHours": 987.65,
"saturdayHours": 987.65,
"sundayHours": 987.65,
"grossHourlyWage": 123,
"paidInterimCalculation": "FULL_INTERIM",
"isFirstJourneyPaid": false,
"salaryCalculation": "ACTUAL_HOURS",
"absenceDurationCalculation": "PLAN_HOURS",
"timeAccountEnabled": true,
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
employeeWorkingTimeModels
Response
Returns an EmployeeWorkingTimeModelConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
startDateFrom - Date
|
Filter by start date from this date onwards |
startDateTo - Date
|
Filter by start date up to and including this date |
endDateFrom - Date
|
Filter by end date from this date onwards |
endDateTo - Date
|
Filter by end date up to and including this date |
activeFrom - Date
|
Only workingTimeModels active at this date or later will be counted |
activeTo - Date
|
Only workingTimeModels active before and including this date will be counted |
isActive - Boolean
|
Filter by active status today (start_date <= today AND (end_date IS NULL OR end_date >= today)) |
employeeIds - [ID!]
|
Filter by specific employee IDs |
query - String
|
Query for employee name or personnel number |
timeAccountEnabled - Boolean
|
Filter by time account enabled status |
orderBy - EmployeeWorkingTimeModelOrder
|
Example
Query
query employeeWorkingTimeModels(
$after: String,
$before: String,
$first: Int,
$last: Int,
$startDateFrom: Date,
$startDateTo: Date,
$endDateFrom: Date,
$endDateTo: Date,
$activeFrom: Date,
$activeTo: Date,
$isActive: Boolean,
$employeeIds: [ID!],
$query: String,
$timeAccountEnabled: Boolean,
$orderBy: EmployeeWorkingTimeModelOrder
) {
employeeWorkingTimeModels(
after: $after,
before: $before,
first: $first,
last: $last,
startDateFrom: $startDateFrom,
startDateTo: $startDateTo,
endDateFrom: $endDateFrom,
endDateTo: $endDateTo,
activeFrom: $activeFrom,
activeTo: $activeTo,
isActive: $isActive,
employeeIds: $employeeIds,
query: $query,
timeAccountEnabled: $timeAccountEnabled,
orderBy: $orderBy
) {
edges {
...EmployeeWorkingTimeModelEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"first": 987,
"last": 987,
"startDateFrom": "2007-12-03",
"startDateTo": "2007-12-03",
"endDateFrom": "2007-12-03",
"endDateTo": "2007-12-03",
"activeFrom": "2007-12-03",
"activeTo": "2007-12-03",
"isActive": false,
"employeeIds": ["4"],
"query": "abc123",
"timeAccountEnabled": false,
"orderBy": EmployeeWorkingTimeModelOrder
}
Response
{
"data": {
"employeeWorkingTimeModels": {
"edges": [EmployeeWorkingTimeModelEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
employees
Response
Returns an EmployeeConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
ids - [ID!]
|
Ids of employees to query for |
query - String
|
Query for name or personnel number |
status - EmployeeStatus
|
|
statusCheckDate - Date
|
Check the EmployeeStatus at this date |
serviceId - ID
|
|
cityOrZip - String
|
|
hasDrivingLicenceClassB - Boolean
|
|
orderBy - EmployeeOrder
|
Example
Query
query employees(
$after: String,
$before: String,
$first: Int,
$last: Int,
$ids: [ID!],
$query: String,
$status: EmployeeStatus,
$statusCheckDate: Date,
$serviceId: ID,
$cityOrZip: String,
$hasDrivingLicenceClassB: Boolean,
$orderBy: EmployeeOrder
) {
employees(
after: $after,
before: $before,
first: $first,
last: $last,
ids: $ids,
query: $query,
status: $status,
statusCheckDate: $statusCheckDate,
serviceId: $serviceId,
cityOrZip: $cityOrZip,
hasDrivingLicenceClassB: $hasDrivingLicenceClassB,
orderBy: $orderBy
) {
edges {
...EmployeeEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"first": 987,
"last": 123,
"ids": [4],
"query": "abc123",
"status": "IDLE",
"statusCheckDate": "2007-12-03",
"serviceId": 4,
"cityOrZip": "xyz789",
"hasDrivingLicenceClassB": false,
"orderBy": EmployeeOrder
}
Response
{
"data": {
"employees": {
"edges": [EmployeeEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
estimate
Example
Query
query estimate($id: ID!) {
estimate(id: $id) {
id
company {
...CompanyFragment
}
customer {
...CustomerFragment
}
status
number
numberPrefix
items {
...EstimateItemFragment
}
estimateDate
validityDate
hasKleinunternehmerregelung
introductionText
closingText
estimatePdf
webUrl
webEnabled
isAnsweredByCustomer
declineReason
declineNote
sentManually
completedAt
sentAt
acceptedAt
declinedAt
language
currency
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"estimate": {
"id": 4,
"company": Company,
"customer": Customer,
"status": "DRAFT",
"number": 123,
"numberPrefix": "xyz789",
"items": [EstimateItem],
"estimateDate": "2007-12-03",
"validityDate": "2007-12-03",
"hasKleinunternehmerregelung": true,
"introductionText": "xyz789",
"closingText": "abc123",
"estimatePdf": "abc123",
"webUrl": "http://www.test.com/",
"webEnabled": false,
"isAnsweredByCustomer": false,
"declineReason": "PRICE_TOO_HIGH",
"declineNote": "xyz789",
"sentManually": true,
"completedAt": "2007-12-03T10:15:30Z",
"sentAt": "2007-12-03T10:15:30Z",
"acceptedAt": "2007-12-03T10:15:30Z",
"declinedAt": "2007-12-03T10:15:30Z",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
estimateDraft
Description
Builds an unsaved estimate draft prefilled from an existing estimate. Nothing is persisted.
Response
Returns an EstimateDraft
Arguments
| Name | Description |
|---|---|
estimateId - ID
|
Example
Query
query estimateDraft($estimateId: ID) {
estimateDraft(estimateId: $estimateId) {
customer {
...CustomerFragment
}
status
number
estimateDate
validityDate
items {
...EstimateDraftItemFragment
}
introductionText
closingText
language
currency
}
}
Variables
{"estimateId": 4}
Response
{
"data": {
"estimateDraft": {
"customer": Customer,
"status": "DRAFT",
"number": 987,
"estimateDate": "2007-12-03",
"validityDate": "2007-12-03",
"items": [EstimateDraftItem],
"introductionText": "xyz789",
"closingText": "xyz789",
"language": LanguageTag,
"currency": CurrencyCode
}
}
}
estimateItem
Response
Returns an EstimateItem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query estimateItem($id: ID!) {
estimateItem(id: $id) {
id
position
title
description
quantity
unitPrice
taxRate
unit
object {
...ObjectFragment
}
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"estimateItem": {
"id": "4",
"position": 987,
"title": "abc123",
"description": "xyz789",
"quantity": 123.45,
"unitPrice": 123,
"taxRate": 987.65,
"unit": "xyz789",
"object": Object,
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
estimates
Response
Returns an EstimateConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query for numberPrefix and number or customer name |
status - [EstimateStatus!]
|
Only estimates with one of the given statuses will be returned |
estimateDateFrom - Date
|
Only estimates with estimate date at this date or later will be returned |
estimateDateTo - Date
|
Only estimates with estimate date up to and including this date will be returned |
validityDateFrom - Date
|
Only estimates with validity date at this date or later will be returned |
validityDateTo - Date
|
Only estimates with validity date up to and including this date will be returned |
customerId - ID
|
|
serviceId - ID
|
Only estimates with at least one item assigned to this service |
materialId - ID
|
Only estimates with at least one item assigned to this material |
objectId - ID
|
Only estimates with at least one item assigned to this object |
orderBy - EstimateOrder
|
Example
Query
query estimates(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$status: [EstimateStatus!],
$estimateDateFrom: Date,
$estimateDateTo: Date,
$validityDateFrom: Date,
$validityDateTo: Date,
$customerId: ID,
$serviceId: ID,
$materialId: ID,
$objectId: ID,
$orderBy: EstimateOrder
) {
estimates(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
status: $status,
estimateDateFrom: $estimateDateFrom,
estimateDateTo: $estimateDateTo,
validityDateFrom: $validityDateFrom,
validityDateTo: $validityDateTo,
customerId: $customerId,
serviceId: $serviceId,
materialId: $materialId,
objectId: $objectId,
orderBy: $orderBy
) {
edges {
...EstimateEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 987,
"last": 987,
"query": "xyz789",
"status": ["DRAFT"],
"estimateDateFrom": "2007-12-03",
"estimateDateTo": "2007-12-03",
"validityDateFrom": "2007-12-03",
"validityDateTo": "2007-12-03",
"customerId": 4,
"serviceId": 4,
"materialId": "4",
"objectId": "4",
"orderBy": EstimateOrder
}
Response
{
"data": {
"estimates": {
"edges": [EstimateEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
holiday
invoice
Example
Query
query invoice($id: ID!) {
invoice(id: $id) {
id
company {
...CompanyFragment
}
customer {
...CustomerFragment
}
type
status
number
numberPrefix
numberSuffix
items {
...InvoiceItemFragment
}
dueDate
dueDateFormat
hideDueDateText
invoiceDate
deliveryDate {
... on SingleDate {
...SingleDateFragment
}
... on DateRange {
...DateRangeFragment
}
}
totalAmount
totalNetAmount
outstandingAmount
hasKleinunternehmerregelung
introductionText
closingText
isNegative
invoicePdf
sentManually
completedAt
sentAt
paidAt
cancelledAt
language
currency
createdAt
payments {
...PaymentFragment
}
originalInvoice {
...InvoiceFragment
}
cancellationInvoice {
...InvoiceFragment
}
skontoEnabled
skontoPercent
skontoDays
skontoDeadline
skontoApplied
skontoAmount
skontoMessage
serviceReceipts {
...ServiceReceiptFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"invoice": {
"id": "4",
"company": Company,
"customer": Customer,
"type": "INVOICE",
"status": "DRAFT",
"number": 987,
"numberPrefix": "abc123",
"numberSuffix": "abc123",
"items": [InvoiceItem],
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"invoiceDate": "2007-12-03",
"deliveryDate": SingleDate,
"totalAmount": 987,
"totalNetAmount": 987,
"outstandingAmount": 987,
"hasKleinunternehmerregelung": true,
"introductionText": "xyz789",
"closingText": "xyz789",
"isNegative": false,
"invoicePdf": "abc123",
"sentManually": true,
"completedAt": "2007-12-03T10:15:30Z",
"sentAt": "2007-12-03T10:15:30Z",
"paidAt": "2007-12-03",
"cancelledAt": "2007-12-03",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"payments": [Payment],
"originalInvoice": Invoice,
"cancellationInvoice": Invoice,
"skontoEnabled": false,
"skontoPercent": 987.65,
"skontoDays": 987,
"skontoDeadline": "2007-12-03",
"skontoApplied": true,
"skontoAmount": 123,
"skontoMessage": "xyz789",
"serviceReceipts": [ServiceReceipt]
}
}
}
invoiceDraft
Description
Builds an unsaved invoice draft prefilled from an estimate (estimateId) or an existing invoice (invoiceId). Nothing is persisted.
Response
Returns an InvoiceDraft
Example
Query
query invoiceDraft(
$estimateId: ID,
$invoiceId: ID
) {
invoiceDraft(
estimateId: $estimateId,
invoiceId: $invoiceId
) {
customer {
...CustomerFragment
}
status
number
dueDate
dueDateFormat
hideDueDateText
invoiceDate
deliveryDate {
... on SingleDate {
...SingleDateFragment
}
... on DateRange {
...DateRangeFragment
}
}
items {
...InvoiceDraftItemFragment
}
introductionText
closingText
skontoEnabled
skontoPercent
skontoDays
skontoDeadline
skontoMessage
language
currency
}
}
Variables
{"estimateId": 4, "invoiceId": 4}
Response
{
"data": {
"invoiceDraft": {
"customer": Customer,
"status": "DRAFT",
"number": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"invoiceDate": "2007-12-03",
"deliveryDate": SingleDate,
"items": [InvoiceDraftItem],
"introductionText": "abc123",
"closingText": "xyz789",
"skontoEnabled": true,
"skontoPercent": 987.65,
"skontoDays": 987,
"skontoDeadline": "2007-12-03",
"skontoMessage": "xyz789",
"language": LanguageTag,
"currency": CurrencyCode
}
}
}
invoiceItem
Response
Returns an InvoiceItem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query invoiceItem($id: ID!) {
invoiceItem(id: $id) {
id
position
title
description
quantity
unitPrice
taxRate
unit
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"invoiceItem": {
"id": 4,
"position": 123,
"title": "abc123",
"description": "xyz789",
"quantity": 987.65,
"unitPrice": 123,
"taxRate": 987.65,
"unit": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
invoices
Response
Returns an InvoiceConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query for numberPrefix and number, customer name or item title |
status - [InvoiceStatus!]
|
Only invoices with one of the given statuses will be returned |
invoiceDateFrom - Date
|
Only invoices with invoice date at this date or later will be returned |
invoiceDateTo - Date
|
Only invoices with invoice date up to and including this date will be returned |
dueDateFrom - Date
|
|
dueDateTo - Date
|
|
createdFrom - Date
|
Only invoices created at this date or later will be returned |
createdTo - Date
|
Only invoices created up to and including this date will be returned |
isCompleted - Boolean
|
|
isPaid - Boolean
|
isPaid: false returns outstanding invoices (not paid and not cancelled) |
customerId - ID
|
|
orderId - ID
|
|
serviceId - ID
|
Only invoices with at least one item assigned to this service |
objectId - ID
|
Only invoices with at least one item assigned to this object |
orderBy - InvoiceOrder
|
Example
Query
query invoices(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$status: [InvoiceStatus!],
$invoiceDateFrom: Date,
$invoiceDateTo: Date,
$dueDateFrom: Date,
$dueDateTo: Date,
$createdFrom: Date,
$createdTo: Date,
$isCompleted: Boolean,
$isPaid: Boolean,
$customerId: ID,
$orderId: ID,
$serviceId: ID,
$objectId: ID,
$orderBy: InvoiceOrder
) {
invoices(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
status: $status,
invoiceDateFrom: $invoiceDateFrom,
invoiceDateTo: $invoiceDateTo,
dueDateFrom: $dueDateFrom,
dueDateTo: $dueDateTo,
createdFrom: $createdFrom,
createdTo: $createdTo,
isCompleted: $isCompleted,
isPaid: $isPaid,
customerId: $customerId,
orderId: $orderId,
serviceId: $serviceId,
objectId: $objectId,
orderBy: $orderBy
) {
edges {
...InvoiceEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 987,
"last": 123,
"query": "abc123",
"status": ["DRAFT"],
"invoiceDateFrom": "2007-12-03",
"invoiceDateTo": "2007-12-03",
"dueDateFrom": "2007-12-03",
"dueDateTo": "2007-12-03",
"createdFrom": "2007-12-03",
"createdTo": "2007-12-03",
"isCompleted": false,
"isPaid": false,
"customerId": "4",
"orderId": 4,
"serviceId": "4",
"objectId": 4,
"orderBy": InvoiceOrder
}
Response
{
"data": {
"invoices": {
"edges": [InvoiceEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
material
Example
Query
query material($id: ID!) {
material(id: $id) {
id
number
name
description
manufacturer
consumptionUnit
salesUnitPrice
salesTaxRate
salesUnit
quantityPerSalesUnit
stockUnit
quantityPerStockUnit
stockEanNumber
revenueAccount
group {
...MaterialGroupFragment
}
originalImageUrl
smallImageUrl
largeImageUrl
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"material": {
"id": 4,
"number": 123,
"name": "abc123",
"description": "xyz789",
"manufacturer": "abc123",
"consumptionUnit": "xyz789",
"salesUnitPrice": 987,
"salesTaxRate": 987.65,
"salesUnit": "xyz789",
"quantityPerSalesUnit": 123.45,
"stockUnit": "abc123",
"quantityPerStockUnit": 123.45,
"stockEanNumber": "xyz789",
"revenueAccount": 123,
"group": MaterialGroup,
"originalImageUrl": "http://www.test.com/",
"smallImageUrl": "http://www.test.com/",
"largeImageUrl": "http://www.test.com/",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
materialGroup
Response
Returns a MaterialGroup
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query materialGroup($id: ID!) {
materialGroup(id: $id) {
id
name
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"materialGroup": {
"id": "4",
"name": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
materialGroups
Response
Returns a MaterialGroupConnection!
Example
Query
query materialGroups(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$orderBy: MaterialGroupOrder
) {
materialGroups(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
orderBy: $orderBy
) {
edges {
...MaterialGroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 987,
"last": 123,
"query": "xyz789",
"orderBy": MaterialGroupOrder
}
Response
{
"data": {
"materialGroups": {
"edges": [MaterialGroupEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
materials
Response
Returns a MaterialConnection!
Example
Query
query materials(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$manufacturer: String,
$orderBy: MaterialOrder
) {
materials(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
manufacturer: $manufacturer,
orderBy: $orderBy
) {
edges {
...MaterialEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"first": 123,
"last": 987,
"query": "abc123",
"manufacturer": "xyz789",
"orderBy": MaterialOrder
}
Response
{
"data": {
"materials": {
"edges": [MaterialEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
nextEmployeePersonnelNumber
Response
Returns an Int!
Example
Query
query nextEmployeePersonnelNumber {
nextEmployeePersonnelNumber
}
Response
{"data": {"nextEmployeePersonnelNumber": 987}}
object
Example
Query
query object($id: ID!) {
object(id: $id) {
id
customer {
...CustomerFragment
}
customerContactPerson {
...CustomerContactPersonFragment
}
number
name
addressSupplement
streetAddress
zip
city
country
state {
...StateFragment
}
location {
...LocationFragment
}
locationRadiusMeters
email
phone
extraInvoiceAddressFieldLines
costCenter
invoiceAddress {
...ObjectInvoiceAddressFragment
}
invoiceSettings {
...ObjectInvoiceSettingsFragment
}
tags
createdAt
rooms {
...ObjectRoomConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
estimates {
...EstimateConnectionFragment
}
receipts {
...ReceiptConnectionFragment
}
serviceReceipts {
...ServiceReceiptConnectionFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"object": {
"id": 4,
"customer": Customer,
"customerContactPerson": CustomerContactPerson,
"number": 987,
"name": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"state": State,
"location": Location,
"locationRadiusMeters": 987,
"email": "xyz789",
"phone": "xyz789",
"extraInvoiceAddressFieldLines": "abc123",
"costCenter": "abc123",
"invoiceAddress": ObjectInvoiceAddress,
"invoiceSettings": ObjectInvoiceSettings,
"tags": ["xyz789"],
"createdAt": "2007-12-03T10:15:30Z",
"rooms": ObjectRoomConnection,
"invoices": InvoiceConnection,
"estimates": EstimateConnection,
"receipts": ReceiptConnection,
"serviceReceipts": ServiceReceiptConnection
}
}
}
objects
Response
Returns an ObjectConnection!
Example
Query
query objects(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$orderBy: ObjectOrder
) {
objects(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
orderBy: $orderBy
) {
edges {
...ObjectEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"first": 123,
"last": 987,
"query": "abc123",
"orderBy": ObjectOrder
}
Response
{
"data": {
"objects": {
"edges": [ObjectEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
operation
Example
Query
query operation($id: ID!) {
operation(id: $id) {
id
object {
...ObjectFragment
}
instructions
services {
...OperationServiceFragment
}
requiredExecutors
missingExecutors
toDos
executor {
...OperationExecutorFragment
}
executors {
...OperationExecutorConnectionFragment
}
isExecuted
executionStartDate
executionStartTime
executionEndDate
executionEndTime
duration
originalExecutionStartDate
originalExecutionStartTime
originalExecutionEndDate
originalExecutionEndTime
order {
...OrderFragment
}
orderShift {
...OrderShiftFragment
}
holiday {
...HolidayFragment
}
report {
...OperationReportFragment
}
serviceReceipts {
...ServiceReceiptConnectionFragment
}
billingItems {
...OperationBillingItemConnectionFragment
}
materials {
...OperationMaterialConnectionFragment
}
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"operation": {
"id": 4,
"object": Object,
"instructions": "abc123",
"services": [OperationService],
"requiredExecutors": 123,
"missingExecutors": 987,
"toDos": ["MISSING_QUANTITY"],
"executor": OperationExecutor,
"executors": OperationExecutorConnection,
"isExecuted": false,
"executionStartDate": "2007-12-03",
"executionStartTime": "10:15:30Z",
"executionEndDate": "2007-12-03",
"executionEndTime": "10:15:30Z",
"duration": 123,
"originalExecutionStartDate": "2007-12-03",
"originalExecutionStartTime": "10:15:30Z",
"originalExecutionEndDate": "2007-12-03",
"originalExecutionEndTime": "10:15:30Z",
"order": Order,
"orderShift": OrderShift,
"holiday": Holiday,
"report": OperationReport,
"serviceReceipts": ServiceReceiptConnection,
"billingItems": OperationBillingItemConnection,
"materials": OperationMaterialConnection,
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
operationBillingItem
Description
Returns a single billing position by id.
Response
Returns an OperationBillingItem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query operationBillingItem($id: ID!) {
operationBillingItem(id: $id) {
id
orderBillingItem {
...OrderBillingItemFragment
}
pendingInvoiceItem {
...PendingInvoiceItemFragment
}
operation {
...OperationFragment
}
operationService {
...OperationServiceFragment
}
operationMaterial {
...OperationMaterialFragment
}
service {
...ServiceFragment
}
material {
...MaterialFragment
}
position
type
priceType
title
description
unitPrice
quantity
quantitySource
unit
hasPersonHourUnit
taxRate
status
groupOperation
quantityInputAt
updatedAt
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"operationBillingItem": {
"id": 4,
"orderBillingItem": OrderBillingItem,
"pendingInvoiceItem": PendingInvoiceItem,
"operation": Operation,
"operationService": OperationService,
"operationMaterial": OperationMaterial,
"service": Service,
"material": Material,
"position": 123,
"type": "SERVICE",
"priceType": "FLAT_RATE",
"title": "xyz789",
"description": "abc123",
"unitPrice": 987,
"quantity": 987.65,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": false,
"taxRate": 987.65,
"status": "OPEN",
"groupOperation": false,
"quantityInputAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
operationBillingItems
Description
Returns the billing positions of the authenticated company, newest first.
Response
Returns an OperationBillingItemConnection!
Example
Query
query operationBillingItems(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$orderBy: OperationBillingItemOrder
) {
operationBillingItems(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
orderBy: $orderBy
) {
edges {
...OperationBillingItemEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 123,
"last": 987,
"query": "abc123",
"orderBy": OperationBillingItemOrder
}
Response
{
"data": {
"operationBillingItems": {
"edges": [OperationBillingItemEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
operationExecutor
Response
Returns an OperationExecutor
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query operationExecutor($id: ID!) {
operationExecutor(id: $id) {
id
operation {
...OperationFragment
}
employee {
...EmployeeFragment
}
subcontractor {
...SubcontractorFragment
}
orderExecutor {
...OrderExecutorFragment
}
timeRecord {
...TimeRecordFragment
}
absence {
...AbsenceFragment
}
markedAsNoShowAt
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"operationExecutor": {
"id": 4,
"operation": Operation,
"employee": Employee,
"subcontractor": Subcontractor,
"orderExecutor": OrderExecutor,
"timeRecord": TimeRecord,
"absence": Absence,
"markedAsNoShowAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
operationExecutors
Response
Returns an OperationExecutorConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
executionFrom - Date
|
Only operationExecutors with execution at this date or later will be counted. |
executionTo - Date
|
Only operationExecutors with execution before and up to and including this date will be counted. |
hasEmployee - Boolean
|
|
hasTimeRecord - Boolean
|
|
hideAbsent - Boolean
|
|
orderBy - OperationExecutorOrder
|
Example
Query
query operationExecutors(
$after: String,
$before: String,
$first: Int,
$last: Int,
$executionFrom: Date,
$executionTo: Date,
$hasEmployee: Boolean,
$hasTimeRecord: Boolean,
$hideAbsent: Boolean,
$orderBy: OperationExecutorOrder
) {
operationExecutors(
after: $after,
before: $before,
first: $first,
last: $last,
executionFrom: $executionFrom,
executionTo: $executionTo,
hasEmployee: $hasEmployee,
hasTimeRecord: $hasTimeRecord,
hideAbsent: $hideAbsent,
orderBy: $orderBy
) {
edges {
...OperationExecutorEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"first": 987,
"last": 987,
"executionFrom": "2007-12-03",
"executionTo": "2007-12-03",
"hasEmployee": true,
"hasTimeRecord": true,
"hideAbsent": true,
"orderBy": OperationExecutorOrder
}
Response
{
"data": {
"operationExecutors": {
"edges": [OperationExecutorEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
operationExecutorsMissingCheckIn
Description
Employees with no time record yet, assigned to today's operations whose execution start is at least minutesToBeLate minutes in the past. Excludes absent, no-show, and holiday-excluded operations.
Response
Returns an OperationExecutorConnection!
Example
Query
query operationExecutorsMissingCheckIn(
$after: String,
$before: String,
$first: Int,
$last: Int,
$minutesToBeLate: Int
) {
operationExecutorsMissingCheckIn(
after: $after,
before: $before,
first: $first,
last: $last,
minutesToBeLate: $minutesToBeLate
) {
edges {
...OperationExecutorEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 123,
"last": 123,
"minutesToBeLate": 987
}
Response
{
"data": {
"operationExecutorsMissingCheckIn": {
"edges": [OperationExecutorEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
operationMaterial
Description
Returns a single operation material by id.
Response
Returns an OperationMaterial
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query operationMaterial($id: ID!) {
operationMaterial(id: $id) {
id
operation {
...OperationFragment
}
material {
...MaterialFragment
}
orderMaterial {
...OrderMaterialFragment
}
serviceReceiptItem {
...ServiceReceiptItemFragment
}
position
consumptionQuantity
updatedAt
createdAt
billingItems {
...OperationBillingItemConnectionFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"operationMaterial": {
"id": 4,
"operation": Operation,
"material": Material,
"orderMaterial": OrderMaterial,
"serviceReceiptItem": ServiceReceiptItem,
"position": 987,
"consumptionQuantity": 123.45,
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"billingItems": OperationBillingItemConnection
}
}
}
operationReports
Response
Returns an OperationReportConnection!
Example
Query
query operationReports(
$after: String,
$before: String,
$first: Int,
$last: Int,
$operationId: ID,
$query: String,
$orderBy: OperationReportOrder
) {
operationReports(
after: $after,
before: $before,
first: $first,
last: $last,
operationId: $operationId,
query: $query,
orderBy: $orderBy
) {
edges {
...OperationReportEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 987,
"last": 987,
"operationId": 4,
"query": "abc123",
"orderBy": OperationReportOrder
}
Response
{
"data": {
"operationReports": {
"edges": [OperationReportEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
operationService
Response
Returns an OperationService
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query operationService($id: ID!) {
operationService(id: $id) {
id
operation {
...OperationFragment
}
service {
...ServiceFragment
}
orderService {
...OrderServiceFragment
}
position
title
updatedAt
createdAt
tasks {
...OperationServiceTaskConnectionFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"operationService": {
"id": "4",
"operation": Operation,
"service": Service,
"orderService": OrderService,
"position": 123,
"title": "abc123",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"tasks": OperationServiceTaskConnection
}
}
}
operationServiceTask
Response
Returns an OperationServiceTask
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query operationServiceTask($id: ID!) {
operationServiceTask(id: $id) {
id
operationService {
...OperationServiceFragment
}
serviceArea {
...ServiceAreaFragment
}
orderServiceTask {
...OrderServiceTaskFragment
}
position
title
quantity
unit
completedAt
createdAt
rooms {
...OperationServiceTaskRoomConnectionFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"operationServiceTask": {
"id": "4",
"operationService": OperationService,
"serviceArea": ServiceArea,
"orderServiceTask": OrderServiceTask,
"position": 987,
"title": "abc123",
"quantity": 987.65,
"unit": "abc123",
"completedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"rooms": OperationServiceTaskRoomConnection
}
}
}
operations
Response
Returns an OperationConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
ids - [ID!]
|
Ids of operations to query for |
query - String
|
Query for title |
hasBillingItems - Boolean
|
|
hasMissingBillingItemQuantity - Boolean
|
|
executionFrom - Date
|
Only operations with execution at this date or later will be counted. |
executionTo - Date
|
Only operations with execution before and up to and including this date will be counted. |
orderExecutorIds - [ID!]
|
|
serviceIds - [ID!]
|
|
toDos - [OperationToDo!]
|
|
zips - [String!]
|
|
cities - [String!]
|
|
orderBy - OperationOrder
|
Example
Query
query operations(
$after: String,
$before: String,
$first: Int,
$last: Int,
$ids: [ID!],
$query: String,
$hasBillingItems: Boolean,
$hasMissingBillingItemQuantity: Boolean,
$executionFrom: Date,
$executionTo: Date,
$orderExecutorIds: [ID!],
$serviceIds: [ID!],
$toDos: [OperationToDo!],
$zips: [String!],
$cities: [String!],
$orderBy: OperationOrder
) {
operations(
after: $after,
before: $before,
first: $first,
last: $last,
ids: $ids,
query: $query,
hasBillingItems: $hasBillingItems,
hasMissingBillingItemQuantity: $hasMissingBillingItemQuantity,
executionFrom: $executionFrom,
executionTo: $executionTo,
orderExecutorIds: $orderExecutorIds,
serviceIds: $serviceIds,
toDos: $toDos,
zips: $zips,
cities: $cities,
orderBy: $orderBy
) {
edges {
...OperationEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "xyz789",
"first": 123,
"last": 123,
"ids": ["4"],
"query": "xyz789",
"hasBillingItems": false,
"hasMissingBillingItemQuantity": true,
"executionFrom": "2007-12-03",
"executionTo": "2007-12-03",
"orderExecutorIds": ["4"],
"serviceIds": ["4"],
"toDos": ["MISSING_QUANTITY"],
"zips": ["abc123"],
"cities": ["xyz789"],
"orderBy": OperationOrder
}
Response
{
"data": {
"operations": {
"edges": [OperationEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
order
Example
Query
query order($id: ID!) {
order(id: $id) {
id
number
object {
...ObjectFragment
}
estimate {
...EstimateFragment
}
instructions
status
requiredExecutors
missingExecutors
executionOnHolidays
startDate
endDate
latestOperation {
...OperationFragment
}
services {
...OrderServiceFragment
}
shifts {
...OrderShiftConnectionFragment
}
executors {
...OrderExecutorConnectionFragment
}
operations {
...OperationConnectionFragment
}
tickets {
...TicketConnectionFragment
}
materials {
...OrderMaterialConnectionFragment
}
billingItems {
...OrderBillingItemConnectionFragment
}
pendingInvoiceItems {
...PendingInvoiceItemConnectionFragment
}
cancelledAt
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"order": {
"id": "4",
"number": 123,
"object": Object,
"estimate": Estimate,
"instructions": "abc123",
"status": "ACTIVE",
"requiredExecutors": 123,
"missingExecutors": 123,
"executionOnHolidays": true,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"latestOperation": Operation,
"services": [OrderService],
"shifts": OrderShiftConnection,
"executors": OrderExecutorConnection,
"operations": OperationConnection,
"tickets": TicketConnection,
"materials": OrderMaterialConnection,
"billingItems": OrderBillingItemConnection,
"pendingInvoiceItems": PendingInvoiceItemConnection,
"cancelledAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
orderExecutor
Response
Returns an OrderExecutor
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query orderExecutor($id: ID!) {
orderExecutor(id: $id) {
id
order {
...OrderFragment
}
employee {
...EmployeeFragment
}
subcontractor {
...SubcontractorFragment
}
startDate
cancelDate
isAddedToOrderShift
createdAt
orderShifts {
...OrderShiftConnectionFragment
}
billingItems {
...OrderExecutorBillingItemConnectionFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"orderExecutor": {
"id": 4,
"order": Order,
"employee": Employee,
"subcontractor": Subcontractor,
"startDate": "2007-12-03",
"cancelDate": "2007-12-03",
"isAddedToOrderShift": false,
"createdAt": "2007-12-03T10:15:30Z",
"orderShifts": OrderShiftConnection,
"billingItems": OrderExecutorBillingItemConnection
}
}
}
orderService
Response
Returns an OrderService
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query orderService($id: ID!) {
orderService(id: $id) {
id
order {
...OrderFragment
}
service {
...ServiceFragment
}
position
title
unit
hasPersonHourUnit
executionOnDemand
demandRrule
nextDemandDate
lastExecutionDate
updatedAt
createdAt
tasks {
...OrderServiceTaskConnectionFragment
}
billingItems {
...OrderBillingItemConnectionFragment
}
materials {
...OrderMaterialConnectionFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"orderService": {
"id": 4,
"order": Order,
"service": Service,
"position": 123,
"title": "abc123",
"unit": "xyz789",
"hasPersonHourUnit": false,
"executionOnDemand": true,
"demandRrule": "xyz789",
"nextDemandDate": "2007-12-03",
"lastExecutionDate": "2007-12-03",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"tasks": OrderServiceTaskConnection,
"billingItems": OrderBillingItemConnection,
"materials": OrderMaterialConnection
}
}
}
orderServices
Response
Returns an OrderServiceConnection
Example
Query
query orderServices(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$objectId: ID,
$orderId: ID,
$serviceIds: [ID!],
$executionOnDemand: Boolean,
$nextDemandDateFrom: Date,
$nextDemandDateTo: Date,
$orderStatus: OrderStatus,
$orderBy: OrderServiceOrder
) {
orderServices(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
objectId: $objectId,
orderId: $orderId,
serviceIds: $serviceIds,
executionOnDemand: $executionOnDemand,
nextDemandDateFrom: $nextDemandDateFrom,
nextDemandDateTo: $nextDemandDateTo,
orderStatus: $orderStatus,
orderBy: $orderBy
) {
edges {
...OrderServiceEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 987,
"last": 123,
"query": "xyz789",
"objectId": 4,
"orderId": 4,
"serviceIds": ["4"],
"executionOnDemand": false,
"nextDemandDateFrom": "2007-12-03",
"nextDemandDateTo": "2007-12-03",
"orderStatus": "ACTIVE",
"orderBy": OrderServiceOrder
}
Response
{
"data": {
"orderServices": {
"edges": [OrderServiceEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
orderShift
Response
Returns an OrderShift
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query orderShift($id: ID!) {
orderShift(id: $id) {
id
order {
...OrderFragment
}
startDate
endDate
rrule
timeFrom
timeTo
acrossMidnight
duration
requiredExecutors
deviatingInstructions
createServiceReceipt
days {
...OrderShiftDayFragment
}
tasks {
...OrderShiftTaskFragment
}
orderServices {
...OrderServiceFragment
}
executors {
...OrderShiftExecutorConnectionFragment
}
endedAt
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"orderShift": {
"id": "4",
"order": Order,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"rrule": "abc123",
"timeFrom": "10:15:30Z",
"timeTo": "10:15:30Z",
"acrossMidnight": true,
"duration": 123,
"requiredExecutors": 123,
"deviatingInstructions": "xyz789",
"createServiceReceipt": true,
"days": [OrderShiftDay],
"tasks": [OrderShiftTask],
"orderServices": [OrderService],
"executors": OrderShiftExecutorConnection,
"endedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
orders
Response
Returns an OrderConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query for number, service title or billing item title |
customerId - ID
|
|
objectId - ID
|
|
serviceIds - [ID!]
|
|
status - OrderStatus
|
|
isExecutorMissing - Boolean
|
Order is not ended and has fewer active executors than requiredExecutors (active = started by today or the order's future start date, and not yet cancelled). |
hasNoOperations - Boolean
|
Order is not ended and has no non-deleted operations. |
orderBy - OrderOrder
|
Example
Query
query orders(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$customerId: ID,
$objectId: ID,
$serviceIds: [ID!],
$status: OrderStatus,
$isExecutorMissing: Boolean,
$hasNoOperations: Boolean,
$orderBy: OrderOrder
) {
orders(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
customerId: $customerId,
objectId: $objectId,
serviceIds: $serviceIds,
status: $status,
isExecutorMissing: $isExecutorMissing,
hasNoOperations: $hasNoOperations,
orderBy: $orderBy
) {
edges {
...OrderEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 987,
"query": "xyz789",
"customerId": "4",
"objectId": 4,
"serviceIds": ["4"],
"status": "ACTIVE",
"isExecutorMissing": true,
"hasNoOperations": false,
"orderBy": OrderOrder
}
Response
{
"data": {
"orders": {
"edges": [OrderEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
pendingInvoiceItem
Response
Returns a PendingInvoiceItem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query pendingInvoiceItem($id: ID!) {
pendingInvoiceItem(id: $id) {
id
customer {
...CustomerFragment
}
object {
...ObjectFragment
}
status
title
description
quantity
unitPrice
taxRate
unit
isCreatedManually
isGroup
executionStart
executionEnd
billingPeriodInterval
service {
...ServiceFragment
}
material {
...MaterialFragment
}
order {
...OrderFragment
}
billedAt
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"pendingInvoiceItem": {
"id": "4",
"customer": Customer,
"object": Object,
"status": "PENDING",
"title": "abc123",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 123,
"taxRate": 987.65,
"unit": "abc123",
"isCreatedManually": true,
"isGroup": true,
"executionStart": "2007-12-03",
"executionEnd": "2007-12-03",
"billingPeriodInterval": "MONTH",
"service": Service,
"material": Material,
"order": Order,
"billedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
pendingInvoiceItems
Response
Returns a PendingInvoiceItemConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query for title |
executionFrom - Date
|
Only items with execution at this date or later |
executionTo - Date
|
Only items with execution up to and including this date |
customerId - ID
|
|
objectId - ID
|
|
orderId - ID
|
|
serviceId - ID
|
|
orderBy - PendingInvoiceItemOrder
|
Example
Query
query pendingInvoiceItems(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$executionFrom: Date,
$executionTo: Date,
$customerId: ID,
$objectId: ID,
$orderId: ID,
$serviceId: ID,
$orderBy: PendingInvoiceItemOrder
) {
pendingInvoiceItems(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
executionFrom: $executionFrom,
executionTo: $executionTo,
customerId: $customerId,
objectId: $objectId,
orderId: $orderId,
serviceId: $serviceId,
orderBy: $orderBy
) {
edges {
...PendingInvoiceItemEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 987,
"last": 123,
"query": "xyz789",
"executionFrom": "2007-12-03",
"executionTo": "2007-12-03",
"customerId": "4",
"objectId": "4",
"orderId": "4",
"serviceId": "4",
"orderBy": PendingInvoiceItemOrder
}
Response
{
"data": {
"pendingInvoiceItems": {
"edges": [PendingInvoiceItemEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
receipt
Example
Query
query receipt($id: ID!) {
receipt(id: $id) {
id
company {
...CompanyFragment
}
customer {
...CustomerFragment
}
subcontractor {
...SubcontractorFragment
}
type
status
number
elements {
...ReceiptElementFragment
}
totalAmount
outstandingAmount
dueDate
receiptDate
files {
...ReceiptFileFragment
}
paidAt
currency
createdAt
payments {
...PaymentFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"receipt": {
"id": "4",
"company": Company,
"customer": Customer,
"subcontractor": Subcontractor,
"type": "EXPENSE",
"status": "UNPAID",
"number": "xyz789",
"elements": [ReceiptElement],
"totalAmount": 987,
"outstandingAmount": 987,
"dueDate": "2007-12-03",
"receiptDate": "2007-12-03",
"files": [ReceiptFile],
"paidAt": "2007-12-03",
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"payments": [Payment]
}
}
}
receiptElement
Response
Returns a ReceiptElement
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query receiptElement($id: ID!) {
receiptElement(id: $id) {
id
netAmount
taxAmount
taxRate
totalAmount
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"receiptElement": {
"id": "4",
"netAmount": 123,
"taxAmount": 987,
"taxRate": 987.65,
"totalAmount": 123,
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
receipts
Response
Returns a ReceiptConnection!
Example
Query
query receipts(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$orderBy: ReceiptOrder
) {
receipts(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
orderBy: $orderBy
) {
edges {
...ReceiptEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 987,
"query": "abc123",
"orderBy": ReceiptOrder
}
Response
{
"data": {
"receipts": {
"edges": [ReceiptEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
service
Example
Query
query service($id: ID!) {
service(id: $id) {
id
title
description
unitPrice
taxRate
unit
revenueAccount
areas {
...ServiceAreaFragment
}
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"service": {
"id": "4",
"title": "abc123",
"description": "xyz789",
"unitPrice": 987,
"taxRate": 123.45,
"unit": "xyz789",
"revenueAccount": 123,
"areas": [ServiceArea],
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
serviceReceipt
Response
Returns a ServiceReceipt
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query serviceReceipt($id: ID!) {
serviceReceipt(id: $id) {
id
customer {
...CustomerFragment
}
customerContactPerson {
...CustomerContactPersonFragment
}
object {
...ObjectFragment
}
status
number
webUrl
notes
signatureCity
signatureDate
signatureImageUrl
reviewStatus
serviceReceiptPdf
completedAt
signedAt
reviewedAt
language
currency
createdAt
items {
...ServiceReceiptItemConnectionFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"serviceReceipt": {
"id": "4",
"customer": Customer,
"customerContactPerson": CustomerContactPerson,
"object": Object,
"status": "DRAFT",
"number": 123,
"webUrl": "http://www.test.com/",
"notes": "abc123",
"signatureCity": "xyz789",
"signatureDate": "2007-12-03",
"signatureImageUrl": "http://www.test.com/",
"reviewStatus": "PENDING",
"serviceReceiptPdf": "http://www.test.com/",
"completedAt": "2007-12-03T10:15:30Z",
"signedAt": "2007-12-03T10:15:30Z",
"reviewedAt": "2007-12-03T10:15:30Z",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"items": ServiceReceiptItemConnection
}
}
}
serviceReceipts
Response
Returns a ServiceReceiptConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query by number, status or customer name |
status - ServiceReceiptStatus
|
|
orderBy - ServiceReceiptOrder
|
Example
Query
query serviceReceipts(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$status: ServiceReceiptStatus,
$orderBy: ServiceReceiptOrder
) {
serviceReceipts(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
status: $status,
orderBy: $orderBy
) {
edges {
...ServiceReceiptEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 123,
"query": "abc123",
"status": "DRAFT",
"orderBy": ServiceReceiptOrder
}
Response
{
"data": {
"serviceReceipts": {
"edges": [ServiceReceiptEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
services
Response
Returns a ServiceConnection!
Example
Query
query services(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$hideEmployeeId: ID,
$excludeIds: [ID!],
$orderBy: ServiceOrder
) {
services(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
hideEmployeeId: $hideEmployeeId,
excludeIds: $excludeIds,
orderBy: $orderBy
) {
edges {
...ServiceEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 987,
"last": 987,
"query": "abc123",
"hideEmployeeId": "4",
"excludeIds": [4],
"orderBy": ServiceOrder
}
Response
{
"data": {
"services": {
"edges": [ServiceEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
state
subcontractor
Response
Returns a Subcontractor
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query subcontractor($id: ID!) {
subcontractor(id: $id) {
id
company {
...CompanyFragment
}
number
type
salutation
firstName
lastName
companyName
addressSupplement
streetAddress
zip
city
country
email
phone
fax
website
taxNumber
vatId
datevAccount
note
createdAt
receipts {
...ReceiptConnectionFragment
}
contactPersons {
...SubcontractorContactPersonConnectionFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"subcontractor": {
"id": 4,
"company": Company,
"number": 987,
"type": "PERSON",
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"companyName": "abc123",
"addressSupplement": "abc123",
"streetAddress": "xyz789",
"zip": "abc123",
"city": "abc123",
"country": "US",
"email": "abc123",
"phone": "xyz789",
"fax": "abc123",
"website": "abc123",
"taxNumber": "xyz789",
"vatId": "xyz789",
"datevAccount": 123,
"note": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"receipts": ReceiptConnection,
"contactPersons": SubcontractorContactPersonConnection
}
}
}
subcontractorContactPerson
Response
Returns a SubcontractorContactPerson
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query subcontractorContactPerson($id: ID!) {
subcontractorContactPerson(id: $id) {
id
isDefault
salutation
firstName
lastName
role
email
phone
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"subcontractorContactPerson": {
"id": "4",
"isDefault": true,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"role": "abc123",
"email": "abc123",
"phone": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
subcontractors
Response
Returns a SubcontractorConnection!
Example
Query
query subcontractors(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String
) {
subcontractors(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query
) {
edges {
...SubcontractorEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 123,
"last": 987,
"query": "abc123"
}
Response
{
"data": {
"subcontractors": {
"edges": [SubcontractorEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
supplier
Example
Query
query supplier($id: ID!) {
supplier(id: $id) {
id
number
type
salutation
firstName
lastName
companyName
addressSupplement
streetAddress
zip
city
country
email
phone
fax
website
taxNumber
vatId
datevAccount
tags
note
createdAt
contactPersons {
...SupplierContactPersonConnectionFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"supplier": {
"id": 4,
"number": 123,
"type": "PERSON",
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"companyName": "abc123",
"addressSupplement": "abc123",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"email": "abc123",
"phone": "xyz789",
"fax": "xyz789",
"website": "xyz789",
"taxNumber": "xyz789",
"vatId": "abc123",
"datevAccount": 123,
"tags": ["abc123"],
"note": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"contactPersons": SupplierContactPersonConnection
}
}
}
supplierContactPerson
Response
Returns a SupplierContactPerson
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query supplierContactPerson($id: ID!) {
supplierContactPerson(id: $id) {
id
isDefault
salutation
firstName
lastName
role
email
phone
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"supplierContactPerson": {
"id": "4",
"isDefault": true,
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"role": "xyz789",
"email": "xyz789",
"phone": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
suppliers
Response
Returns a SupplierConnection!
Example
Query
query suppliers(
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$tags: [String!],
$orderBy: SupplierOrder
) {
suppliers(
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
tags: $tags,
orderBy: $orderBy
) {
edges {
...SupplierEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 123,
"query": "xyz789",
"tags": ["xyz789"],
"orderBy": SupplierOrder
}
Response
{
"data": {
"suppliers": {
"edges": [SupplierEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
ticket
Example
Query
query ticket($id: ID!) {
ticket(id: $id) {
id
object {
...ObjectFragment
}
objectRoom {
...ObjectRoomFragment
}
order {
...OrderFragment
}
sourceOperation {
...OperationFragment
}
number
type
isPublic
inputChannel
location
description
status
priority
discoverDate
dueDate
rejectedAt
completedAt
files {
...TicketFileConnectionFragment
}
operations {
...OperationConnectionFragment
}
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"ticket": {
"id": 4,
"object": Object,
"objectRoom": ObjectRoom,
"order": Order,
"sourceOperation": Operation,
"number": 987,
"type": "COMPLAINT",
"isPublic": false,
"inputChannel": "PORTAL",
"location": "xyz789",
"description": "abc123",
"status": "OPEN",
"priority": "LOW",
"discoverDate": "2007-12-03",
"dueDate": "2007-12-03",
"rejectedAt": "2007-12-03T10:15:30Z",
"completedAt": "2007-12-03T10:15:30Z",
"files": TicketFileConnection,
"operations": OperationConnection,
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
tickets
Response
Returns a TicketConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
customerId - ID
|
|
objectId - ID
|
|
orderId - ID
|
|
query - String
|
Query by number |
type - TicketType
|
|
isPublic - Boolean
|
|
status - TicketStatus
|
|
priority - TicketPriority
|
|
orderBy - TicketOrder
|
Example
Query
query tickets(
$after: String,
$before: String,
$first: Int,
$last: Int,
$customerId: ID,
$objectId: ID,
$orderId: ID,
$query: String,
$type: TicketType,
$isPublic: Boolean,
$status: TicketStatus,
$priority: TicketPriority,
$orderBy: TicketOrder
) {
tickets(
after: $after,
before: $before,
first: $first,
last: $last,
customerId: $customerId,
objectId: $objectId,
orderId: $orderId,
query: $query,
type: $type,
isPublic: $isPublic,
status: $status,
priority: $priority,
orderBy: $orderBy
) {
edges {
...TicketEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 987,
"last": 123,
"customerId": 4,
"objectId": "4",
"orderId": "4",
"query": "xyz789",
"type": "COMPLAINT",
"isPublic": true,
"status": "OPEN",
"priority": "LOW",
"orderBy": TicketOrder
}
Response
{
"data": {
"tickets": {
"edges": [TicketEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
timeRecord
Response
Returns a TimeRecord
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query timeRecord($id: ID!) {
timeRecord(id: $id) {
id
employee {
...EmployeeFragment
}
object {
...ObjectFragment
}
operationExecutor {
...OperationExecutorFragment
}
date
journeyStart
start
end
planDuration
actualDuration
breakDuration
hasTotalBreakInput
breaks {
...TimeRecordBreakFragment
}
journeyDuration
journeyStartLocation {
...LocationFragment
}
startLocation {
...LocationFragment
}
endLocation {
...LocationFragment
}
createdAutomatically
confirmedAt
createdAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"timeRecord": {
"id": 4,
"employee": Employee,
"object": Object,
"operationExecutor": OperationExecutor,
"date": "2007-12-03",
"journeyStart": "2007-12-03T10:15:30Z",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"planDuration": 987,
"actualDuration": 123,
"breakDuration": 123,
"hasTotalBreakInput": true,
"breaks": [TimeRecordBreak],
"journeyDuration": 123,
"journeyStartLocation": Location,
"startLocation": Location,
"endLocation": Location,
"createdAutomatically": true,
"confirmedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
timeRecordBreak
Response
Returns a TimeRecordBreak
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query timeRecordBreak($id: ID!) {
timeRecordBreak(id: $id) {
id
timeRecord {
...TimeRecordFragment
}
start
end
createdAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"timeRecordBreak": {
"id": 4,
"timeRecord": TimeRecord,
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
}
}
timeRecords
Response
Returns a TimeRecordConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
dateFrom - Date
|
Only TimeRecords with date at this date or later will be counted. |
dateTo - Date
|
Only TimeRecords with date before and up to and including this date will be counted. |
isRunning - Boolean
|
If set, returns only running (true) or only finished (false) time records |
isConfirmed - Boolean
|
If set, returns only confirmed (true) or only unconfirmed (false) time records |
orderBy - TimeRecordOrder
|
Example
Query
query timeRecords(
$after: String,
$before: String,
$first: Int,
$last: Int,
$dateFrom: Date,
$dateTo: Date,
$isRunning: Boolean,
$isConfirmed: Boolean,
$orderBy: TimeRecordOrder
) {
timeRecords(
after: $after,
before: $before,
first: $first,
last: $last,
dateFrom: $dateFrom,
dateTo: $dateTo,
isRunning: $isRunning,
isConfirmed: $isConfirmed,
orderBy: $orderBy
) {
edges {
...TimeRecordEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 987,
"last": 987,
"dateFrom": "2007-12-03",
"dateTo": "2007-12-03",
"isRunning": false,
"isConfirmed": false,
"orderBy": TimeRecordOrder
}
Response
{
"data": {
"timeRecords": {
"edges": [TimeRecordEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
unassignedOperations
Description
Operations which are not assigned to executors (or less than in requiredExecutors)
Response
Returns an OperationConnection!
Arguments
| Name | Description |
|---|---|
objectId - ID
|
|
after - String
|
|
before - String
|
|
first - Int
|
|
last - Int
|
|
query - String
|
Query for title |
hasBillingItems - Boolean
|
|
hasMissingBillingItemQuantity - Boolean
|
|
executionFrom - Date
|
Only operations with execution at this date or later will be counted. |
executionTo - Date
|
Only operations with execution before and up to and including this date will be counted. |
serviceIds - [ID!]
|
|
zips - [String!]
|
|
cities - [String!]
|
|
orderBy - OperationOrder
|
Example
Query
query unassignedOperations(
$objectId: ID,
$after: String,
$before: String,
$first: Int,
$last: Int,
$query: String,
$hasBillingItems: Boolean,
$hasMissingBillingItemQuantity: Boolean,
$executionFrom: Date,
$executionTo: Date,
$serviceIds: [ID!],
$zips: [String!],
$cities: [String!],
$orderBy: OperationOrder
) {
unassignedOperations(
objectId: $objectId,
after: $after,
before: $before,
first: $first,
last: $last,
query: $query,
hasBillingItems: $hasBillingItems,
hasMissingBillingItemQuantity: $hasMissingBillingItemQuantity,
executionFrom: $executionFrom,
executionTo: $executionTo,
serviceIds: $serviceIds,
zips: $zips,
cities: $cities,
orderBy: $orderBy
) {
edges {
...OperationEdgeFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"objectId": 4,
"after": "xyz789",
"before": "abc123",
"first": 123,
"last": 123,
"query": "xyz789",
"hasBillingItems": true,
"hasMissingBillingItemQuantity": true,
"executionFrom": "2007-12-03",
"executionTo": "2007-12-03",
"serviceIds": ["4"],
"zips": ["xyz789"],
"cities": ["xyz789"],
"orderBy": OperationOrder
}
Response
{
"data": {
"unassignedOperations": {
"edges": [OperationEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
Mutations
acceptEstimate
Description
Marks a completed estimate as accepted on behalf of the company (acceptedAt set, isAnsweredByCustomer false). Not possible once the customer already answered.
Response
Returns an AcceptEstimatePayload
Arguments
| Name | Description |
|---|---|
input - AcceptEstimateInput!
|
Example
Query
mutation acceptEstimate($input: AcceptEstimateInput!) {
acceptEstimate(input: $input) {
estimate {
...EstimateFragment
}
}
}
Variables
{"input": AcceptEstimateInput}
Response
{"data": {"acceptEstimate": {"estimate": Estimate}}}
addOrderShiftExecutors
Description
Adds executors to an OrderShift
Response
Returns an AddOrderShiftExecutorsPayload
Arguments
| Name | Description |
|---|---|
input - AddOrderShiftExecutorsInput!
|
Example
Query
mutation addOrderShiftExecutors($input: AddOrderShiftExecutorsInput!) {
addOrderShiftExecutors(input: $input) {
orderShiftExecutors {
...OrderShiftExecutorFragment
}
}
}
Variables
{"input": AddOrderShiftExecutorsInput}
Response
{
"data": {
"addOrderShiftExecutors": {
"orderShiftExecutors": [OrderShiftExecutor]
}
}
}
approveAbsence
Response
Returns an ApproveAbsencePayload
Arguments
| Name | Description |
|---|---|
input - ApproveAbsenceInput!
|
Example
Query
mutation approveAbsence($input: ApproveAbsenceInput!) {
approveAbsence(input: $input) {
absence {
...AbsenceFragment
}
}
}
Variables
{"input": ApproveAbsenceInput}
Response
{"data": {"approveAbsence": {"absence": Absence}}}
billOrderBillingItem
Description
Forces billing of a PER_OPERATION OrderBillingItem up to untilDate by creating the pending items for every executed operation in that range. untilDate has to be in the future and within the item's and the order's start/end dates.
Response
Returns a BillOrderBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - BillOrderBillingItemInput!
|
Example
Query
mutation billOrderBillingItem($input: BillOrderBillingItemInput!) {
billOrderBillingItem(input: $input) {
orderBillingItem {
...OrderBillingItemFragment
}
}
}
Variables
{"input": BillOrderBillingItemInput}
Response
{
"data": {
"billOrderBillingItem": {
"orderBillingItem": OrderBillingItem
}
}
}
cancelEmployee
Description
Soft-terminates an employee: sets cancelDate and keeps the record and history (status CANCELLED after that date).
Response
Returns a CancelEmployeePayload
Arguments
| Name | Description |
|---|---|
input - CancelEmployeeInput!
|
Example
Query
mutation cancelEmployee($input: CancelEmployeeInput!) {
cancelEmployee(input: $input) {
employee {
...EmployeeFragment
}
}
}
Variables
{"input": CancelEmployeeInput}
Response
{"data": {"cancelEmployee": {"employee": Employee}}}
cancelInvoice
Description
Cancels a completed invoice by creating a CANCELLATION invoice (same number, suffix -ST, negated amounts); the original becomes CANCELLED. Cannot be undone.
Response
Returns a CancelInvoicePayload
Arguments
| Name | Description |
|---|---|
input - CancelInvoiceInput!
|
Example
Query
mutation cancelInvoice($input: CancelInvoiceInput!) {
cancelInvoice(input: $input) {
invoice {
...InvoiceFragment
}
}
}
Variables
{"input": CancelInvoiceInput}
Response
{"data": {"cancelInvoice": {"invoice": Invoice}}}
cancelOrderExecutor
Description
Cancels an OrderExecutor as of cancelDate while keeping its operation history and any already billed amounts. Use cancelOrderExecutor for executors that have already started working or that have billing items — subcontractor executors with billing items must be cancelled rather than deleted. All of the executor's billing items must be ended via endOrderExecutorBillingItem beforehand.
Response
Returns a CancelOrderExecutorPayload
Arguments
| Name | Description |
|---|---|
input - CancelOrderExecutorInput!
|
Example
Query
mutation cancelOrderExecutor($input: CancelOrderExecutorInput!) {
cancelOrderExecutor(input: $input) {
orderExecutor {
...OrderExecutorFragment
}
}
}
Variables
{"input": CancelOrderExecutorInput}
Response
{
"data": {
"cancelOrderExecutor": {
"orderExecutor": OrderExecutor
}
}
}
completeCreditNote
Description
Finalizes a DRAFT credit note: generates the PDF and makes it immutable.
Response
Returns a CompleteCreditNotePayload
Arguments
| Name | Description |
|---|---|
input - CompleteCreditNoteInput!
|
Example
Query
mutation completeCreditNote($input: CompleteCreditNoteInput!) {
completeCreditNote(input: $input) {
creditNote {
...CreditNoteFragment
}
}
}
Variables
{"input": CompleteCreditNoteInput}
Response
{
"data": {
"completeCreditNote": {"creditNote": CreditNote}
}
}
completeEstimate
Description
Finalizes a DRAFT estimate: generates the PDF.
Response
Returns a CompleteEstimatePayload
Arguments
| Name | Description |
|---|---|
input - CompleteEstimateInput!
|
Example
Query
mutation completeEstimate($input: CompleteEstimateInput!) {
completeEstimate(input: $input) {
estimate {
...EstimateFragment
}
}
}
Variables
{"input": CompleteEstimateInput}
Response
{"data": {"completeEstimate": {"estimate": Estimate}}}
completeInvoice
Description
Finalizes a DRAFT invoice: generates the PDF (and e-invoice XML when configured) and makes it immutable. The invoice number was already assigned at creation.
Response
Returns a CompleteInvoicePayload
Arguments
| Name | Description |
|---|---|
input - CompleteInvoiceInput!
|
Example
Query
mutation completeInvoice($input: CompleteInvoiceInput!) {
completeInvoice(input: $input) {
invoice {
...InvoiceFragment
}
}
}
Variables
{"input": CompleteInvoiceInput}
Response
{"data": {"completeInvoice": {"invoice": Invoice}}}
completeTicket
Response
Returns a CompleteTicketPayload
Arguments
| Name | Description |
|---|---|
input - CompleteTicketInput!
|
Example
Query
mutation completeTicket($input: CompleteTicketInput!) {
completeTicket(input: $input) {
ticket {
...TicketFragment
}
}
}
Variables
{"input": CompleteTicketInput}
Response
{"data": {"completeTicket": {"ticket": Ticket}}}
confirmTimeRecord
Response
Returns a ConfirmTimeRecordPayload
Arguments
| Name | Description |
|---|---|
input - ConfirmTimeRecordInput!
|
Example
Query
mutation confirmTimeRecord($input: ConfirmTimeRecordInput!) {
confirmTimeRecord(input: $input) {
timeRecord {
...TimeRecordFragment
}
}
}
Variables
{"input": ConfirmTimeRecordInput}
Response
{
"data": {
"confirmTimeRecord": {"timeRecord": TimeRecord}
}
}
confirmTimeRecords
Description
Confirms up to 100 time records with per-id results (partial success).
Response
Returns a ConfirmTimeRecordsPayload
Arguments
| Name | Description |
|---|---|
input - ConfirmTimeRecordsInput!
|
Example
Query
mutation confirmTimeRecords($input: ConfirmTimeRecordsInput!) {
confirmTimeRecords(input: $input) {
results {
...ConfirmTimeRecordResultFragment
}
}
}
Variables
{"input": ConfirmTimeRecordsInput}
Response
{
"data": {
"confirmTimeRecords": {
"results": [ConfirmTimeRecordResult]
}
}
}
createAbsence
Description
Creates an absence for an employee (status PENDING; approve via approveAbsence).
Response
Returns a CreateAbsencePayload
Arguments
| Name | Description |
|---|---|
input - CreateAbsenceInput!
|
Example
Query
mutation createAbsence($input: CreateAbsenceInput!) {
createAbsence(input: $input) {
absence {
...AbsenceFragment
}
}
}
Variables
{"input": CreateAbsenceInput}
Response
{"data": {"createAbsence": {"absence": Absence}}}
createCreditNote
Description
Creates a credit note for a subcontractor with manually provided items.
Response
Returns a CreateCreditNotePayload
Arguments
| Name | Description |
|---|---|
input - CreateCreditNoteInput!
|
Example
Query
mutation createCreditNote($input: CreateCreditNoteInput!) {
createCreditNote(input: $input) {
creditNote {
...CreditNoteFragment
}
}
}
Variables
{"input": CreateCreditNoteInput}
Response
{"data": {"createCreditNote": {"creditNote": CreditNote}}}
createCustomer
Response
Returns a CreateCustomerPayload
Arguments
| Name | Description |
|---|---|
input - CreateCustomerInput!
|
Example
Query
mutation createCustomer($input: CreateCustomerInput!) {
createCustomer(input: $input) {
customer {
...CustomerFragment
}
}
}
Variables
{"input": CreateCustomerInput}
Response
{"data": {"createCustomer": {"customer": Customer}}}
createCustomerContactPerson
Response
Returns a CreateCustomerContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - CreateCustomerContactPersonInput!
|
Example
Query
mutation createCustomerContactPerson($input: CreateCustomerContactPersonInput!) {
createCustomerContactPerson(input: $input) {
customerContactPerson {
...CustomerContactPersonFragment
}
}
}
Variables
{"input": CreateCustomerContactPersonInput}
Response
{
"data": {
"createCustomerContactPerson": {
"customerContactPerson": CustomerContactPerson
}
}
}
createEmployee
Response
Returns a CreateEmployeePayload
Arguments
| Name | Description |
|---|---|
input - CreateEmployeeInput!
|
Example
Query
mutation createEmployee($input: CreateEmployeeInput!) {
createEmployee(input: $input) {
employee {
...EmployeeFragment
}
}
}
Variables
{"input": CreateEmployeeInput}
Response
{"data": {"createEmployee": {"employee": Employee}}}
createEmployeeOperationExecutors
Response
Returns a CreateEmployeeOperationExecutorsPayload
Arguments
| Name | Description |
|---|---|
input - CreateEmployeeOperationExecutorsInput!
|
Example
Query
mutation createEmployeeOperationExecutors($input: CreateEmployeeOperationExecutorsInput!) {
createEmployeeOperationExecutors(input: $input) {
operationExecutors {
...OperationExecutorFragment
}
}
}
Variables
{"input": CreateEmployeeOperationExecutorsInput}
Response
{
"data": {
"createEmployeeOperationExecutors": {
"operationExecutors": [OperationExecutor]
}
}
}
createEmployeeOrderExecutors
Description
Assigns one or more employees to the order as executors, creating their operation executors for the upcoming operations.
Response
Returns a CreateEmployeeOrderExecutorsPayload
Arguments
| Name | Description |
|---|---|
input - CreateEmployeeOrderExecutorsInput!
|
Example
Query
mutation createEmployeeOrderExecutors($input: CreateEmployeeOrderExecutorsInput!) {
createEmployeeOrderExecutors(input: $input) {
orderExecutors {
...OrderExecutorFragment
}
}
}
Variables
{"input": CreateEmployeeOrderExecutorsInput}
Response
{
"data": {
"createEmployeeOrderExecutors": {
"orderExecutors": [OrderExecutor]
}
}
}
createEmployeeWorkingTimeModel
Response
Returns a CreateEmployeeWorkingTimeModelPayload
Arguments
| Name | Description |
|---|---|
input - CreateEmployeeWorkingTimeModelInput!
|
Example
Query
mutation createEmployeeWorkingTimeModel($input: CreateEmployeeWorkingTimeModelInput!) {
createEmployeeWorkingTimeModel(input: $input) {
employeeWorkingTimeModel {
...EmployeeWorkingTimeModelFragment
}
}
}
Variables
{"input": CreateEmployeeWorkingTimeModelInput}
Response
{
"data": {
"createEmployeeWorkingTimeModel": {
"employeeWorkingTimeModel": EmployeeWorkingTimeModel
}
}
}
createEstimate
Response
Returns a CreateEstimatePayload
Arguments
| Name | Description |
|---|---|
input - CreateEstimateInput!
|
Example
Query
mutation createEstimate($input: CreateEstimateInput!) {
createEstimate(input: $input) {
estimate {
...EstimateFragment
}
}
}
Variables
{"input": CreateEstimateInput}
Response
{"data": {"createEstimate": {"estimate": Estimate}}}
createInvoice
Description
Creates a standalone invoice with manually provided items. To bill recorded work that is waiting as pending items (Ausstehende Posten), use createInvoiceFromPendingInvoiceItems instead. status COMPLETED finalizes immediately; PAID additionally records a full payment.
Response
Returns a CreateInvoicePayload
Arguments
| Name | Description |
|---|---|
input - CreateInvoiceInput!
|
Example
Query
mutation createInvoice($input: CreateInvoiceInput!) {
createInvoice(input: $input) {
invoice {
...InvoiceFragment
}
}
}
Variables
{"input": CreateInvoiceInput}
Response
{"data": {"createInvoice": {"invoice": Invoice}}}
createInvoiceFromPendingInvoiceItems
Description
Bills the given pending invoice items (Ausstehende Posten) and directly creates a COMPLETED invoice — no separate completeInvoice call is needed. The items are marked BILLED. All pending invoice items must belong to the same customer.
Response
Arguments
| Name | Description |
|---|---|
input - CreateInvoiceFromPendingInvoiceItemsInput!
|
Example
Query
mutation createInvoiceFromPendingInvoiceItems($input: CreateInvoiceFromPendingInvoiceItemsInput!) {
createInvoiceFromPendingInvoiceItems(input: $input) {
invoice {
...InvoiceFragment
}
}
}
Variables
{"input": CreateInvoiceFromPendingInvoiceItemsInput}
Response
{
"data": {
"createInvoiceFromPendingInvoiceItems": {
"invoice": Invoice
}
}
}
createMaterial
Description
Creates a catalog material. number is auto-generated (highest + 1) when omitted.
Response
Returns a CreateMaterialPayload
Arguments
| Name | Description |
|---|---|
input - CreateMaterialInput!
|
Example
Query
mutation createMaterial($input: CreateMaterialInput!) {
createMaterial(input: $input) {
material {
...MaterialFragment
}
}
}
Variables
{"input": CreateMaterialInput}
Response
{"data": {"createMaterial": {"material": Material}}}
createMaterialGroup
Response
Returns a CreateMaterialGroupPayload
Arguments
| Name | Description |
|---|---|
input - CreateMaterialGroupInput!
|
Example
Query
mutation createMaterialGroup($input: CreateMaterialGroupInput!) {
createMaterialGroup(input: $input) {
materialGroup {
...MaterialGroupFragment
}
}
}
Variables
{"input": CreateMaterialGroupInput}
Response
{
"data": {
"createMaterialGroup": {
"materialGroup": MaterialGroup
}
}
}
createObject
Response
Returns a CreateObjectPayload
Arguments
| Name | Description |
|---|---|
input - CreateObjectInput!
|
Example
Query
mutation createObject($input: CreateObjectInput!) {
createObject(input: $input) {
object {
...ObjectFragment
}
}
}
Variables
{"input": CreateObjectInput}
Response
{"data": {"createObject": {"object": Object}}}
createObjectRooms
Response
Returns a CreateObjectRoomsPayload
Arguments
| Name | Description |
|---|---|
input - CreateObjectRoomsInput!
|
Example
Query
mutation createObjectRooms($input: CreateObjectRoomsInput!) {
createObjectRooms(input: $input) {
createdRooms {
...ObjectRoomFragment
}
errors {
...ObjectRoomErrorFragment
}
}
}
Variables
{"input": CreateObjectRoomsInput}
Response
{
"data": {
"createObjectRooms": {
"createdRooms": [ObjectRoom],
"errors": [ObjectRoomError]
}
}
}
createOperationBillingItem
Description
Creates a billing position (Abrechnungsposition) on an executed operation. The operation must already be executed. Provide either a fixed quantity or a quantitySource (INPUT, SERVICE_RECEIPT or TIME_RECORD), never both. quantitySource SERVICE_RECEIPT requires the matching operationServiceId (type SERVICE) or operationMaterialId (type MATERIAL); TIME_RECORD requires hasPersonHourUnit and type SERVICE or JOURNEY.
Response
Returns a CreateOperationBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - CreateOperationBillingItemInput!
|
Example
Query
mutation createOperationBillingItem($input: CreateOperationBillingItemInput!) {
createOperationBillingItem(input: $input) {
operationBillingItem {
...OperationBillingItemFragment
}
}
}
Variables
{"input": CreateOperationBillingItemInput}
Response
{
"data": {
"createOperationBillingItem": {
"operationBillingItem": OperationBillingItem
}
}
}
createOperationReport
Response
Returns a CreateOperationReportPayload
Arguments
| Name | Description |
|---|---|
input - CreateOperationReportInput!
|
Example
Query
mutation createOperationReport($input: CreateOperationReportInput!) {
createOperationReport(input: $input) {
operationReport {
...OperationReportFragment
}
}
}
Variables
{"input": CreateOperationReportInput}
Response
{
"data": {
"createOperationReport": {
"operationReport": OperationReport
}
}
}
createOperationReportFile
Description
Registers a report file and returns a presigned uploadUrl to PUT the file to.
Response
Returns a CreateOperationReportFilePayload
Arguments
| Name | Description |
|---|---|
input - CreateOperationReportFileInput!
|
Example
Query
mutation createOperationReportFile($input: CreateOperationReportFileInput!) {
createOperationReportFile(input: $input) {
uploadUrl
operationReportFile {
...OperationReportFileFragment
}
}
}
Variables
{"input": CreateOperationReportFileInput}
Response
{
"data": {
"createOperationReportFile": {
"uploadUrl": "http://www.test.com/",
"operationReportFile": OperationReportFile
}
}
}
createOperationReportFileFromComment
Response
Arguments
| Name | Description |
|---|---|
input - CreateOperationReportFileFromCommentInput!
|
Example
Query
mutation createOperationReportFileFromComment($input: CreateOperationReportFileFromCommentInput!) {
createOperationReportFileFromComment(input: $input) {
operationReportFiles {
...OperationReportFileFragment
}
}
}
Variables
{"input": CreateOperationReportFileFromCommentInput}
Response
{
"data": {
"createOperationReportFileFromComment": {
"operationReportFiles": [OperationReportFile]
}
}
}
createOperations
Description
Creates one operation per date in executionDates — either for an existing order (orderId + orderServiceIds) or standalone at an object (objectId + operationServices). Executors and times apply to every created operation.
Response
Returns a CreateOperationsPayload
Arguments
| Name | Description |
|---|---|
input - CreateOperationsInput!
|
Example
Query
mutation createOperations($input: CreateOperationsInput!) {
createOperations(input: $input) {
operations {
...OperationFragment
}
}
}
Variables
{"input": CreateOperationsInput}
Response
{
"data": {
"createOperations": {"operations": [Operation]}
}
}
createOrder
Description
Creates an order (Auftrag) at an object together with its services, billing items and executors. An order is the recurring work agreement under which operations are scheduled and carried out at a customer's service location.
Response
Returns a CreateOrderPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderInput!
|
Example
Query
mutation createOrder($input: CreateOrderInput!) {
createOrder(input: $input) {
order {
...OrderFragment
}
}
}
Variables
{"input": CreateOrderInput}
Response
{"data": {"createOrder": {"order": Order}}}
createOrderBillingItem
Description
Creates a billing position (OrderBillingItem) on an order, or directly on an object when no orderId is given. The billingModel determines how it is invoiced: ONE_TIME (billed once over the given period), RECURRING (repeats every frequency/interval) or PER_OPERATION (billed per executed operation). Provide either orderId or objectId. quantitySource can only be set on PER_OPERATION.
Response
Returns a CreateOrderBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderBillingItemInput!
|
Example
Query
mutation createOrderBillingItem($input: CreateOrderBillingItemInput!) {
createOrderBillingItem(input: $input) {
orderBillingItem {
...OrderBillingItemFragment
}
}
}
Variables
{"input": CreateOrderBillingItemInput}
Response
{
"data": {
"createOrderBillingItem": {
"orderBillingItem": OrderBillingItem
}
}
}
createOrderBillingItemReduction
Description
Creates a manual reduction for an OrderBillingItem over the given execution period. unitPrice has to be negative. Returns the reduction PendingInvoiceItem and one PendingCreditNoteItem per affected executor billing item.
Response
Returns a CreateOrderBillingItemReductionPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderBillingItemReductionInput!
|
Example
Query
mutation createOrderBillingItemReduction($input: CreateOrderBillingItemReductionInput!) {
createOrderBillingItemReduction(input: $input) {
pendingInvoiceItem {
...PendingInvoiceItemFragment
}
pendingCreditNoteItems {
...PendingCreditNoteItemFragment
}
}
}
Variables
{"input": CreateOrderBillingItemReductionInput}
Response
{
"data": {
"createOrderBillingItemReduction": {
"pendingInvoiceItem": PendingInvoiceItem,
"pendingCreditNoteItems": [PendingCreditNoteItem]
}
}
}
createOrderExecutorBillingItem
Description
Creates a billing position for a subcontractor order executor — the credit-note side describing what the subcontractor is paid. Mirrors the OrderBillingItem billing models (ONE_TIME, RECURRING, PER_OPERATION).
Response
Returns a CreateOrderExecutorBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderExecutorBillingItemInput!
|
Example
Query
mutation createOrderExecutorBillingItem($input: CreateOrderExecutorBillingItemInput!) {
createOrderExecutorBillingItem(input: $input) {
orderExecutorBillingItem {
...OrderExecutorBillingItemFragment
}
}
}
Variables
{"input": CreateOrderExecutorBillingItemInput}
Response
{
"data": {
"createOrderExecutorBillingItem": {
"orderExecutorBillingItem": OrderExecutorBillingItem
}
}
}
createOrderService
Description
Adds a service (OrderService) from the company's service catalog to an order. With executionOnDemand the service is executed only on demand, optionally driven by a demandRrule; otherwise it is executed via the order's shifts.
Response
Returns a CreateOrderServicePayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderServiceInput!
|
Example
Query
mutation createOrderService($input: CreateOrderServiceInput!) {
createOrderService(input: $input) {
orderService {
...OrderServiceFragment
}
}
}
Variables
{"input": CreateOrderServiceInput}
Response
{
"data": {
"createOrderService": {"orderService": OrderService}
}
}
createOrderServiceTask
Description
Adds a task to an OrderService and propagates it to the OrderService's upcoming operations. An optional serviceAreaId must belong to the same service.
Response
Returns a CreateOrderServiceTaskPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderServiceTaskInput!
|
Example
Query
mutation createOrderServiceTask($input: CreateOrderServiceTaskInput!) {
createOrderServiceTask(input: $input) {
orderServiceTask {
...OrderServiceTaskFragment
}
}
}
Variables
{"input": CreateOrderServiceTaskInput}
Response
{
"data": {
"createOrderServiceTask": {
"orderServiceTask": OrderServiceTask
}
}
}
createOrderServiceTaskRooms
Description
Links up to 100 object rooms to an OrderServiceTask and propagates them to its non-completed operation tasks. Rooms must belong to the order's object; already linked rooms are skipped. Returns the ids of the newly linked object rooms.
Response
Returns a CreateOrderServiceTaskRoomsPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderServiceTaskRoomsInput!
|
Example
Query
mutation createOrderServiceTaskRooms($input: CreateOrderServiceTaskRoomsInput!) {
createOrderServiceTaskRooms(input: $input) {
objectRoomIds
}
}
Variables
{"input": CreateOrderServiceTaskRoomsInput}
Response
{"data": {"createOrderServiceTaskRooms": {"objectRoomIds": [4]}}}
createOrderShift
Description
Creates a shift (recurring schedule) on an order; operations are generated asynchronously.
Response
Returns a CreateOrderShiftPayload
Arguments
| Name | Description |
|---|---|
input - CreateOrderShiftInput!
|
Example
Query
mutation createOrderShift($input: CreateOrderShiftInput!) {
createOrderShift(input: $input) {
orderShift {
...OrderShiftFragment
}
}
}
Variables
{"input": CreateOrderShiftInput}
Response
{"data": {"createOrderShift": {"orderShift": OrderShift}}}
createPayment
Description
Records a payment on an invoice or a receipt (provide exactly one id). When the payments cover the outstanding amount, status changes to PAID and paidAt is set. Skonto is applied automatically when the invoice qualifies and is paid within the skonto deadline.
Response
Returns a CreatePaymentPayload
Arguments
| Name | Description |
|---|---|
input - CreatePaymentInput!
|
Example
Query
mutation createPayment($input: CreatePaymentInput!) {
createPayment(input: $input) {
payment {
...PaymentFragment
}
invoice {
...InvoiceFragment
}
}
}
Variables
{"input": CreatePaymentInput}
Response
{
"data": {
"createPayment": {
"payment": Payment,
"invoice": Invoice
}
}
}
createPendingInvoiceItem
Description
Creates a manual pending item (Ausstehender Posten) to be billed later via createInvoiceFromPendingInvoiceItems.
Response
Returns a CreatePendingInvoiceItemPayload
Arguments
| Name | Description |
|---|---|
input - CreatePendingInvoiceItemInput!
|
Example
Query
mutation createPendingInvoiceItem($input: CreatePendingInvoiceItemInput!) {
createPendingInvoiceItem(input: $input) {
pendingInvoiceItem {
...PendingInvoiceItemFragment
}
}
}
Variables
{"input": CreatePendingInvoiceItemInput}
Response
{
"data": {
"createPendingInvoiceItem": {
"pendingInvoiceItem": PendingInvoiceItem
}
}
}
createSubcontractor
Response
Returns a CreateSubcontractorPayload
Arguments
| Name | Description |
|---|---|
input - CreateSubcontractorInput!
|
Example
Query
mutation createSubcontractor($input: CreateSubcontractorInput!) {
createSubcontractor(input: $input) {
subcontractor {
...SubcontractorFragment
}
}
}
Variables
{"input": CreateSubcontractorInput}
Response
{
"data": {
"createSubcontractor": {
"subcontractor": Subcontractor
}
}
}
createSubcontractorContactPerson
Response
Returns a CreateSubcontractorContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - CreateSubcontractorContactPersonInput!
|
Example
Query
mutation createSubcontractorContactPerson($input: CreateSubcontractorContactPersonInput!) {
createSubcontractorContactPerson(input: $input) {
subcontractorContactPerson {
...SubcontractorContactPersonFragment
}
}
}
Variables
{"input": CreateSubcontractorContactPersonInput}
Response
{
"data": {
"createSubcontractorContactPerson": {
"subcontractorContactPerson": SubcontractorContactPerson
}
}
}
createSubcontractorOperationExecutor
Response
Arguments
| Name | Description |
|---|---|
input - CreateSubcontractorOperationExecutorInput!
|
Example
Query
mutation createSubcontractorOperationExecutor($input: CreateSubcontractorOperationExecutorInput!) {
createSubcontractorOperationExecutor(input: $input) {
operationExecutor {
...OperationExecutorFragment
}
}
}
Variables
{"input": CreateSubcontractorOperationExecutorInput}
Response
{
"data": {
"createSubcontractorOperationExecutor": {
"operationExecutor": OperationExecutor
}
}
}
createSubcontractorOrderExecutor
Description
Assigns a subcontractor to the order as an executor. Subcontractor executors can carry billing items for the amounts they are credited.
Response
Returns a CreateSubcontractorOrderExecutorPayload
Arguments
| Name | Description |
|---|---|
input - CreateSubcontractorOrderExecutorInput!
|
Example
Query
mutation createSubcontractorOrderExecutor($input: CreateSubcontractorOrderExecutorInput!) {
createSubcontractorOrderExecutor(input: $input) {
orderExecutor {
...OrderExecutorFragment
}
}
}
Variables
{"input": CreateSubcontractorOrderExecutorInput}
Response
{
"data": {
"createSubcontractorOrderExecutor": {
"orderExecutor": OrderExecutor
}
}
}
createSupplier
Response
Returns a CreateSupplierPayload
Arguments
| Name | Description |
|---|---|
input - CreateSupplierInput!
|
Example
Query
mutation createSupplier($input: CreateSupplierInput!) {
createSupplier(input: $input) {
supplier {
...SupplierFragment
}
}
}
Variables
{"input": CreateSupplierInput}
Response
{"data": {"createSupplier": {"supplier": Supplier}}}
createSupplierContactPerson
Response
Returns a CreateSupplierContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - CreateSupplierContactPersonInput!
|
Example
Query
mutation createSupplierContactPerson($input: CreateSupplierContactPersonInput!) {
createSupplierContactPerson(input: $input) {
supplierContactPerson {
...SupplierContactPersonFragment
}
}
}
Variables
{"input": CreateSupplierContactPersonInput}
Response
{
"data": {
"createSupplierContactPerson": {
"supplierContactPerson": SupplierContactPerson
}
}
}
createTicket
Response
Returns a CreateTicketPayload
Arguments
| Name | Description |
|---|---|
input - CreateTicketInput!
|
Example
Query
mutation createTicket($input: CreateTicketInput!) {
createTicket(input: $input) {
ticket {
...TicketFragment
}
}
}
Variables
{"input": CreateTicketInput}
Response
{"data": {"createTicket": {"ticket": Ticket}}}
createTicketFile
Response
Returns a CreateTicketFilePayload
Arguments
| Name | Description |
|---|---|
input - CreateTicketFileInput!
|
Example
Query
mutation createTicketFile($input: CreateTicketFileInput!) {
createTicketFile(input: $input) {
uploadUrl
ticketFile {
...TicketFileFragment
}
}
}
Variables
{"input": CreateTicketFileInput}
Response
{
"data": {
"createTicketFile": {
"uploadUrl": "http://www.test.com/",
"ticketFile": TicketFile
}
}
}
createTimeRecordBreak
Response
Returns a CreateTimeRecordBreakPayload
Arguments
| Name | Description |
|---|---|
input - CreateTimeRecordBreakInput!
|
Example
Query
mutation createTimeRecordBreak($input: CreateTimeRecordBreakInput!) {
createTimeRecordBreak(input: $input) {
timeRecordBreak {
...TimeRecordBreakFragment
}
}
}
Variables
{"input": CreateTimeRecordBreakInput}
Response
{
"data": {
"createTimeRecordBreak": {
"timeRecordBreak": TimeRecordBreak
}
}
}
createTimeRecords
Description
Creates up to 100 time records in one call with per-record results (partial success): each result carries either the created timeRecord or an error. Typical errors: overlapping time record, approved absence on that date, end before start.
Response
Returns a CreateTimeRecordsPayload
Arguments
| Name | Description |
|---|---|
input - CreateTimeRecordsInput!
|
Example
Query
mutation createTimeRecords($input: CreateTimeRecordsInput!) {
createTimeRecords(input: $input) {
results {
...CreateTimeRecordResultFragment
}
}
}
Variables
{"input": CreateTimeRecordsInput}
Response
{
"data": {
"createTimeRecords": {
"results": [CreateTimeRecordResult]
}
}
}
declineAbsence
Response
Returns a DeclineAbsencePayload
Arguments
| Name | Description |
|---|---|
input - DeclineAbsenceInput!
|
Example
Query
mutation declineAbsence($input: DeclineAbsenceInput!) {
declineAbsence(input: $input) {
absence {
...AbsenceFragment
}
}
}
Variables
{"input": DeclineAbsenceInput}
Response
{"data": {"declineAbsence": {"absence": Absence}}}
declineEstimate
Description
Marks a completed estimate as declined on behalf of the company (declinedAt set). Not possible once the customer already answered.
Response
Returns a DeclineEstimatePayload
Arguments
| Name | Description |
|---|---|
input - DeclineEstimateInput!
|
Example
Query
mutation declineEstimate($input: DeclineEstimateInput!) {
declineEstimate(input: $input) {
estimate {
...EstimateFragment
}
}
}
Variables
{"input": DeclineEstimateInput}
Response
{"data": {"declineEstimate": {"estimate": Estimate}}}
deleteCustomer
Response
Returns a DeleteCustomerPayload
Arguments
| Name | Description |
|---|---|
input - DeleteCustomerInput!
|
Example
Query
mutation deleteCustomer($input: DeleteCustomerInput!) {
deleteCustomer(input: $input) {
deletedCustomerId
}
}
Variables
{"input": DeleteCustomerInput}
Response
{"data": {"deleteCustomer": {"deletedCustomerId": 4}}}
deleteCustomerContactPerson
Response
Returns a DeleteCustomerContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - DeleteCustomerContactPersonInput!
|
Example
Query
mutation deleteCustomerContactPerson($input: DeleteCustomerContactPersonInput!) {
deleteCustomerContactPerson(input: $input) {
deletedCustomerContactPersonId
}
}
Variables
{"input": DeleteCustomerContactPersonInput}
Response
{
"data": {
"deleteCustomerContactPerson": {
"deletedCustomerContactPersonId": "4"
}
}
}
deleteEmployee
Description
Permanently deletes the employee including profile picture and, where applicable, the login. Prefer cancelEmployee for terminations.
Response
Returns a DeleteEmployeePayload
Arguments
| Name | Description |
|---|---|
input - DeleteEmployeeInput!
|
Example
Query
mutation deleteEmployee($input: DeleteEmployeeInput!) {
deleteEmployee(input: $input) {
deletedEmployeeId
}
}
Variables
{"input": DeleteEmployeeInput}
Response
{"data": {"deleteEmployee": {"deletedEmployeeId": 4}}}
deleteEmployeeProfilePicture
Response
Returns a DeleteEmployeeProfilePicturePayload
Arguments
| Name | Description |
|---|---|
input - DeleteEmployeeProfilePictureInput!
|
Example
Query
mutation deleteEmployeeProfilePicture($input: DeleteEmployeeProfilePictureInput!) {
deleteEmployeeProfilePicture(input: $input) {
success
}
}
Variables
{"input": DeleteEmployeeProfilePictureInput}
Response
{"data": {"deleteEmployeeProfilePicture": {"success": true}}}
deleteEmployeeWorkingTimeModel
Response
Returns a DeleteEmployeeWorkingTimeModelPayload
Arguments
| Name | Description |
|---|---|
input - DeleteEmployeeWorkingTimeModelInput!
|
Example
Query
mutation deleteEmployeeWorkingTimeModel($input: DeleteEmployeeWorkingTimeModelInput!) {
deleteEmployeeWorkingTimeModel(input: $input) {
deletedEmployeeWorkingTimeModelId
}
}
Variables
{"input": DeleteEmployeeWorkingTimeModelInput}
Response
{
"data": {
"deleteEmployeeWorkingTimeModel": {"deletedEmployeeWorkingTimeModelId": 4}
}
}
deleteEstimate
Response
Returns a DeleteEstimatePayload
Arguments
| Name | Description |
|---|---|
input - DeleteEstimateInput!
|
Example
Query
mutation deleteEstimate($input: DeleteEstimateInput!) {
deleteEstimate(input: $input) {
deletedEstimateId
}
}
Variables
{"input": DeleteEstimateInput}
Response
{
"data": {
"deleteEstimate": {
"deletedEstimateId": "4"
}
}
}
deleteInvoice
Description
Permanently deletes an invoice of type INVOICE (cancellation invoices can't be deleted this way); not limited to DRAFT status — any status can be deleted.
Response
Returns a DeleteInvoicePayload
Arguments
| Name | Description |
|---|---|
input - DeleteInvoiceInput!
|
Example
Query
mutation deleteInvoice($input: DeleteInvoiceInput!) {
deleteInvoice(input: $input) {
deletedInvoiceId
}
}
Variables
{"input": DeleteInvoiceInput}
Response
{
"data": {
"deleteInvoice": {
"deletedInvoiceId": "4"
}
}
}
deleteObject
Response
Returns a DeleteObjectPayload
Arguments
| Name | Description |
|---|---|
input - DeleteObjectInput!
|
Example
Query
mutation deleteObject($input: DeleteObjectInput!) {
deleteObject(input: $input) {
deletedObjectId
}
}
Variables
{"input": DeleteObjectInput}
Response
{
"data": {
"deleteObject": {"deletedObjectId": "4"}
}
}
deleteObjectRoom
Response
Returns a DeleteObjectRoomPayload
Arguments
| Name | Description |
|---|---|
input - DeleteObjectRoomInput!
|
Example
Query
mutation deleteObjectRoom($input: DeleteObjectRoomInput!) {
deleteObjectRoom(input: $input) {
deletedObjectRoomId
}
}
Variables
{"input": DeleteObjectRoomInput}
Response
{"data": {"deleteObjectRoom": {"deletedObjectRoomId": 4}}}
deleteOperationBillingItem
Description
Permanently deletes a billing position and re-orders the remaining positions. Not possible once the position or one of its executor billing items has been billed.
Response
Returns a DeleteOperationBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOperationBillingItemInput!
|
Example
Query
mutation deleteOperationBillingItem($input: DeleteOperationBillingItemInput!) {
deleteOperationBillingItem(input: $input) {
deletedOperationBillingItemId
}
}
Variables
{"input": DeleteOperationBillingItemInput}
Response
{
"data": {
"deleteOperationBillingItem": {
"deletedOperationBillingItemId": "4"
}
}
}
deleteOperationExecutor
Response
Returns a DeleteOperationExecutorPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOperationExecutorInput!
|
Example
Query
mutation deleteOperationExecutor($input: DeleteOperationExecutorInput!) {
deleteOperationExecutor(input: $input) {
deletedOperationExecutorId
}
}
Variables
{"input": DeleteOperationExecutorInput}
Response
{"data": {"deleteOperationExecutor": {"deletedOperationExecutorId": 4}}}
deleteOperationReport
Response
Returns a DeleteOperationReportPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOperationReportInput!
|
Example
Query
mutation deleteOperationReport($input: DeleteOperationReportInput!) {
deleteOperationReport(input: $input) {
deletedOperationReportId
}
}
Variables
{"input": DeleteOperationReportInput}
Response
{
"data": {
"deleteOperationReport": {
"deletedOperationReportId": "4"
}
}
}
deleteOperationReportFile
Response
Returns a DeleteOperationReportFilePayload
Arguments
| Name | Description |
|---|---|
input - DeleteOperationReportFileInput!
|
Example
Query
mutation deleteOperationReportFile($input: DeleteOperationReportFileInput!) {
deleteOperationReportFile(input: $input) {
deletedOperationReportFileId
}
}
Variables
{"input": DeleteOperationReportFileInput}
Response
{"data": {"deleteOperationReportFile": {"deletedOperationReportFileId": 4}}}
deleteOrder
Description
Permanently deletes an order together with its not-yet-billed pending invoice and credit-note items and the operations that have no recorded time or billed amounts. The order must be ended first (endDate set) and may not have shifts still creating operations; operations with time records or billed items are preserved.
Response
Returns a DeleteOrderPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderInput!
|
Example
Query
mutation deleteOrder($input: DeleteOrderInput!) {
deleteOrder(input: $input) {
deletedOrderId
}
}
Variables
{"input": DeleteOrderInput}
Response
{"data": {"deleteOrder": {"deletedOrderId": 4}}}
deleteOrderBillingItem
Description
Permanently deletes an OrderBillingItem. Only possible once it has been ended (endDate set), has no executor billing items and — for ONE_TIME items — has not been billed yet. Use endOrderBillingItem to merely stop future billing.
Response
Returns a DeleteOrderBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderBillingItemInput!
|
Example
Query
mutation deleteOrderBillingItem($input: DeleteOrderBillingItemInput!) {
deleteOrderBillingItem(input: $input) {
deletedOrderBillingItemId
}
}
Variables
{"input": DeleteOrderBillingItemInput}
Response
{
"data": {
"deleteOrderBillingItem": {
"deletedOrderBillingItemId": "4"
}
}
}
deleteOrderExecutor
Description
Permanently deletes an OrderExecutor together with its OrderShiftExecutors and its OperationExecutors that have no TimeRecord. Use deleteOrderExecutor only to undo an assignment before any relevant data has been recorded. Subcontractor executors that have billing items must first be cancelled via cancelOrderExecutor before they can be deleted.
Response
Returns a DeleteOrderExecutorPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderExecutorInput!
|
Example
Query
mutation deleteOrderExecutor($input: DeleteOrderExecutorInput!) {
deleteOrderExecutor(input: $input) {
deletedOrderExecutorId
}
}
Variables
{"input": DeleteOrderExecutorInput}
Response
{"data": {"deleteOrderExecutor": {"deletedOrderExecutorId": 4}}}
deleteOrderExecutorBillingItem
Description
Permanently deletes an OrderExecutorBillingItem. Only possible once it has been ended (endDate set) and — for ONE_TIME items — has not been billed yet. Use endOrderExecutorBillingItem to merely stop future crediting.
Response
Returns a DeleteOrderExecutorBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderExecutorBillingItemInput!
|
Example
Query
mutation deleteOrderExecutorBillingItem($input: DeleteOrderExecutorBillingItemInput!) {
deleteOrderExecutorBillingItem(input: $input) {
deletedOrderExecutorBillingItemId
}
}
Variables
{"input": DeleteOrderExecutorBillingItemInput}
Response
{
"data": {
"deleteOrderExecutorBillingItem": {"deletedOrderExecutorBillingItemId": 4}
}
}
deleteOrderService
Description
Permanently deletes an OrderService and removes its future, unbilled operations (those after lastExecutionDate). Not possible while billing items still reference it; operations with recorded times or already billed amounts are kept.
Response
Returns a DeleteOrderServicePayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderServiceInput!
|
Example
Query
mutation deleteOrderService($input: DeleteOrderServiceInput!) {
deleteOrderService(input: $input) {
deletedOrderServiceId
}
}
Variables
{"input": DeleteOrderServiceInput}
Response
{
"data": {
"deleteOrderService": {
"deletedOrderServiceId": "4"
}
}
}
deleteOrderServiceTaskRooms
Description
Removes up to 100 room links from OrderServiceTasks together with the related non-completed operation task rooms. Ids that don't belong to your company are ignored.
Response
Returns a DeleteOrderServiceTaskRoomsPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderServiceTaskRoomsInput!
|
Example
Query
mutation deleteOrderServiceTaskRooms($input: DeleteOrderServiceTaskRoomsInput!) {
deleteOrderServiceTaskRooms(input: $input) {
deletedOrderServiceTaskRoomIds
}
}
Variables
{"input": DeleteOrderServiceTaskRoomsInput}
Response
{
"data": {
"deleteOrderServiceTaskRooms": {"deletedOrderServiceTaskRoomIds": [4]}
}
}
deleteOrderServiceTasks
Description
Deletes up to 100 OrderServiceTasks at once and removes their non-completed operation tasks. Ids that don't belong to your company are ignored.
Response
Returns a DeleteOrderServiceTasksPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderServiceTasksInput!
|
Example
Query
mutation deleteOrderServiceTasks($input: DeleteOrderServiceTasksInput!) {
deleteOrderServiceTasks(input: $input) {
deletedOrderServiceTaskIds
}
}
Variables
{"input": DeleteOrderServiceTasksInput}
Response
{"data": {"deleteOrderServiceTasks": {"deletedOrderServiceTaskIds": [4]}}}
deleteOrderShift
Description
Permanently deletes a shift and its future operations.
Response
Returns a DeleteOrderShiftPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderShiftInput!
|
Example
Query
mutation deleteOrderShift($input: DeleteOrderShiftInput!) {
deleteOrderShift(input: $input) {
deletedOrderShiftId
}
}
Variables
{"input": DeleteOrderShiftInput}
Response
{
"data": {
"deleteOrderShift": {
"deletedOrderShiftId": "4"
}
}
}
deleteOrderShiftExecutor
Description
Deletes an executor from an OrderShift
Response
Returns a DeleteOrderShiftExecutorPayload
Arguments
| Name | Description |
|---|---|
input - DeleteOrderShiftExecutorInput!
|
Example
Query
mutation deleteOrderShiftExecutor($input: DeleteOrderShiftExecutorInput!) {
deleteOrderShiftExecutor(input: $input) {
deletedOrderShiftExecutorId
}
}
Variables
{"input": DeleteOrderShiftExecutorInput}
Response
{
"data": {
"deleteOrderShiftExecutor": {
"deletedOrderShiftExecutorId": "4"
}
}
}
deletePendingInvoiceItems
Description
Permanently deletes pending items. Fails if any item, or a linked pending credit-note item, is already billed.
Response
Returns a DeletePendingInvoiceItemsPayload
Arguments
| Name | Description |
|---|---|
input - DeletePendingInvoiceItemsInput!
|
Example
Query
mutation deletePendingInvoiceItems($input: DeletePendingInvoiceItemsInput!) {
deletePendingInvoiceItems(input: $input) {
deletedPendingInvoiceItemIds
}
}
Variables
{"input": DeletePendingInvoiceItemsInput}
Response
{"data": {"deletePendingInvoiceItems": {"deletedPendingInvoiceItemIds": [4]}}}
deleteSubcontractor
Response
Returns a DeleteSubcontractorPayload
Arguments
| Name | Description |
|---|---|
input - DeleteSubcontractorInput!
|
Example
Query
mutation deleteSubcontractor($input: DeleteSubcontractorInput!) {
deleteSubcontractor(input: $input) {
deletedSubcontractorId
}
}
Variables
{"input": DeleteSubcontractorInput}
Response
{"data": {"deleteSubcontractor": {"deletedSubcontractorId": 4}}}
deleteSubcontractorContactPerson
Response
Returns a DeleteSubcontractorContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - DeleteSubcontractorContactPersonInput!
|
Example
Query
mutation deleteSubcontractorContactPerson($input: DeleteSubcontractorContactPersonInput!) {
deleteSubcontractorContactPerson(input: $input) {
deletedSubcontractorContactPersonId
}
}
Variables
{"input": DeleteSubcontractorContactPersonInput}
Response
{
"data": {
"deleteSubcontractorContactPerson": {
"deletedSubcontractorContactPersonId": "4"
}
}
}
deleteSupplier
Response
Returns a DeleteSupplierPayload
Arguments
| Name | Description |
|---|---|
input - DeleteSupplierInput!
|
Example
Query
mutation deleteSupplier($input: DeleteSupplierInput!) {
deleteSupplier(input: $input) {
deletedSupplierId
}
}
Variables
{"input": DeleteSupplierInput}
Response
{"data": {"deleteSupplier": {"deletedSupplierId": 4}}}
deleteSupplierContactPerson
Response
Returns a DeleteSupplierContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - DeleteSupplierContactPersonInput!
|
Example
Query
mutation deleteSupplierContactPerson($input: DeleteSupplierContactPersonInput!) {
deleteSupplierContactPerson(input: $input) {
deletedSupplierContactPersonId
}
}
Variables
{"input": DeleteSupplierContactPersonInput}
Response
{"data": {"deleteSupplierContactPerson": {"deletedSupplierContactPersonId": 4}}}
deleteTicket
Response
Returns a DeleteTicketPayload
Arguments
| Name | Description |
|---|---|
input - DeleteTicketInput!
|
Example
Query
mutation deleteTicket($input: DeleteTicketInput!) {
deleteTicket(input: $input) {
deletedTicketId
}
}
Variables
{"input": DeleteTicketInput}
Response
{"data": {"deleteTicket": {"deletedTicketId": 4}}}
deleteTicketFile
Response
Returns a DeleteTicketFilePayload
Arguments
| Name | Description |
|---|---|
input - DeleteTicketFileInput!
|
Example
Query
mutation deleteTicketFile($input: DeleteTicketFileInput!) {
deleteTicketFile(input: $input) {
deletedTicketFileId
}
}
Variables
{"input": DeleteTicketFileInput}
Response
{
"data": {
"deleteTicketFile": {
"deletedTicketFileId": "4"
}
}
}
deleteTimeRecord
Response
Returns a DeleteTimeRecordPayload
Arguments
| Name | Description |
|---|---|
input - DeleteTimeRecordInput!
|
Example
Query
mutation deleteTimeRecord($input: DeleteTimeRecordInput!) {
deleteTimeRecord(input: $input) {
deletedTimeRecordId
}
}
Variables
{"input": DeleteTimeRecordInput}
Response
{
"data": {
"deleteTimeRecord": {
"deletedTimeRecordId": "4"
}
}
}
deleteTimeRecordBreak
Response
Returns a DeleteTimeRecordBreakPayload
Arguments
| Name | Description |
|---|---|
input - DeleteTimeRecordBreakInput!
|
Example
Query
mutation deleteTimeRecordBreak($input: DeleteTimeRecordBreakInput!) {
deleteTimeRecordBreak(input: $input) {
deletedTimeRecordBreakId
}
}
Variables
{"input": DeleteTimeRecordBreakInput}
Response
{
"data": {
"deleteTimeRecordBreak": {
"deletedTimeRecordBreakId": "4"
}
}
}
deleteTimeRecords
Description
Deletes up to 100 time records with per-id results (partial success).
Response
Returns a DeleteTimeRecordsPayload
Arguments
| Name | Description |
|---|---|
input - DeleteTimeRecordsInput!
|
Example
Query
mutation deleteTimeRecords($input: DeleteTimeRecordsInput!) {
deleteTimeRecords(input: $input) {
results {
...DeleteTimeRecordResultFragment
}
}
}
Variables
{"input": DeleteTimeRecordsInput}
Response
{
"data": {
"deleteTimeRecords": {
"results": [DeleteTimeRecordResult]
}
}
}
endOrder
Description
Ends an order (Auftrag) as of endDate. Operations scheduled after endDate are removed while the order and its history are kept (status ENDED). All shifts and billing items must already be ended on or before endDate. Use deleteOrder to remove the order entirely.
Response
Returns an EndOrderPayload
Arguments
| Name | Description |
|---|---|
input - EndOrderInput!
|
Example
Query
mutation endOrder($input: EndOrderInput!) {
endOrder(input: $input) {
order {
...OrderFragment
}
}
}
Variables
{"input": EndOrderInput}
Response
{"data": {"endOrder": {"order": Order}}}
endOrderBillingItem
Description
Ends a RECURRING or PER_OPERATION OrderBillingItem as of endDate; no further amounts are billed after that date while everything already billed is kept. To remove an item entirely use deleteOrderBillingItem instead.
Response
Returns an EndOrderBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - EndOrderBillingItemInput!
|
Example
Query
mutation endOrderBillingItem($input: EndOrderBillingItemInput!) {
endOrderBillingItem(input: $input) {
orderBillingItem {
...OrderBillingItemFragment
}
}
}
Variables
{"input": EndOrderBillingItemInput}
Response
{
"data": {
"endOrderBillingItem": {
"orderBillingItem": OrderBillingItem
}
}
}
endOrderExecutorBillingItem
Description
Ends a RECURRING or PER_OPERATION OrderExecutorBillingItem as of endDate; nothing is credited to the subcontractor after that date while everything already credited is kept. Use deleteOrderExecutorBillingItem to remove it entirely.
Response
Returns an EndOrderExecutorBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - EndOrderExecutorBillingItemInput!
|
Example
Query
mutation endOrderExecutorBillingItem($input: EndOrderExecutorBillingItemInput!) {
endOrderExecutorBillingItem(input: $input) {
orderExecutorBillingItem {
...OrderExecutorBillingItemFragment
}
}
}
Variables
{"input": EndOrderExecutorBillingItemInput}
Response
{
"data": {
"endOrderExecutorBillingItem": {
"orderExecutorBillingItem": OrderExecutorBillingItem
}
}
}
endOrderShift
Description
Ends a shift; operations after endDate are removed.
Response
Returns an EndOrderShiftPayload
Arguments
| Name | Description |
|---|---|
input - EndOrderShiftInput!
|
Example
Query
mutation endOrderShift($input: EndOrderShiftInput!) {
endOrderShift(input: $input) {
orderShift {
...OrderShiftFragment
}
}
}
Variables
{"input": EndOrderShiftInput}
Response
{"data": {"endOrderShift": {"orderShift": OrderShift}}}
inputOperationBillingItemQuantity
Description
Sets the quantity of a billing position whose quantitySource is INPUT. The quantity has to be greater than 0. Updates the linked pending items and propagates the quantity to the operation's executor billing items.
Response
Returns an InputOperationBillingItemQuantityPayload
Arguments
| Name | Description |
|---|---|
input - InputOperationBillingItemQuantityInput!
|
Example
Query
mutation inputOperationBillingItemQuantity($input: InputOperationBillingItemQuantityInput!) {
inputOperationBillingItemQuantity(input: $input) {
operationBillingItem {
...OperationBillingItemFragment
}
}
}
Variables
{"input": InputOperationBillingItemQuantityInput}
Response
{
"data": {
"inputOperationBillingItemQuantity": {
"operationBillingItem": OperationBillingItem
}
}
}
markOperationExecutorAsNoShow
Response
Returns a MarkOperationExecutorAsNoShowPayload
Arguments
| Name | Description |
|---|---|
input - MarkOperationExecutorAsNoShowInput!
|
Example
Query
mutation markOperationExecutorAsNoShow($input: MarkOperationExecutorAsNoShowInput!) {
markOperationExecutorAsNoShow(input: $input) {
operationExecutor {
...OperationExecutorFragment
}
}
}
Variables
{"input": MarkOperationExecutorAsNoShowInput}
Response
{
"data": {
"markOperationExecutorAsNoShow": {
"operationExecutor": OperationExecutor
}
}
}
rejectTicket
Response
Returns a RejectTicketPayload
Arguments
| Name | Description |
|---|---|
input - RejectTicketInput!
|
Example
Query
mutation rejectTicket($input: RejectTicketInput!) {
rejectTicket(input: $input) {
ticket {
...TicketFragment
}
}
}
Variables
{"input": RejectTicketInput}
Response
{"data": {"rejectTicket": {"ticket": Ticket}}}
replaceEmployeeOnOperations
Description
Replaces an employee on a single operation.
Response
Returns a ReplaceEmployeeOnOperationsPayload
Arguments
| Name | Description |
|---|---|
input - ReplaceEmployeeOnOperationsInput!
|
Example
Query
mutation replaceEmployeeOnOperations($input: ReplaceEmployeeOnOperationsInput!) {
replaceEmployeeOnOperations(input: $input) {
operationExecutors {
...OperationExecutorFragment
}
}
}
Variables
{"input": ReplaceEmployeeOnOperationsInput}
Response
{
"data": {
"replaceEmployeeOnOperations": {
"operationExecutors": [OperationExecutor]
}
}
}
replaceEmployeeOnOrderShiftUntil
Description
Adds or replaces an employee across all operations of an OrderShift up to a given date. Omit oldEmployeeId to only add the new employee.
Response
Returns a ReplaceEmployeeOnOrderShiftUntilPayload
Arguments
| Name | Description |
|---|---|
input - ReplaceEmployeeOnOrderShiftUntilInput!
|
Example
Query
mutation replaceEmployeeOnOrderShiftUntil($input: ReplaceEmployeeOnOrderShiftUntilInput!) {
replaceEmployeeOnOrderShiftUntil(input: $input) {
operationExecutors {
...OperationExecutorFragment
}
}
}
Variables
{"input": ReplaceEmployeeOnOrderShiftUntilInput}
Response
{
"data": {
"replaceEmployeeOnOrderShiftUntil": {
"operationExecutors": [OperationExecutor]
}
}
}
replaceSubcontractorOnOperation
Description
Replaces a subcontractor on a single operation.
Response
Returns a ReplaceSubcontractorOnOperationPayload
Arguments
| Name | Description |
|---|---|
input - ReplaceSubcontractorOnOperationInput!
|
Example
Query
mutation replaceSubcontractorOnOperation($input: ReplaceSubcontractorOnOperationInput!) {
replaceSubcontractorOnOperation(input: $input) {
operationExecutor {
...OperationExecutorFragment
}
}
}
Variables
{"input": ReplaceSubcontractorOnOperationInput}
Response
{
"data": {
"replaceSubcontractorOnOperation": {
"operationExecutor": OperationExecutor
}
}
}
replaceSubcontractorOnOrderShiftUntil
Description
Adds or replaces a subcontractor across all operations of an OrderShift up to a given date. Omit oldSubcontractorId to only add the new subcontractor.
Response
Arguments
| Name | Description |
|---|---|
input - ReplaceSubcontractorOnOrderShiftUntilInput!
|
Example
Query
mutation replaceSubcontractorOnOrderShiftUntil($input: ReplaceSubcontractorOnOrderShiftUntilInput!) {
replaceSubcontractorOnOrderShiftUntil(input: $input) {
operationExecutors {
...OperationExecutorFragment
}
}
}
Variables
{"input": ReplaceSubcontractorOnOrderShiftUntilInput}
Response
{
"data": {
"replaceSubcontractorOnOrderShiftUntil": {
"operationExecutors": [OperationExecutor]
}
}
}
resumeOrderShift
Description
Resumes an ended shift from resumeDate on.
Response
Returns a ResumeOrderShiftPayload
Arguments
| Name | Description |
|---|---|
input - ResumeOrderShiftInput!
|
Example
Query
mutation resumeOrderShift($input: ResumeOrderShiftInput!) {
resumeOrderShift(input: $input) {
orderShift {
...OrderShiftFragment
}
}
}
Variables
{"input": ResumeOrderShiftInput}
Response
{"data": {"resumeOrderShift": {"orderShift": OrderShift}}}
unmarkOperationExecutorAsNoShow
Response
Returns an UnmarkOperationExecutorAsNoShowPayload
Arguments
| Name | Description |
|---|---|
input - UnmarkOperationExecutorAsNoShowInput!
|
Example
Query
mutation unmarkOperationExecutorAsNoShow($input: UnmarkOperationExecutorAsNoShowInput!) {
unmarkOperationExecutorAsNoShow(input: $input) {
operationExecutor {
...OperationExecutorFragment
}
}
}
Variables
{"input": UnmarkOperationExecutorAsNoShowInput}
Response
{
"data": {
"unmarkOperationExecutorAsNoShow": {
"operationExecutor": OperationExecutor
}
}
}
updateAbsence
Response
Returns an UpdateAbsencePayload
Arguments
| Name | Description |
|---|---|
input - UpdateAbsenceInput!
|
Example
Query
mutation updateAbsence($input: UpdateAbsenceInput!) {
updateAbsence(input: $input) {
absence {
...AbsenceFragment
}
}
}
Variables
{"input": UpdateAbsenceInput}
Response
{"data": {"updateAbsence": {"absence": Absence}}}
updateCreditNote
Description
Updates a DRAFT credit note. Completed credit notes are immutable.
Response
Returns an UpdateCreditNotePayload
Arguments
| Name | Description |
|---|---|
input - UpdateCreditNoteInput!
|
Example
Query
mutation updateCreditNote($input: UpdateCreditNoteInput!) {
updateCreditNote(input: $input) {
creditNote {
...CreditNoteFragment
}
}
}
Variables
{"input": UpdateCreditNoteInput}
Response
{"data": {"updateCreditNote": {"creditNote": CreditNote}}}
updateCustomer
Response
Returns an UpdateCustomerPayload
Arguments
| Name | Description |
|---|---|
input - UpdateCustomerInput!
|
Example
Query
mutation updateCustomer($input: UpdateCustomerInput!) {
updateCustomer(input: $input) {
customer {
...CustomerFragment
}
}
}
Variables
{"input": UpdateCustomerInput}
Response
{"data": {"updateCustomer": {"customer": Customer}}}
updateCustomerContactPerson
Response
Returns an UpdateCustomerContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - UpdateCustomerContactPersonInput!
|
Example
Query
mutation updateCustomerContactPerson($input: UpdateCustomerContactPersonInput!) {
updateCustomerContactPerson(input: $input) {
customerContactPerson {
...CustomerContactPersonFragment
}
}
}
Variables
{"input": UpdateCustomerContactPersonInput}
Response
{
"data": {
"updateCustomerContactPerson": {
"customerContactPerson": CustomerContactPerson
}
}
}
updateEmployee
Response
Returns an UpdateEmployeePayload
Arguments
| Name | Description |
|---|---|
input - UpdateEmployeeInput!
|
Example
Query
mutation updateEmployee($input: UpdateEmployeeInput!) {
updateEmployee(input: $input) {
employee {
...EmployeeFragment
}
}
}
Variables
{"input": UpdateEmployeeInput}
Response
{"data": {"updateEmployee": {"employee": Employee}}}
updateEmployeeProfilePicture
Response
Returns an UpdateEmployeeProfilePicturePayload
Arguments
| Name | Description |
|---|---|
input - UpdateEmployeeProfilePictureInput!
|
Example
Query
mutation updateEmployeeProfilePicture($input: UpdateEmployeeProfilePictureInput!) {
updateEmployeeProfilePicture(input: $input) {
uploadUrl
employeeProfilePicture {
...EmployeeProfilePictureFragment
}
}
}
Variables
{"input": UpdateEmployeeProfilePictureInput}
Response
{
"data": {
"updateEmployeeProfilePicture": {
"uploadUrl": "http://www.test.com/",
"employeeProfilePicture": EmployeeProfilePicture
}
}
}
updateEmployeeWorkingTimeModel
Response
Returns an UpdateEmployeeWorkingTimeModelPayload
Arguments
| Name | Description |
|---|---|
input - UpdateEmployeeWorkingTimeModelInput!
|
Example
Query
mutation updateEmployeeWorkingTimeModel($input: UpdateEmployeeWorkingTimeModelInput!) {
updateEmployeeWorkingTimeModel(input: $input) {
employeeWorkingTimeModel {
...EmployeeWorkingTimeModelFragment
}
}
}
Variables
{"input": UpdateEmployeeWorkingTimeModelInput}
Response
{
"data": {
"updateEmployeeWorkingTimeModel": {
"employeeWorkingTimeModel": EmployeeWorkingTimeModel
}
}
}
updateEstimate
Response
Returns an UpdateEstimatePayload
Arguments
| Name | Description |
|---|---|
input - UpdateEstimateInput!
|
Example
Query
mutation updateEstimate($input: UpdateEstimateInput!) {
updateEstimate(input: $input) {
estimate {
...EstimateFragment
}
}
}
Variables
{"input": UpdateEstimateInput}
Response
{"data": {"updateEstimate": {"estimate": Estimate}}}
updateEstimateWebEnabled
Response
Returns an UpdateEstimateWebEnabledPayload
Arguments
| Name | Description |
|---|---|
input - UpdateEstimateWebEnabledInput!
|
Example
Query
mutation updateEstimateWebEnabled($input: UpdateEstimateWebEnabledInput!) {
updateEstimateWebEnabled(input: $input) {
estimate {
...EstimateFragment
}
}
}
Variables
{"input": UpdateEstimateWebEnabledInput}
Response
{
"data": {
"updateEstimateWebEnabled": {"estimate": Estimate}
}
}
updateExecutionAndAddEmployeeToOperation
Response
Arguments
| Name | Description |
|---|---|
input - UpdateExecutionAndAddEmployeeToOperationInput!
|
Example
Query
mutation updateExecutionAndAddEmployeeToOperation($input: UpdateExecutionAndAddEmployeeToOperationInput!) {
updateExecutionAndAddEmployeeToOperation(input: $input) {
operationExecutor {
...OperationExecutorFragment
}
}
}
Variables
{"input": UpdateExecutionAndAddEmployeeToOperationInput}
Response
{
"data": {
"updateExecutionAndAddEmployeeToOperation": {
"operationExecutor": OperationExecutor
}
}
}
updateExecutionAndReplaceEmployeeOnOperation
Response
Returns an UpdateExecutionAndReplaceEmployeeOnOperationPayload
Arguments
| Name | Description |
|---|---|
input - UpdateExecutionAndReplaceEmployeeOnOperationInput!
|
Example
Query
mutation updateExecutionAndReplaceEmployeeOnOperation($input: UpdateExecutionAndReplaceEmployeeOnOperationInput!) {
updateExecutionAndReplaceEmployeeOnOperation(input: $input) {
operationExecutor {
...OperationExecutorFragment
}
}
}
Variables
{
"input": UpdateExecutionAndReplaceEmployeeOnOperationInput
}
Response
{
"data": {
"updateExecutionAndReplaceEmployeeOnOperation": {
"operationExecutor": OperationExecutor
}
}
}
updateInvoice
Description
Updates a DRAFT invoice. Completed invoices are immutable.
Response
Returns an UpdateInvoicePayload
Arguments
| Name | Description |
|---|---|
input - UpdateInvoiceInput!
|
Example
Query
mutation updateInvoice($input: UpdateInvoiceInput!) {
updateInvoice(input: $input) {
invoice {
...InvoiceFragment
}
}
}
Variables
{"input": UpdateInvoiceInput}
Response
{"data": {"updateInvoice": {"invoice": Invoice}}}
updateMaterial
Description
Updates only the provided fields; pass null to clear an optional field.
Response
Returns an UpdateMaterialPayload
Arguments
| Name | Description |
|---|---|
input - UpdateMaterialInput!
|
Example
Query
mutation updateMaterial($input: UpdateMaterialInput!) {
updateMaterial(input: $input) {
material {
...MaterialFragment
}
}
}
Variables
{"input": UpdateMaterialInput}
Response
{"data": {"updateMaterial": {"material": Material}}}
updateMaterialGroup
Response
Returns an UpdateMaterialGroupPayload
Arguments
| Name | Description |
|---|---|
input - UpdateMaterialGroupInput!
|
Example
Query
mutation updateMaterialGroup($input: UpdateMaterialGroupInput!) {
updateMaterialGroup(input: $input) {
materialGroup {
...MaterialGroupFragment
}
}
}
Variables
{"input": UpdateMaterialGroupInput}
Response
{
"data": {
"updateMaterialGroup": {
"materialGroup": MaterialGroup
}
}
}
updateObject
Response
Returns an UpdateObjectPayload
Arguments
| Name | Description |
|---|---|
input - UpdateObjectInput!
|
Example
Query
mutation updateObject($input: UpdateObjectInput!) {
updateObject(input: $input) {
object {
...ObjectFragment
}
}
}
Variables
{"input": UpdateObjectInput}
Response
{"data": {"updateObject": {"object": Object}}}
updateObjectRoom
Response
Returns an UpdateObjectRoomPayload
Arguments
| Name | Description |
|---|---|
input - UpdateObjectRoomInput!
|
Example
Query
mutation updateObjectRoom($input: UpdateObjectRoomInput!) {
updateObjectRoom(input: $input) {
objectRoom {
...ObjectRoomFragment
}
}
}
Variables
{"input": UpdateObjectRoomInput}
Response
{"data": {"updateObjectRoom": {"objectRoom": ObjectRoom}}}
updateOperationBillingItem
Description
Updates an existing billing position. Not possible once the position — or one of its executor billing items — has already been billed. Changing the quantity, service or material propagates to the linked pending items and executor billing items.
Response
Returns an UpdateOperationBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOperationBillingItemInput!
|
Example
Query
mutation updateOperationBillingItem($input: UpdateOperationBillingItemInput!) {
updateOperationBillingItem(input: $input) {
operationBillingItem {
...OperationBillingItemFragment
}
}
}
Variables
{"input": UpdateOperationBillingItemInput}
Response
{
"data": {
"updateOperationBillingItem": {
"operationBillingItem": OperationBillingItem
}
}
}
updateOperationReport
Response
Returns an UpdateOperationReportPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOperationReportInput!
|
Example
Query
mutation updateOperationReport($input: UpdateOperationReportInput!) {
updateOperationReport(input: $input) {
operationReport {
...OperationReportFragment
}
}
}
Variables
{"input": UpdateOperationReportInput}
Response
{
"data": {
"updateOperationReport": {
"operationReport": OperationReport
}
}
}
updateOrder
Description
Updates an order's master data: start/end date, instructions and the number of required executors per operation. effectiveDate limits instruction and requiredExecutors changes to operations on or after that date.
Response
Returns an UpdateOrderPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderInput!
|
Example
Query
mutation updateOrder($input: UpdateOrderInput!) {
updateOrder(input: $input) {
order {
...OrderFragment
}
}
}
Variables
{"input": UpdateOrderInput}
Response
{"data": {"updateOrder": {"order": Order}}}
updateOrderBillingItem
Description
Updates an existing OrderBillingItem. startDate can only be changed on ONE_TIME items; for the other billing models it is fixed. Changing quantity, service or material propagates to the already generated pending items and per-operation billing items.
Response
Returns an UpdateOrderBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderBillingItemInput!
|
Example
Query
mutation updateOrderBillingItem($input: UpdateOrderBillingItemInput!) {
updateOrderBillingItem(input: $input) {
orderBillingItem {
...OrderBillingItemFragment
}
}
}
Variables
{"input": UpdateOrderBillingItemInput}
Response
{
"data": {
"updateOrderBillingItem": {
"orderBillingItem": OrderBillingItem
}
}
}
updateOrderExecutorBillingItem
Description
Updates an existing OrderExecutorBillingItem. Changes propagate to the pending credit-note items already generated for the executor.
Response
Returns an UpdateOrderExecutorBillingItemPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderExecutorBillingItemInput!
|
Example
Query
mutation updateOrderExecutorBillingItem($input: UpdateOrderExecutorBillingItemInput!) {
updateOrderExecutorBillingItem(input: $input) {
orderExecutorBillingItem {
...OrderExecutorBillingItemFragment
}
}
}
Variables
{"input": UpdateOrderExecutorBillingItemInput}
Response
{
"data": {
"updateOrderExecutorBillingItem": {
"orderExecutorBillingItem": OrderExecutorBillingItem
}
}
}
updateOrderService
Description
Updates an OrderService's service and title as of effectiveDate. The change propagates to operations on or after that date and to the related draft service receipt items. effectiveDate can not be before the order's start date.
Response
Returns an UpdateOrderServicePayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderServiceInput!
|
Example
Query
mutation updateOrderService($input: UpdateOrderServiceInput!) {
updateOrderService(input: $input) {
orderService {
...OrderServiceFragment
}
}
}
Variables
{"input": UpdateOrderServiceInput}
Response
{
"data": {
"updateOrderService": {"orderService": OrderService}
}
}
updateOrderServiceExecutionOnDemand
Description
Switches an OrderService between scheduled and on-demand execution. When enabling on-demand, the next demand date is recalculated from demandRrule.
Response
Returns an UpdateOrderServiceExecutionOnDemandPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderServiceExecutionOnDemandInput!
|
Example
Query
mutation updateOrderServiceExecutionOnDemand($input: UpdateOrderServiceExecutionOnDemandInput!) {
updateOrderServiceExecutionOnDemand(input: $input) {
orderService {
...OrderServiceFragment
}
}
}
Variables
{"input": UpdateOrderServiceExecutionOnDemandInput}
Response
{
"data": {
"updateOrderServiceExecutionOnDemand": {
"orderService": OrderService
}
}
}
updateOrderServiceNextDemandDate
Description
Sets the next demand date of an on-demand OrderService. executionOnDemand must be enabled. The date is clamped to at least one day after the latest executed operation.
Response
Returns an UpdateOrderServiceNextDemandDatePayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderServiceNextDemandDateInput!
|
Example
Query
mutation updateOrderServiceNextDemandDate($input: UpdateOrderServiceNextDemandDateInput!) {
updateOrderServiceNextDemandDate(input: $input) {
orderService {
...OrderServiceFragment
}
}
}
Variables
{"input": UpdateOrderServiceNextDemandDateInput}
Response
{
"data": {
"updateOrderServiceNextDemandDate": {
"orderService": OrderService
}
}
}
updateOrderServiceTask
Description
Updates a task's title, service area and position, propagating the changes to the related non-completed operation tasks.
Response
Returns an UpdateOrderServiceTaskPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderServiceTaskInput!
|
Example
Query
mutation updateOrderServiceTask($input: UpdateOrderServiceTaskInput!) {
updateOrderServiceTask(input: $input) {
orderServiceTask {
...OrderServiceTaskFragment
}
}
}
Variables
{"input": UpdateOrderServiceTaskInput}
Response
{
"data": {
"updateOrderServiceTask": {
"orderServiceTask": OrderServiceTask
}
}
}
updateOrderShift
Description
Updates a shift as of effectiveDate; the update* flags choose which parts change. Operations are regenerated from effectiveDate where needed.
Response
Returns an UpdateOrderShiftPayload
Arguments
| Name | Description |
|---|---|
input - UpdateOrderShiftInput!
|
Example
Query
mutation updateOrderShift($input: UpdateOrderShiftInput!) {
updateOrderShift(input: $input) {
orderShift {
...OrderShiftFragment
}
}
}
Variables
{"input": UpdateOrderShiftInput}
Response
{"data": {"updateOrderShift": {"orderShift": OrderShift}}}
updatePendingInvoiceItem
Description
Updates a pending item. Fails once the item is already billed.
Response
Returns an UpdatePendingInvoiceItemPayload
Arguments
| Name | Description |
|---|---|
input - UpdatePendingInvoiceItemInput!
|
Example
Query
mutation updatePendingInvoiceItem($input: UpdatePendingInvoiceItemInput!) {
updatePendingInvoiceItem(input: $input) {
pendingInvoiceItem {
...PendingInvoiceItemFragment
}
}
}
Variables
{"input": UpdatePendingInvoiceItemInput}
Response
{
"data": {
"updatePendingInvoiceItem": {
"pendingInvoiceItem": PendingInvoiceItem
}
}
}
updateSubcontractor
Response
Returns an UpdateSubcontractorPayload
Arguments
| Name | Description |
|---|---|
input - UpdateSubcontractorInput!
|
Example
Query
mutation updateSubcontractor($input: UpdateSubcontractorInput!) {
updateSubcontractor(input: $input) {
subcontractor {
...SubcontractorFragment
}
}
}
Variables
{"input": UpdateSubcontractorInput}
Response
{
"data": {
"updateSubcontractor": {
"subcontractor": Subcontractor
}
}
}
updateSubcontractorContactPerson
Response
Returns an UpdateSubcontractorContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - UpdateSubcontractorContactPersonInput!
|
Example
Query
mutation updateSubcontractorContactPerson($input: UpdateSubcontractorContactPersonInput!) {
updateSubcontractorContactPerson(input: $input) {
subcontractorContactPerson {
...SubcontractorContactPersonFragment
}
}
}
Variables
{"input": UpdateSubcontractorContactPersonInput}
Response
{
"data": {
"updateSubcontractorContactPerson": {
"subcontractorContactPerson": SubcontractorContactPerson
}
}
}
updateSupplier
Response
Returns an UpdateSupplierPayload
Arguments
| Name | Description |
|---|---|
input - UpdateSupplierInput!
|
Example
Query
mutation updateSupplier($input: UpdateSupplierInput!) {
updateSupplier(input: $input) {
supplier {
...SupplierFragment
}
}
}
Variables
{"input": UpdateSupplierInput}
Response
{"data": {"updateSupplier": {"supplier": Supplier}}}
updateSupplierContactPerson
Response
Returns an UpdateSupplierContactPersonPayload
Arguments
| Name | Description |
|---|---|
input - UpdateSupplierContactPersonInput!
|
Example
Query
mutation updateSupplierContactPerson($input: UpdateSupplierContactPersonInput!) {
updateSupplierContactPerson(input: $input) {
supplierContactPerson {
...SupplierContactPersonFragment
}
}
}
Variables
{"input": UpdateSupplierContactPersonInput}
Response
{
"data": {
"updateSupplierContactPerson": {
"supplierContactPerson": SupplierContactPerson
}
}
}
updateTicket
Response
Returns an UpdateTicketPayload
Arguments
| Name | Description |
|---|---|
input - UpdateTicketInput!
|
Example
Query
mutation updateTicket($input: UpdateTicketInput!) {
updateTicket(input: $input) {
ticket {
...TicketFragment
}
}
}
Variables
{"input": UpdateTicketInput}
Response
{"data": {"updateTicket": {"ticket": Ticket}}}
updateTimeRecord
Description
Updates start/end/journey/breaks of a time record. start must stay on the record's date; moving it to a different day is rejected (delete and recreate it instead).
Response
Returns an UpdateTimeRecordPayload
Arguments
| Name | Description |
|---|---|
input - UpdateTimeRecordInput!
|
Example
Query
mutation updateTimeRecord($input: UpdateTimeRecordInput!) {
updateTimeRecord(input: $input) {
timeRecord {
...TimeRecordFragment
}
}
}
Variables
{"input": UpdateTimeRecordInput}
Response
{"data": {"updateTimeRecord": {"timeRecord": TimeRecord}}}
updateTimeRecordBreak
Response
Returns an UpdateTimeRecordBreakPayload
Arguments
| Name | Description |
|---|---|
input - UpdateTimeRecordBreakInput!
|
Example
Query
mutation updateTimeRecordBreak($input: UpdateTimeRecordBreakInput!) {
updateTimeRecordBreak(input: $input) {
timeRecordBreak {
...TimeRecordBreakFragment
}
}
}
Variables
{"input": UpdateTimeRecordBreakInput}
Response
{
"data": {
"updateTimeRecordBreak": {
"timeRecordBreak": TimeRecordBreak
}
}
}
Types
Absence
Description
An employee absence (Abwesenheit). Full-day absences block time records on those days. Absences cannot be listed via this API — read them from the mutation payloads or via operationExecutor.absence.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
employee - Employee!
|
|
type - AbsenceType!
|
One of the company's absence types — query absenceTypes for label, paid and vacation-quota metadata. |
status - AbsenceStatus!
|
|
start - DateTime!
|
|
end - DateTime!
|
|
startDayFraction - Float!
|
Absent fraction of the first day (0 < x <= 1; 0.5 = half day). Fractions below 1 do not block time records. |
endDayFraction - Float!
|
Absent fraction of the last day (0 < x <= 1). For single-day absences it equals startDayFraction. |
daysCount - Float
|
Absence duration in days, computed from the period and the day fractions. |
hoursCount - Float
|
Currently not populated (always null). |
countSetManually - Boolean!
|
|
note - String
|
|
operationExecutors - OperationExecutorConnection!
|
|
approvedAt - DateTime
|
Set if Absence is approved |
declinedAt - DateTime
|
Set if Absence is declined |
createdAt - DateTime!
|
|
Example
{
"id": "4",
"employee": Employee,
"type": "VACATION",
"status": "PENDING",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"startDayFraction": 987.65,
"endDayFraction": 987.65,
"daysCount": 123.45,
"hoursCount": 123.45,
"countSetManually": false,
"note": "abc123",
"operationExecutors": OperationExecutorConnection,
"approvedAt": "2007-12-03T10:15:30Z",
"declinedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
AbsenceStatus
Values
| Enum Value | Description |
|---|---|
|
|
Waiting for approval. |
|
|
Approved via approveAbsence; approvedAt is set. |
|
|
Declined via declineAbsence; declinedAt is set. |
Example
"PENDING"
AbsenceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"VACATION"
AbsenceTypeDefinition
Fields
| Field Name | Description |
|---|---|
type - AbsenceType!
|
|
label - String!
|
|
paid - Boolean!
|
|
deductsFromVacationQuota - Boolean!
|
Example
{
"type": "VACATION",
"label": "xyz789",
"paid": false,
"deductsFromVacationQuota": false
}
AcceptEstimateInput
Fields
| Input Field | Description |
|---|---|
estimateId - ID!
|
Example
{"estimateId": 4}
AcceptEstimatePayload
Fields
| Field Name | Description |
|---|---|
estimate - Estimate
|
Example
{"estimate": Estimate}
AddOrderShiftExecutorsInput
AddOrderShiftExecutorsPayload
Fields
| Field Name | Description |
|---|---|
orderShiftExecutors - [OrderShiftExecutor!]
|
Example
{"orderShiftExecutors": [OrderShiftExecutor]}
ApproveAbsenceInput
Fields
| Input Field | Description |
|---|---|
absenceId - ID!
|
Example
{"absenceId": "4"}
ApproveAbsencePayload
Fields
| Field Name | Description |
|---|---|
absence - Absence
|
Example
{"absence": Absence}
BillOrderBillingItemInput
BillOrderBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderBillingItem - OrderBillingItem
|
Example
{"orderBillingItem": OrderBillingItem}
BillingPeriodInterval
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"MONTH"
Boolean
Description
The Boolean scalar type represents true or false.
CancelEmployeeInput
CancelEmployeePayload
Fields
| Field Name | Description |
|---|---|
employee - Employee
|
Example
{"employee": Employee}
CancelInvoiceInput
Example
{
"invoiceId": 4,
"invoiceDate": "abc123",
"dueDate": "xyz789",
"dueDateFormat": "DAYS",
"introductionText": "abc123",
"closingText": "xyz789",
"extraAddressFieldLines": "xyz789"
}
CancelInvoicePayload
Fields
| Field Name | Description |
|---|---|
invoice - Invoice
|
Example
{"invoice": Invoice}
CancelOrderExecutorInput
CancelOrderExecutorPayload
Fields
| Field Name | Description |
|---|---|
orderExecutor - OrderExecutor
|
Example
{"orderExecutor": OrderExecutor}
Company
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
companyName - String
|
|
legalForm - LegalForm
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
|
taxNumber - String
|
German tax number (Steuernummer). |
vatId - String
|
VAT ID (USt-IdNr.). |
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
iban - String
|
|
bic - String
|
|
registerCourt - String
|
|
companyRegistrationNumber - String
|
|
managingDirectors - [ManagingDirector]
|
|
logoUrl - URL
|
|
createdAt - DateTime
|
Example
{
"id": 4,
"companyName": "abc123",
"legalForm": "DE_EINZELUNTERNEHMER",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"language": LanguageTag,
"currency": CurrencyCode,
"taxNumber": "xyz789",
"vatId": "abc123",
"email": "abc123",
"phone": "xyz789",
"fax": "xyz789",
"website": "abc123",
"iban": "abc123",
"bic": "abc123",
"registerCourt": "xyz789",
"companyRegistrationNumber": "abc123",
"managingDirectors": [ManagingDirector],
"logoUrl": "http://www.test.com/",
"createdAt": "2007-12-03T10:15:30Z"
}
CompleteCreditNoteInput
Fields
| Input Field | Description |
|---|---|
creditNoteId - ID!
|
Example
{"creditNoteId": "4"}
CompleteCreditNotePayload
Fields
| Field Name | Description |
|---|---|
creditNote - CreditNote
|
Example
{"creditNote": CreditNote}
CompleteEstimateInput
Fields
| Input Field | Description |
|---|---|
estimateId - ID!
|
Example
{"estimateId": 4}
CompleteEstimatePayload
Fields
| Field Name | Description |
|---|---|
estimate - Estimate
|
Example
{"estimate": Estimate}
CompleteInvoiceInput
Fields
| Input Field | Description |
|---|---|
invoiceId - ID!
|
Example
{"invoiceId": 4}
CompleteInvoicePayload
Fields
| Field Name | Description |
|---|---|
invoice - Invoice
|
Example
{"invoice": Invoice}
CompleteTicketInput
Fields
| Input Field | Description |
|---|---|
ticketId - ID!
|
Example
{"ticketId": 4}
CompleteTicketPayload
Fields
| Field Name | Description |
|---|---|
ticket - Ticket
|
Example
{"ticket": Ticket}
ConfirmTimeRecordInput
Fields
| Input Field | Description |
|---|---|
timeRecordId - ID!
|
Example
{"timeRecordId": 4}
ConfirmTimeRecordPayload
Fields
| Field Name | Description |
|---|---|
timeRecord - TimeRecord
|
Example
{"timeRecord": TimeRecord}
ConfirmTimeRecordResult
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The time record hash id from the input |
timeRecord - TimeRecord
|
The confirmed time record (null if failed) |
error - String
|
Error message (null if succeeded) |
Example
{
"id": 4,
"timeRecord": TimeRecord,
"error": "xyz789"
}
ConfirmTimeRecordsInput
Fields
| Input Field | Description |
|---|---|
timeRecordIds - [ID!]!
|
Example
{"timeRecordIds": [4]}
ConfirmTimeRecordsPayload
Fields
| Field Name | Description |
|---|---|
results - [ConfirmTimeRecordResult!]!
|
Example
{"results": [ConfirmTimeRecordResult]}
CountryCode
Description
ISO 3166-1 alpha-2 country codes
Example
"US"
CreateAbsenceInput
Example
{
"employeeId": 4,
"type": "VACATION",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"note": "xyz789",
"startDayFraction": 123.45,
"endDayFraction": 987.65
}
CreateAbsencePayload
Fields
| Field Name | Description |
|---|---|
absence - Absence
|
Example
{"absence": Absence}
CreateCreditNoteDeliveryDateInput
CreateCreditNoteInput
Fields
| Input Field | Description |
|---|---|
subcontractorId - ID!
|
|
subcontractorContactPersonId - ID
|
|
number - Int
|
Will be set to the next credit note number if empty |
dueDate - Date
|
Will be set to current date if empty |
dueDateFormat - CreditNoteDueDateFormat
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the credit note pdf |
creditNoteDate - Date
|
Will be set to current date if empty |
deliveryDate - CreateCreditNoteDeliveryDateInput!
|
|
items - [CreateCreditNoteItemInput]
|
|
introductionText - String
|
|
closingText - String
|
|
status - CreateCreditNoteStatus
|
Status of created credit note. Set to DRAFT if empty. |
sendAfterCreation - Boolean
|
Sends credit note to subcontractor after creation, if set to true. Does not work with credit notes in status DRAFT. |
Example
{
"subcontractorId": 4,
"subcontractorContactPersonId": 4,
"number": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": false,
"creditNoteDate": "2007-12-03",
"deliveryDate": CreateCreditNoteDeliveryDateInput,
"items": [CreateCreditNoteItemInput],
"introductionText": "xyz789",
"closingText": "xyz789",
"status": "DRAFT",
"sendAfterCreation": false
}
CreateCreditNoteItemInput
Example
{
"title": "xyz789",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 987,
"taxRate": 987.65,
"unit": "abc123",
"serviceId": 4,
"materialId": 4
}
CreateCreditNotePayload
Fields
| Field Name | Description |
|---|---|
creditNote - CreditNote
|
Example
{"creditNote": CreditNote}
CreateCreditNoteStatus
Values
| Enum Value | Description |
|---|---|
|
|
Create as editable draft (default). |
|
|
Create and finalize immediately. |
|
|
Create, finalize and record a payment over the full amount. |
Example
"DRAFT"
CreateCustomerContactPersonInput
Example
{
"customerId": 4,
"isDefault": true,
"salutation": "abc123",
"firstName": "abc123",
"lastName": "xyz789",
"role": "xyz789",
"email": "abc123",
"phone": "xyz789"
}
CreateCustomerContactPersonPayload
Fields
| Field Name | Description |
|---|---|
customerContactPerson - CustomerContactPerson
|
Example
{"customerContactPerson": CustomerContactPerson}
CreateCustomerEmailInput
Fields
| Input Field | Description |
|---|---|
type - CustomerEmailType!
|
|
email - String!
|
Example
{"type": "GENERAL", "email": "abc123"}
CreateCustomerInput
Fields
| Input Field | Description |
|---|---|
type - CustomerType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
emails - [CreateCustomerEmailInput!]
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
Example
{
"type": "PERSON",
"salutation": "abc123",
"firstName": "abc123",
"lastName": "xyz789",
"companyName": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"emails": [CreateCustomerEmailInput],
"phone": "xyz789",
"fax": "abc123",
"website": "abc123",
"vatId": "xyz789"
}
CreateCustomerPayload
Fields
| Field Name | Description |
|---|---|
customer - Customer
|
Example
{"customer": Customer}
CreateEmployeeInput
Fields
| Input Field | Description |
|---|---|
salutation - String!
|
|
firstName - String
|
|
lastName - String!
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
state - StateCode
|
|
email - String
|
|
phone - String
|
|
birthDate - Date
|
|
personnelNumberPrefix - String
|
|
personnelNumber - Int!
|
|
hasDrivingLicenceClassB - Boolean
|
|
automaticTimeRecording - Boolean
|
Sets the employee's automaticTimeRecording flag, stored separately from Employee.locationBasedTimeRecording (not writable through this API). |
tags - [String!]
|
Example
{
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"addressSupplement": "xyz789",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"state": StateCode,
"email": "xyz789",
"phone": "abc123",
"birthDate": "2007-12-03",
"personnelNumberPrefix": "abc123",
"personnelNumber": 123,
"hasDrivingLicenceClassB": false,
"automaticTimeRecording": false,
"tags": ["abc123"]
}
CreateEmployeeOperationExecutorsInput
Fields
| Input Field | Description |
|---|---|
operationId - ID!
|
|
employeeIds - [ID!]!
|
|
changeForOrderShiftUntil - Date
|
If set, the employees are added to every operation of the operation's OrderShift from the operation's execution date up to and including this date (max. 50 operations). |
addToOrderShift - Boolean
|
Also add the employees to the operation's order shift (future operations). |
Example
{
"operationId": 4,
"employeeIds": [4],
"changeForOrderShiftUntil": "2007-12-03",
"addToOrderShift": false
}
CreateEmployeeOperationExecutorsPayload
Fields
| Field Name | Description |
|---|---|
operationExecutors - [OperationExecutor!]
|
Example
{"operationExecutors": [OperationExecutor]}
CreateEmployeeOrderExecutorsInput
CreateEmployeeOrderExecutorsPayload
Fields
| Field Name | Description |
|---|---|
orderExecutors - [OrderExecutor!]
|
Example
{"orderExecutors": [OrderExecutor]}
CreateEmployeePayload
Fields
| Field Name | Description |
|---|---|
employee - Employee
|
Example
{"employee": Employee}
CreateEmployeeWorkingTimeModelInput
Fields
| Input Field | Description |
|---|---|
employeeId - ID!
|
|
startDate - Date!
|
|
endDate - Date
|
|
mondayHours - Float
|
|
tuesdayHours - Float
|
|
wednesdayHours - Float
|
|
thursdayHours - Float
|
|
fridayHours - Float
|
|
saturdayHours - Float
|
|
sundayHours - Float
|
|
grossHourlyWage - Int
|
Gross hourly wage in cents. |
paidInterimCalculation - WorkingTimeModelPaidInterimCalculation!
|
|
isFirstJourneyPaid - Boolean!
|
|
salaryCalculation - WorkingTimeModelSalaryCalculation
|
|
absenceDurationCalculation - WorkingTimeModelAbsenceDurationCalculation!
|
|
timeAccountEnabled - Boolean!
|
Enables the employee's time account: the daily target-vs-actual time difference is booked to the balance. |
updateAbsences - Boolean
|
Must be true if there are approved absences in the affected period that should be adjusted. |
Example
{
"employeeId": 4,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"mondayHours": 123.45,
"tuesdayHours": 987.65,
"wednesdayHours": 987.65,
"thursdayHours": 123.45,
"fridayHours": 987.65,
"saturdayHours": 123.45,
"sundayHours": 987.65,
"grossHourlyWage": 123,
"paidInterimCalculation": "FULL_INTERIM",
"isFirstJourneyPaid": true,
"salaryCalculation": "ACTUAL_HOURS",
"absenceDurationCalculation": "PLAN_HOURS",
"timeAccountEnabled": true,
"updateAbsences": true
}
CreateEmployeeWorkingTimeModelPayload
Fields
| Field Name | Description |
|---|---|
employeeWorkingTimeModel - EmployeeWorkingTimeModel
|
Example
{"employeeWorkingTimeModel": EmployeeWorkingTimeModel}
CreateEstimateInput
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
|
number - Int
|
Will be set to the next estimate number if empty |
estimateDate - Date
|
Will be set to current date if empty |
validityDate - Date
|
Will be set to one month if empty |
items - [CreateEstimateItemInput]
|
|
introductionText - String
|
|
closingText - String
|
Example
{
"customerId": "4",
"number": 987,
"estimateDate": "2007-12-03",
"validityDate": "2007-12-03",
"items": [CreateEstimateItemInput],
"introductionText": "abc123",
"closingText": "xyz789"
}
CreateEstimateItemInput
Fields
| Input Field | Description |
|---|---|
position - Int
|
Position of this item within the estimate. Defaults to the item's index if omitted. |
title - String!
|
|
description - String
|
|
quantity - Float!
|
|
unitPrice - Int!
|
Net unit price in cents. |
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
unit - String
|
|
serviceId - ID
|
The service this item is based on. |
materialId - ID
|
|
objectId - ID
|
The object (Objekt / service location) this item is assigned to. Its customer must match the estimate's customer. |
Example
{
"position": 123,
"title": "abc123",
"description": "abc123",
"quantity": 987.65,
"unitPrice": 123,
"taxRate": 987.65,
"unit": "xyz789",
"serviceId": 4,
"materialId": 4,
"objectId": 4
}
CreateEstimatePayload
Fields
| Field Name | Description |
|---|---|
estimate - Estimate
|
Example
{"estimate": Estimate}
CreateInvoiceDeliveryDateInput
CreateInvoiceFromPendingInvoiceItemsInput
Fields
| Input Field | Description |
|---|---|
pendingInvoiceItemIds - [ID!]!
|
|
invoiceDate - Date
|
Will be set to current date if empty |
eInvoiceType - EInvoiceType
|
|
number - Int
|
Will be set to the next invoice number if empty |
customerContactPersonId - ID
|
|
dueDate - Date
|
Will be set to current date if empty |
dueDateFormat - InvoiceDueDateFormat
|
|
billingPeriodDueDateType - DueDateType
|
|
billingPeriodsAreDueAtEnd - Boolean
|
|
hideDueDateText - Boolean
|
|
introductionText - String
|
|
closingText - String
|
|
skontoEnabled - Boolean
|
|
skontoPercent - Float
|
Skonto discount in percent (3 = 3 %). |
skontoDays - Int
|
Days after invoiceDate within which skonto may be taken. |
Example
{
"pendingInvoiceItemIds": ["4"],
"invoiceDate": "2007-12-03",
"eInvoiceType": "NONE",
"number": 123,
"customerContactPersonId": "4",
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"billingPeriodDueDateType": "IMMEDIATELY",
"billingPeriodsAreDueAtEnd": false,
"hideDueDateText": true,
"introductionText": "xyz789",
"closingText": "abc123",
"skontoEnabled": false,
"skontoPercent": 123.45,
"skontoDays": 987
}
CreateInvoiceFromPendingInvoiceItemsPayload
Fields
| Field Name | Description |
|---|---|
invoice - Invoice
|
Example
{"invoice": Invoice}
CreateInvoiceInput
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
|
number - Int
|
Will be set to the next invoice number if empty |
dueDate - Date
|
Will be set to current date if empty |
dueDateFormat - InvoiceDueDateFormat
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the invoice pdf |
invoiceDate - Date
|
Will be set to current date if empty |
deliveryDate - CreateInvoiceDeliveryDateInput
|
|
items - [CreateInvoiceItemInput]
|
|
introductionText - String
|
|
closingText - String
|
|
status - CreateInvoiceStatus
|
Status of created invoice. Set to DRAFT if empty. |
sendAfterCreation - Boolean
|
Sends invoice to customer after creation, if set to true. Does not work with invoices in status DRAFT. |
Example
{
"customerId": "4",
"number": 987,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"invoiceDate": "2007-12-03",
"deliveryDate": CreateInvoiceDeliveryDateInput,
"items": [CreateInvoiceItemInput],
"introductionText": "xyz789",
"closingText": "abc123",
"status": "DRAFT",
"sendAfterCreation": true
}
CreateInvoiceItemInput
Example
{
"title": "xyz789",
"description": "xyz789",
"quantity": 123.45,
"unitPrice": 123,
"taxRate": 123.45,
"unit": "abc123",
"serviceId": "4",
"materialId": "4"
}
CreateInvoicePayload
Fields
| Field Name | Description |
|---|---|
invoice - Invoice
|
Example
{"invoice": Invoice}
CreateInvoiceStatus
Values
| Enum Value | Description |
|---|---|
|
|
Create as editable draft (default). |
|
|
Create and finalize immediately (PDF/e-invoice generated). |
|
|
Create, finalize and record a payment over the full amount. |
Example
"DRAFT"
CreateMaterialGroupInput
Fields
| Input Field | Description |
|---|---|
name - String!
|
Example
{"name": "abc123"}
CreateMaterialGroupPayload
Fields
| Field Name | Description |
|---|---|
materialGroup - MaterialGroup
|
Example
{"materialGroup": MaterialGroup}
CreateMaterialInput
Fields
| Input Field | Description |
|---|---|
materialGroupId - ID
|
The material group to assign. Discover ids via materialGroups or another material's group. |
number - Int
|
Unique per company. Auto-generated (highest + 1) when omitted. |
name - String!
|
|
description - String
|
|
manufacturer - String
|
|
consumptionUnit - String
|
Base unit consumption is recorded in (e.g. l, piece). |
salesUnitPrice - Int
|
Net sales price per salesUnit in cents. |
salesTaxRate - Float
|
VAT rate in percent (19 = 19 %). |
salesUnit - String
|
Unit the material is sold in (e.g. canister). |
quantityPerSalesUnit - Float
|
Quantity contained in one salesUnit. |
stockUnit - String
|
Unit the material is stocked in. |
quantityPerStockUnit - Float
|
Quantity contained in one stockUnit. |
stockEanNumber - String
|
EAN/barcode of the stock unit. |
revenueAccount - Int
|
Revenue account number. |
Example
{
"materialGroupId": 4,
"number": 987,
"name": "xyz789",
"description": "xyz789",
"manufacturer": "abc123",
"consumptionUnit": "abc123",
"salesUnitPrice": 123,
"salesTaxRate": 123.45,
"salesUnit": "xyz789",
"quantityPerSalesUnit": 987.65,
"stockUnit": "xyz789",
"quantityPerStockUnit": 987.65,
"stockEanNumber": "abc123",
"revenueAccount": 987
}
CreateMaterialPayload
Fields
| Field Name | Description |
|---|---|
material - Material
|
Example
{"material": Material}
CreateObjectInput
Description
Either name, streetAddress or city has to be set
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
|
customerContactPersonId - ID
|
|
name - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
state - StateCode
|
|
locationRadiusMeters - Int
|
Radius around the object's location, in meters. |
email - String
|
|
phone - String
|
|
extraInvoiceAddressFieldLines - String
|
Extra lines printed in the invoice address block. |
costCenter - String
|
Cost center (Kostenstelle) of the object. |
invoiceAddress - CreateObjectInvoiceAddressInput
|
Deviating billing address used instead of the customer's address. |
invoiceSettings - CreateObjectInvoiceSettingsInput
|
|
tags - [String!]
|
Example
{
"customerId": 4,
"customerContactPersonId": 4,
"name": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"state": StateCode,
"locationRadiusMeters": 987,
"email": "xyz789",
"phone": "xyz789",
"extraInvoiceAddressFieldLines": "abc123",
"costCenter": "xyz789",
"invoiceAddress": CreateObjectInvoiceAddressInput,
"invoiceSettings": CreateObjectInvoiceSettingsInput,
"tags": ["abc123"]
}
CreateObjectInvoiceAddressInput
Fields
| Input Field | Description |
|---|---|
type - ObjectInvoiceAddressType!
|
|
salutation - String
|
Has to be set on type PERSON |
firstName - String
|
|
lastName - String
|
Has to be set on type PERSON |
companyName - String
|
Has to be set on type COMPANY |
addressSupplement - String
|
|
streetAddress - String!
|
|
zip - String!
|
|
city - String!
|
|
country - CountryCode
|
Example
{
"type": "PERSON",
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"companyName": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "xyz789",
"country": "US"
}
CreateObjectInvoiceSettingsInput
Fields
| Input Field | Description |
|---|---|
eInvoiceType - EInvoiceType
|
|
dueDateType - DueDateType
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the invoice pdf |
introductionText - String
|
|
closingText - String
|
Example
{
"eInvoiceType": "NONE",
"dueDateType": "IMMEDIATELY",
"hideDueDateText": false,
"introductionText": "abc123",
"closingText": "xyz789"
}
CreateObjectPayload
Fields
| Field Name | Description |
|---|---|
object - Object
|
Example
{"object": Object}
CreateObjectRoomsInput
Fields
| Input Field | Description |
|---|---|
objectId - ID!
|
|
rooms - [ObjectRoomInput!]!
|
Example
{
"objectId": "4",
"rooms": [ObjectRoomInput]
}
CreateObjectRoomsPayload
Fields
| Field Name | Description |
|---|---|
createdRooms - [ObjectRoom!]!
|
|
errors - [ObjectRoomError!]!
|
Example
{
"createdRooms": [ObjectRoom],
"errors": [ObjectRoomError]
}
CreateOperationBillingItemInput
Description
Input for creating a billing position on an executed operation.
Fields
| Input Field | Description |
|---|---|
operationId - ID!
|
The executed operation to add the position to. |
operationServiceId - ID
|
Optional link to a specific operation service of the operation. |
operationMaterialId - ID
|
Optional link to a specific operation material of the operation. |
serviceId - ID
|
Catalog service to bill. Defaults to the operation service's service when omitted. |
materialId - ID
|
Catalog material to bill. Defaults to the operation material's material when omitted. |
position - Int
|
Optional 1-based sort position. Appended at the end when omitted. |
type - OperationBillingItemType!
|
|
priceType - OperationBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int!
|
Net unit price in cents. |
quantity - Float
|
Either quantity or quantitySource has to be set, never both. |
quantitySource - OperationBillingItemQuantitySource
|
Either quantity or quantitySource has to be set, never both. |
unit - String
|
|
hasPersonHourUnit - Boolean!
|
Must be true when quantitySource is TIME_RECORD. |
taxRate - Float!
|
VAT rate in percent. |
Example
{
"operationId": "4",
"operationServiceId": "4",
"operationMaterialId": 4,
"serviceId": "4",
"materialId": "4",
"position": 123,
"type": "SERVICE",
"priceType": "FLAT_RATE",
"title": "xyz789",
"description": "abc123",
"unitPrice": 987,
"quantity": 987.65,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": true,
"taxRate": 123.45
}
CreateOperationBillingItemPayload
Fields
| Field Name | Description |
|---|---|
operationBillingItem - OperationBillingItem
|
Example
{"operationBillingItem": OperationBillingItem}
CreateOperationReportFileFromCommentInput
CreateOperationReportFileFromCommentPayload
Fields
| Field Name | Description |
|---|---|
operationReportFiles - [OperationReportFile!]!
|
Example
{"operationReportFiles": [OperationReportFile]}
CreateOperationReportFileInput
Example
{
"operationReportId": 4,
"operationId": "4",
"fileName": "abc123",
"mimeType": "xyz789"
}
CreateOperationReportFilePayload
Fields
| Field Name | Description |
|---|---|
uploadUrl - URL
|
Presigned S3 URL, valid for 1 hour. Upload the file with an HTTP PUT of the raw bytes and a Content-Type header equal to the mimeType from the input. The file record exists immediately; no confirmation call is needed. |
operationReportFile - OperationReportFile
|
Example
{
"uploadUrl": "http://www.test.com/",
"operationReportFile": OperationReportFile
}
CreateOperationReportInput
CreateOperationReportPayload
Fields
| Field Name | Description |
|---|---|
operationReport - OperationReport!
|
Example
{"operationReport": OperationReport}
CreateOperationsExecutorInput
CreateOperationsInput
Fields
| Input Field | Description |
|---|---|
orderId - ID
|
|
orderServiceIds - [ID!]
|
|
objectId - ID
|
When orderId is not provided, objectId and operationServices are required |
operationServices - [CreateOperationsServiceInput!]
|
|
operationExecutors - [CreateOperationsExecutorInput!]
|
|
instructions - String
|
|
requiredExecutors - Int!
|
Minimum number of executors required per operation |
executionDates - [Date!]!
|
|
executionStartTime - Time
|
|
executionEndTime - Time
|
|
executionAcrossMidnight - Boolean
|
When true the operation ends on the following day (executionEndDate = start date + 1 day). |
duration - Int
|
Planned duration in seconds (derived from execution start/end time). |
Example
{
"orderId": "4",
"orderServiceIds": ["4"],
"objectId": "4",
"operationServices": [CreateOperationsServiceInput],
"operationExecutors": [CreateOperationsExecutorInput],
"instructions": "xyz789",
"requiredExecutors": 123,
"executionDates": ["2007-12-03"],
"executionStartTime": "10:15:30Z",
"executionEndTime": "10:15:30Z",
"executionAcrossMidnight": false,
"duration": 123
}
CreateOperationsPayload
Fields
| Field Name | Description |
|---|---|
operations - [Operation]
|
Example
{"operations": [Operation]}
CreateOperationsServiceInput
CreateOrderBillingItemInput
Fields
| Input Field | Description |
|---|---|
orderId - ID
|
|
objectId - ID
|
|
orderServiceId - ID
|
|
orderMaterialId - ID
|
|
serviceId - ID
|
|
materialId - ID
|
|
position - Int
|
|
type - OrderBillingItemType!
|
|
billingModel - OrderBillingModel!
|
|
priceType - OrderBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int!
|
Net unit price in cents. |
quantity - Float
|
|
quantitySource - OrderBillingItemQuantitySource
|
Can only be set on billingModel PER_OPERATION |
unit - String
|
|
hasPersonHourUnit - Boolean!
|
|
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
startDate - Date!
|
|
endDate - Date
|
|
listExecutionDates - Boolean
|
|
groupOperations - Boolean
|
|
frequency - Int
|
Billing cycle length together with interval (e.g. frequency 3 + interval MONTH = quarterly). Only for RECURRING. |
interval - OrderBillingItemInterval
|
|
billingPeriodsPerInvoice - Int
|
How many billing periods (frequency x interval) are combined into one invoice. Only for RECURRING. |
Example
{
"orderId": "4",
"objectId": "4",
"orderServiceId": "4",
"orderMaterialId": "4",
"serviceId": "4",
"materialId": "4",
"position": 123,
"type": "SERVICE",
"billingModel": "ONE_TIME",
"priceType": "FLAT_RATE",
"title": "abc123",
"description": "abc123",
"unitPrice": 987,
"quantity": 987.65,
"quantitySource": "INPUT",
"unit": "abc123",
"hasPersonHourUnit": true,
"taxRate": 987.65,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"listExecutionDates": true,
"groupOperations": true,
"frequency": 123,
"interval": "WEEK",
"billingPeriodsPerInvoice": 987
}
CreateOrderBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderBillingItem - OrderBillingItem
|
Example
{"orderBillingItem": OrderBillingItem}
CreateOrderBillingItemReductionInput
Example
{
"orderBillingItemId": 4,
"title": "abc123",
"description": "abc123",
"quantity": 987.65,
"unitPrice": 987,
"unit": "abc123",
"executionStart": "2007-12-03",
"executionEnd": "2007-12-03"
}
CreateOrderBillingItemReductionPayload
Fields
| Field Name | Description |
|---|---|
pendingInvoiceItem - PendingInvoiceItem
|
|
pendingCreditNoteItems - [PendingCreditNoteItem]
|
Example
{
"pendingInvoiceItem": PendingInvoiceItem,
"pendingCreditNoteItems": [PendingCreditNoteItem]
}
CreateOrderExecutorBillingItemInput
Fields
| Input Field | Description |
|---|---|
orderExecutorId - ID!
|
|
orderBillingItemId - ID
|
|
orderServiceId - ID
|
|
orderMaterialId - ID
|
|
position - Int
|
|
type - OrderExecutorBillingItemType!
|
|
billingModel - OrderExecutorBillingModel!
|
|
priceType - OrderExecutorBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int
|
Provide either unitPrice or pricePercentage, not both. |
pricePercentage - Int
|
Provide either unitPrice or pricePercentage, not both. Percent of the linked orderBillingItem's unitPrice (19 = 19 %); requires orderBillingItemId. |
quantity - Float
|
|
quantitySource - OrderExecutorBillingItemQuantitySource
|
Can only be set on billingModel PER_OPERATION |
unit - String
|
|
hasPersonHourUnit - Boolean!
|
|
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
startDate - Date!
|
|
endDate - Date
|
|
frequency - Int
|
Billing cycle length together with interval (e.g. frequency 3 + interval MONTH = quarterly). Only for RECURRING. |
interval - OrderExecutorBillingItemInterval
|
Example
{
"orderExecutorId": 4,
"orderBillingItemId": 4,
"orderServiceId": "4",
"orderMaterialId": "4",
"position": 123,
"type": "SERVICE",
"billingModel": "ONE_TIME",
"priceType": "FLAT_RATE",
"title": "abc123",
"description": "xyz789",
"unitPrice": 987,
"pricePercentage": 987,
"quantity": 123.45,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": true,
"taxRate": 123.45,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"frequency": 987,
"interval": "WEEK"
}
CreateOrderExecutorBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderExecutorBillingItem - OrderExecutorBillingItem
|
Example
{"orderExecutorBillingItem": OrderExecutorBillingItem}
CreateOrderInput
Fields
| Input Field | Description |
|---|---|
objectId - ID!
|
|
estimateId - ID
|
|
startDate - Date
|
Can maximum be 24 months in the past |
endDate - Date
|
|
instructions - String
|
|
requiredExecutors - Int!
|
Minimum number of executors required per operation |
executionOnHolidays - Boolean!
|
Should operations on holidays be executed? |
services - [OrderServiceInput!]!
|
At least one service is required — an order can not be created without a service. |
materials - [OrderMaterialInput!]
|
|
executors - [OrderExecutorInput!]
|
Example
{
"objectId": 4,
"estimateId": "4",
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"instructions": "xyz789",
"requiredExecutors": 123,
"executionOnHolidays": false,
"services": [OrderServiceInput],
"materials": [OrderMaterialInput],
"executors": [OrderExecutorInput]
}
CreateOrderPayload
Fields
| Field Name | Description |
|---|---|
order - Order
|
Example
{"order": Order}
CreateOrderServiceInput
Fields
| Input Field | Description |
|---|---|
orderId - ID!
|
|
serviceId - ID!
|
|
position - Int
|
1-based position within the order's service list. Existing services at or after this position are shifted down. Appended at the end when omitted. |
title - String!
|
|
executionOnDemand - Boolean!
|
When true the service is only executed on demand instead of via the order's shifts. |
demandRrule - String
|
Recurrence rule that drives the next demand date when executionOnDemand is true. |
Example
{
"orderId": "4",
"serviceId": "4",
"position": 987,
"title": "abc123",
"executionOnDemand": true,
"demandRrule": "xyz789"
}
CreateOrderServicePayload
Fields
| Field Name | Description |
|---|---|
orderService - OrderService
|
Example
{"orderService": OrderService}
CreateOrderServiceTaskInput
Fields
| Input Field | Description |
|---|---|
orderServiceId - ID!
|
|
serviceAreaId - ID
|
Optional service area to assign the task to. Must belong to the same service as the OrderService. |
position - Int
|
1-based position within the OrderService's task list. Existing tasks at or after this position are shifted down. Appended at the end when omitted. |
title - String!
|
|
rrule - String
|
Recurrence rule (RFC 5545 RRULE) for how often the task is due, e.g. "FREQ=MONTHLY;BYDAY=2WE". Monthly/quarterly rules must be weekday-based (BYDAY). null means it applies on every operation of its shift. |
startDate - Date
|
Anchor / first execution of the recurrence. null = anchored at the shift's start date. |
quantity - Float
|
Quantity/area covered by the task (e.g. square meters). Paired with unit. |
unit - String
|
Free-form unit for quantity, e.g. "m²". |
Example
{
"orderServiceId": "4",
"serviceAreaId": 4,
"position": 987,
"title": "abc123",
"rrule": "abc123",
"startDate": "2007-12-03",
"quantity": 123.45,
"unit": "xyz789"
}
CreateOrderServiceTaskPayload
Fields
| Field Name | Description |
|---|---|
orderServiceTask - OrderServiceTask
|
Example
{"orderServiceTask": OrderServiceTask}
CreateOrderServiceTaskRoomsInput
CreateOrderServiceTaskRoomsPayload
Fields
| Field Name | Description |
|---|---|
objectRoomIds - [ID!]
|
Example
{"objectRoomIds": ["4"]}
CreateOrderShiftInput
Fields
| Input Field | Description |
|---|---|
orderId - ID!
|
|
orderServiceIds - [ID!]!
|
|
orderExecutorIds - [ID!]!
|
|
rrule - String!
|
Recurrence rule (RFC 5545 RRULE) generating the shift's operations, e.g. FREQ=WEEKLY;BYDAY=MO,TH. |
startDate - Date!
|
Can maximum be two months in the past |
timeFrom - Time
|
|
timeTo - Time
|
|
acrossMidnight - Boolean
|
Operations end on the day after their start date. |
duration - Int
|
Planned duration per operation in seconds (alternative to timeFrom/timeTo). |
requiredExecutors - Int!
|
Minimum number of executors required per operation |
deviatingInstructions - String
|
|
createServiceReceipt - Boolean
|
|
days - [OrderShiftDayInput!]
|
Per-weekday overrides. At most one entry per weekday (ISO 1=Mon .. 7=Sun). |
tasks - [OrderShiftTaskInput!]
|
Per-shift task selection. Omit or pass an empty list to run all tasks of the shift's services. |
Example
{
"orderId": 4,
"orderServiceIds": ["4"],
"orderExecutorIds": ["4"],
"rrule": "abc123",
"startDate": "2007-12-03",
"timeFrom": "10:15:30Z",
"timeTo": "10:15:30Z",
"acrossMidnight": false,
"duration": 987,
"requiredExecutors": 123,
"deviatingInstructions": "xyz789",
"createServiceReceipt": true,
"days": [OrderShiftDayInput],
"tasks": [OrderShiftTaskInput]
}
CreateOrderShiftPayload
Fields
| Field Name | Description |
|---|---|
orderShift - OrderShift
|
Example
{"orderShift": OrderShift}
CreatePaymentInput
Example
{
"invoiceId": "4",
"receiptId": 4,
"amount": 987,
"paymentDate": "2007-12-03"
}
CreatePaymentPayload
CreatePendingInvoiceItemInput
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
|
objectId - ID
|
|
serviceId - ID
|
|
materialId - ID
|
|
title - String!
|
|
description - String
|
|
quantity - Float
|
|
unitPrice - Int!
|
Net unit price in cents. |
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
unit - String
|
|
executionStart - Date!
|
Start of the execution period this item bills. |
executionEnd - Date!
|
End of the execution period this item bills. |
billingPeriodInterval - BillingPeriodInterval
|
Marks the item as billing a recurring period (MONTH or QUARTER). |
Example
{
"customerId": 4,
"objectId": 4,
"serviceId": "4",
"materialId": "4",
"title": "abc123",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 123,
"taxRate": 987.65,
"unit": "abc123",
"executionStart": "2007-12-03",
"executionEnd": "2007-12-03",
"billingPeriodInterval": "MONTH"
}
CreatePendingInvoiceItemPayload
Fields
| Field Name | Description |
|---|---|
pendingInvoiceItem - PendingInvoiceItem
|
Example
{"pendingInvoiceItem": PendingInvoiceItem}
CreateSubcontractorContactPersonInput
Example
{
"subcontractorId": "4",
"isDefault": true,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"role": "abc123",
"email": "xyz789",
"phone": "xyz789"
}
CreateSubcontractorContactPersonPayload
Fields
| Field Name | Description |
|---|---|
subcontractorContactPerson - SubcontractorContactPerson
|
Example
{"subcontractorContactPerson": SubcontractorContactPerson}
CreateSubcontractorInput
Fields
| Input Field | Description |
|---|---|
type - SubcontractorType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
taxNumber - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
Example
{
"type": "PERSON",
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"companyName": "xyz789",
"streetAddress": "abc123",
"zip": "abc123",
"city": "xyz789",
"country": "US",
"email": "abc123",
"phone": "xyz789",
"fax": "xyz789",
"website": "xyz789",
"taxNumber": "abc123",
"vatId": "xyz789"
}
CreateSubcontractorOperationExecutorInput
CreateSubcontractorOperationExecutorPayload
Fields
| Field Name | Description |
|---|---|
operationExecutor - OperationExecutor
|
Example
{"operationExecutor": OperationExecutor}
CreateSubcontractorOrderExecutorInput
CreateSubcontractorOrderExecutorPayload
Fields
| Field Name | Description |
|---|---|
orderExecutor - OrderExecutor
|
Example
{"orderExecutor": OrderExecutor}
CreateSubcontractorPayload
Fields
| Field Name | Description |
|---|---|
subcontractor - Subcontractor
|
Example
{"subcontractor": Subcontractor}
CreateSupplierContactPersonInput
Example
{
"supplierId": 4,
"isDefault": true,
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"role": "abc123",
"email": "xyz789",
"phone": "xyz789"
}
CreateSupplierContactPersonPayload
Fields
| Field Name | Description |
|---|---|
supplierContactPerson - SupplierContactPerson
|
Example
{"supplierContactPerson": SupplierContactPerson}
CreateSupplierInput
Fields
| Input Field | Description |
|---|---|
type - SupplierType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
taxNumber - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
tags - [String!]
|
Example
{
"type": "PERSON",
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"companyName": "xyz789",
"addressSupplement": "abc123",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"email": "abc123",
"phone": "abc123",
"fax": "abc123",
"website": "xyz789",
"taxNumber": "xyz789",
"vatId": "xyz789",
"tags": ["xyz789"]
}
CreateSupplierPayload
Fields
| Field Name | Description |
|---|---|
supplier - Supplier
|
Example
{"supplier": Supplier}
CreateTicketFileInput
CreateTicketFilePayload
Fields
| Field Name | Description |
|---|---|
uploadUrl - URL
|
Presigned S3 URL, valid for 1 hour. Upload the file with an HTTP PUT of the raw bytes and a Content-Type header equal to the mimeType from the input. The file record exists immediately; no confirmation call is needed. |
ticketFile - TicketFile
|
Example
{
"uploadUrl": "http://www.test.com/",
"ticketFile": TicketFile
}
CreateTicketInput
Fields
| Input Field | Description |
|---|---|
objectId - ID!
|
|
objectRoomId - ID
|
|
orderId - ID
|
|
sourceOperationId - ID
|
|
type - TicketType
|
|
isPublic - Boolean
|
|
inputChannel - TicketInputChannel
|
|
location - String
|
|
description - String!
|
|
priority - TicketPriority!
|
|
discoverDate - Date
|
|
dueDate - Date
|
Example
{
"objectId": 4,
"objectRoomId": "4",
"orderId": 4,
"sourceOperationId": "4",
"type": "COMPLAINT",
"isPublic": false,
"inputChannel": "PORTAL",
"location": "xyz789",
"description": "xyz789",
"priority": "LOW",
"discoverDate": "2007-12-03",
"dueDate": "2007-12-03"
}
CreateTicketPayload
Fields
| Field Name | Description |
|---|---|
ticket - Ticket
|
Example
{"ticket": Ticket}
CreateTimeRecordBreakInput
CreateTimeRecordBreakPayload
Fields
| Field Name | Description |
|---|---|
timeRecordBreak - TimeRecordBreak
|
Example
{"timeRecordBreak": TimeRecordBreak}
CreateTimeRecordInput
Fields
| Input Field | Description |
|---|---|
employeeId - ID
|
Employee hash ID. Provide either this or personnelNumber. |
personnelNumber - Int
|
Personnel number. Provide either this or employeeId. |
start - DateTime!
|
Start of time record in UTC |
end - DateTime!
|
End of time record in UTC |
journeyStart - DateTime
|
Start of journey in UTC (must be before start) |
breakDuration - Int
|
Total break duration in seconds |
objectId - ID
|
Object hash ID. Provide either this or objectNumber. |
objectNumber - Int
|
Object number. Provide either this or objectId. |
Example
{
"employeeId": "4",
"personnelNumber": 987,
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"journeyStart": "2007-12-03T10:15:30Z",
"breakDuration": 987,
"objectId": 4,
"objectNumber": 123
}
CreateTimeRecordResult
Fields
| Field Name | Description |
|---|---|
index - Int!
|
0-based index in the input array |
timeRecord - TimeRecord
|
The created time record (null if failed) |
error - String
|
Error message (null if succeeded) |
Example
{
"index": 987,
"timeRecord": TimeRecord,
"error": "xyz789"
}
CreateTimeRecordsInput
Fields
| Input Field | Description |
|---|---|
records - [CreateTimeRecordInput!]!
|
Example
{"records": [CreateTimeRecordInput]}
CreateTimeRecordsPayload
Fields
| Field Name | Description |
|---|---|
results - [CreateTimeRecordResult!]!
|
Example
{"results": [CreateTimeRecordResult]}
CreditNote
Description
A credit note (Gutschrift) crediting a subcontractor (Nachunternehmer) for performed work. Customer-side documents are invoices.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
company - Company
|
Company of that credit note. If credit note is completed, it provides data at the time the credit note was completed. |
subcontractor - Subcontractor!
|
|
subcontractorContactPerson - SubcontractorContactPerson
|
|
type - CreditNoteType!
|
|
status - CreditNoteStatus!
|
|
number - Int!
|
Sequential credit note number, assigned at creation. |
numberPrefix - String
|
|
numberSuffix - String
|
|
items - [CreditNoteItem!]!
|
|
totalAmount - Int!
|
Gross total in cents. |
totalNetAmount - Int!
|
Net total in cents. |
dueDate - Date
|
|
dueDateFormat - CreditNoteDueDateFormat
|
|
hideDueDateText - Boolean!
|
This will hide the due date text on the credit note pdf |
creditNoteDate - Date!
|
|
deliveryDate - CreditNoteDeliveryDate!
|
Service/delivery date (Leistungsdatum): a single date or a range. |
hasKleinunternehmerregelung - Boolean!
|
German small-business rule (§ 19 UStG): no VAT is charged or shown. |
introductionText - String
|
|
closingText - String
|
|
isNegative - Boolean!
|
True when the item total is negative. |
creditNotePdf - String
|
|
sentManually - Boolean
|
|
completedAt - DateTime
|
|
sentAt - DateTime
|
|
paidAt - Date
|
|
cancelledAt - Date
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
|
createdAt - DateTime!
|
|
payments - [Payment]
|
|
originalCreditNote - CreditNote
|
Original credit note if credit note is a cancellation (type is CANCELLATION) |
cancellationCreditNote - CreditNote
|
Cancellation credit note if credit note is cancelled (status is CANCELLED) |
Example
{
"id": 4,
"company": Company,
"subcontractor": Subcontractor,
"subcontractorContactPerson": SubcontractorContactPerson,
"type": "CREDIT_NOTE",
"status": "DRAFT",
"number": 987,
"numberPrefix": "xyz789",
"numberSuffix": "abc123",
"items": [CreditNoteItem],
"totalAmount": 123,
"totalNetAmount": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": false,
"creditNoteDate": "2007-12-03",
"deliveryDate": SingleDate,
"hasKleinunternehmerregelung": true,
"introductionText": "abc123",
"closingText": "xyz789",
"isNegative": false,
"creditNotePdf": "xyz789",
"sentManually": false,
"completedAt": "2007-12-03T10:15:30Z",
"sentAt": "2007-12-03T10:15:30Z",
"paidAt": "2007-12-03",
"cancelledAt": "2007-12-03",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"payments": [Payment],
"originalCreditNote": CreditNote,
"cancellationCreditNote": CreditNote
}
CreditNoteConnection
Fields
| Field Name | Description |
|---|---|
edges - [CreditNoteEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [CreditNoteEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
CreditNoteDeliveryDate
Types
| Union Types |
|---|
Example
SingleDate
CreditNoteDraft
Fields
| Field Name | Description |
|---|---|
subcontractor - Subcontractor
|
|
subcontractorContactPerson - SubcontractorContactPerson
|
|
status - CreditNoteStatus!
|
|
number - Int!
|
|
dueDate - Date
|
|
dueDateFormat - CreditNoteDueDateFormat
|
|
hideDueDateText - Boolean!
|
This will hide the due date text on the credit note pdf |
creditNoteDate - Date
|
|
deliveryDate - CreditNoteDeliveryDate
|
|
items - [CreditNoteDraftItem]
|
|
introductionText - String
|
|
closingText - String
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
Example
{
"subcontractor": Subcontractor,
"subcontractorContactPerson": SubcontractorContactPerson,
"status": "DRAFT",
"number": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"creditNoteDate": "2007-12-03",
"deliveryDate": SingleDate,
"items": [CreditNoteDraftItem],
"introductionText": "abc123",
"closingText": "abc123",
"language": LanguageTag,
"currency": CurrencyCode
}
CreditNoteDraftItem
Example
{
"position": 123,
"title": "abc123",
"description": "xyz789",
"quantity": 123.45,
"unitPrice": 123,
"taxRate": 123.45,
"unit": "xyz789"
}
CreditNoteDueDateFormat
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DAYS"
CreditNoteEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - CreditNote!
|
Example
{
"cursor": "abc123",
"node": CreditNote
}
CreditNoteItem
Example
{
"id": "4",
"position": 987,
"title": "xyz789",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 123,
"taxRate": 123.45,
"unit": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
CreditNoteOrder
Fields
| Input Field | Description |
|---|---|
field - CreditNoteOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
CreditNoteOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
CreditNoteStatus
Description
Lifecycle: DRAFT -> COMPLETED (completeCreditNote) -> SENT -> PAID; CANCELLED via cancellation inside Mendato.
Values
| Enum Value | Description |
|---|---|
|
|
Editable draft. |
|
|
Finalized; PDF generated, completedAt set. |
|
|
Sent to the subcontractor; sentAt is set. |
|
|
Payments cover the total; paidAt is set. |
|
|
Cancelled; cancellationCreditNote references the reversing document. |
Example
"DRAFT"
CreditNoteType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Cancellation credit note reversing its originalCreditNote. |
Example
"CREDIT_NOTE"
CurrencyCode
Description
ISO 4217 currency code
Example
CurrencyCode
Customer
Description
A customer (Kunde). Owns objects (service locations); invoices and estimates are addressed to customers.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
number - Int!
|
|
type - CustomerType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
emails - [CustomerEmail!]
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
datevAccount - Int!
|
DATEV debtor account number (accounting export). |
sellerIdentifier - String
|
Your company's supplier/seller number at this customer, printed in e-invoices. |
leitwegId - String
|
Leitweg-ID for XRechnung e-invoices to public-sector customers. |
invoiceSettings - CustomerInvoiceSettings
|
|
note - String
|
|
tags - [String!]!
|
|
createdAt - DateTime
|
|
invoices - InvoiceConnection!
|
|
estimates - EstimateConnection!
|
|
receipts - ReceiptConnection!
|
|
objects - ObjectConnection!
|
|
contactPersons - CustomerContactPersonConnection!
|
|
Example
{
"id": "4",
"number": 987,
"type": "PERSON",
"salutation": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"companyName": "abc123",
"addressSupplement": "abc123",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"emails": [CustomerEmail],
"phone": "xyz789",
"fax": "xyz789",
"website": "xyz789",
"vatId": "xyz789",
"datevAccount": 987,
"sellerIdentifier": "xyz789",
"leitwegId": "xyz789",
"invoiceSettings": CustomerInvoiceSettings,
"note": "abc123",
"tags": ["abc123"],
"createdAt": "2007-12-03T10:15:30Z",
"invoices": InvoiceConnection,
"estimates": EstimateConnection,
"receipts": ReceiptConnection,
"objects": ObjectConnection,
"contactPersons": CustomerContactPersonConnection
}
CustomerConnection
Fields
| Field Name | Description |
|---|---|
edges - [CustomerEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [CustomerEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
CustomerContactPerson
Example
{
"id": "4",
"isDefault": true,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"role": "abc123",
"email": "xyz789",
"phone": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
CustomerContactPersonConnection
Fields
| Field Name | Description |
|---|---|
edges - [CustomerContactPersonEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [CustomerContactPersonEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
CustomerContactPersonEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - CustomerContactPerson!
|
Example
{
"cursor": "xyz789",
"node": CustomerContactPerson
}
CustomerEdge
CustomerEmail
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
type - CustomerEmailType!
|
|
email - String!
|
|
createdAt - DateTime!
|
Example
{
"id": "4",
"type": "GENERAL",
"email": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
CustomerEmailType
Values
| Enum Value | Description |
|---|---|
|
|
General correspondence address. |
|
|
Address used for sending invoices. |
Example
"GENERAL"
CustomerInvoiceSettings
Description
Customer-level overrides of the company invoice settings (null = inherit).
Fields
| Field Name | Description |
|---|---|
eInvoiceType - EInvoiceType
|
|
dueDateType - DueDateType
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the invoice pdf |
introductionText - String
|
|
closingText - String
|
|
skontoEnabled - Boolean
|
|
skontoPercent - Float
|
Skonto discount in percent (3 = 3 %). |
skontoDays - Int
|
Days after invoiceDate within which skonto may be taken. |
attachServiceReceiptPdfs - Boolean
|
Example
{
"eInvoiceType": "NONE",
"dueDateType": "IMMEDIATELY",
"hideDueDateText": false,
"introductionText": "xyz789",
"closingText": "abc123",
"skontoEnabled": false,
"skontoPercent": 123.45,
"skontoDays": 987,
"attachServiceReceiptPdfs": false
}
CustomerType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PERSON"
Date
Description
Calendar date in the form YYYY-MM-DD, e.g. 2026-07-01.
Example
"2007-12-03"
DateRange
DateTime
Description
Timestamp in ISO 8601 UTC, e.g. 2026-07-01T10:20:30.000Z.
Example
"2007-12-03T10:15:30Z"
DeclineAbsenceInput
Fields
| Input Field | Description |
|---|---|
absenceId - ID!
|
Example
{"absenceId": "4"}
DeclineAbsencePayload
Fields
| Field Name | Description |
|---|---|
absence - Absence
|
Example
{"absence": Absence}
DeclineEstimateInput
Fields
| Input Field | Description |
|---|---|
estimateId - ID!
|
Example
{"estimateId": 4}
DeclineEstimatePayload
Fields
| Field Name | Description |
|---|---|
estimate - Estimate
|
Example
{"estimate": Estimate}
DeleteCustomerContactPersonInput
Fields
| Input Field | Description |
|---|---|
customerContactPersonId - ID!
|
Example
{"customerContactPersonId": "4"}
DeleteCustomerContactPersonPayload
Fields
| Field Name | Description |
|---|---|
deletedCustomerContactPersonId - ID
|
Example
{"deletedCustomerContactPersonId": 4}
DeleteCustomerInput
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
Example
{"customerId": 4}
DeleteCustomerPayload
Fields
| Field Name | Description |
|---|---|
deletedCustomerId - ID
|
Example
{"deletedCustomerId": "4"}
DeleteEmployeeInput
Fields
| Input Field | Description |
|---|---|
employeeId - ID!
|
Example
{"employeeId": "4"}
DeleteEmployeePayload
Fields
| Field Name | Description |
|---|---|
deletedEmployeeId - ID
|
Example
{"deletedEmployeeId": 4}
DeleteEmployeeProfilePictureInput
Fields
| Input Field | Description |
|---|---|
employeeId - ID!
|
Example
{"employeeId": 4}
DeleteEmployeeProfilePicturePayload
Fields
| Field Name | Description |
|---|---|
success - Boolean
|
Example
{"success": true}
DeleteEmployeeWorkingTimeModelInput
DeleteEmployeeWorkingTimeModelPayload
Fields
| Field Name | Description |
|---|---|
deletedEmployeeWorkingTimeModelId - ID
|
Example
{"deletedEmployeeWorkingTimeModelId": 4}
DeleteEstimateInput
Fields
| Input Field | Description |
|---|---|
estimateId - ID!
|
Example
{"estimateId": 4}
DeleteEstimatePayload
Fields
| Field Name | Description |
|---|---|
deletedEstimateId - ID
|
Example
{"deletedEstimateId": "4"}
DeleteInvoiceInput
Fields
| Input Field | Description |
|---|---|
invoiceId - ID!
|
Example
{"invoiceId": 4}
DeleteInvoicePayload
Fields
| Field Name | Description |
|---|---|
deletedInvoiceId - ID
|
Example
{"deletedInvoiceId": "4"}
DeleteObjectInput
Fields
| Input Field | Description |
|---|---|
objectId - ID!
|
Example
{"objectId": "4"}
DeleteObjectPayload
Fields
| Field Name | Description |
|---|---|
deletedObjectId - ID
|
Example
{"deletedObjectId": "4"}
DeleteObjectRoomInput
Fields
| Input Field | Description |
|---|---|
objectRoomId - ID!
|
Example
{"objectRoomId": 4}
DeleteObjectRoomPayload
Fields
| Field Name | Description |
|---|---|
deletedObjectRoomId - ID
|
Example
{"deletedObjectRoomId": "4"}
DeleteOperationBillingItemInput
Fields
| Input Field | Description |
|---|---|
operationBillingItemId - ID!
|
Example
{"operationBillingItemId": 4}
DeleteOperationBillingItemPayload
Fields
| Field Name | Description |
|---|---|
deletedOperationBillingItemId - ID
|
Example
{"deletedOperationBillingItemId": 4}
DeleteOperationExecutorInput
Fields
| Input Field | Description |
|---|---|
operationExecutorId - ID!
|
Example
{"operationExecutorId": "4"}
DeleteOperationExecutorPayload
Fields
| Field Name | Description |
|---|---|
deletedOperationExecutorId - ID
|
Example
{"deletedOperationExecutorId": "4"}
DeleteOperationReportFileInput
Fields
| Input Field | Description |
|---|---|
operationReportFileId - ID!
|
Example
{"operationReportFileId": "4"}
DeleteOperationReportFilePayload
Fields
| Field Name | Description |
|---|---|
deletedOperationReportFileId - ID!
|
Example
{"deletedOperationReportFileId": "4"}
DeleteOperationReportInput
Fields
| Input Field | Description |
|---|---|
operationReportId - ID!
|
Example
{"operationReportId": "4"}
DeleteOperationReportPayload
Fields
| Field Name | Description |
|---|---|
deletedOperationReportId - ID!
|
Example
{"deletedOperationReportId": 4}
DeleteOrderBillingItemInput
Fields
| Input Field | Description |
|---|---|
orderBillingItemId - ID!
|
Example
{"orderBillingItemId": "4"}
DeleteOrderBillingItemPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderBillingItemId - ID
|
Example
{"deletedOrderBillingItemId": "4"}
DeleteOrderExecutorBillingItemInput
Fields
| Input Field | Description |
|---|---|
orderExecutorBillingItemId - ID!
|
Example
{"orderExecutorBillingItemId": 4}
DeleteOrderExecutorBillingItemPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderExecutorBillingItemId - ID
|
Example
{"deletedOrderExecutorBillingItemId": 4}
DeleteOrderExecutorInput
Description
Deletes all related OrderShiftExecutors and OperationExecutors without related TimeRecord
Example
{
"orderExecutorId": 4,
"lastExecutionDate": "2007-12-03"
}
DeleteOrderExecutorPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderExecutorId - ID
|
Example
{"deletedOrderExecutorId": "4"}
DeleteOrderInput
Fields
| Input Field | Description |
|---|---|
orderId - ID!
|
Example
{"orderId": 4}
DeleteOrderPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderId - ID
|
Example
{"deletedOrderId": 4}
DeleteOrderServiceInput
DeleteOrderServicePayload
Fields
| Field Name | Description |
|---|---|
deletedOrderServiceId - ID
|
Example
{"deletedOrderServiceId": "4"}
DeleteOrderServiceTaskRoomsInput
Fields
| Input Field | Description |
|---|---|
orderServiceTaskRoomIds - [ID!]!
|
The OrderServiceTaskRooms to delete. At most 100 ids per call. |
Example
{"orderServiceTaskRoomIds": [4]}
DeleteOrderServiceTaskRoomsPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderServiceTaskRoomIds - [ID!]
|
Example
{"deletedOrderServiceTaskRoomIds": ["4"]}
DeleteOrderServiceTasksInput
Fields
| Input Field | Description |
|---|---|
orderServiceTaskIds - [ID!]!
|
The OrderServiceTasks to delete. At most 100 ids per call. |
Example
{"orderServiceTaskIds": [4]}
DeleteOrderServiceTasksPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderServiceTaskIds - [ID!]
|
Example
{"deletedOrderServiceTaskIds": [4]}
DeleteOrderShiftExecutorInput
DeleteOrderShiftExecutorPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderShiftExecutorId - ID
|
Example
{"deletedOrderShiftExecutorId": "4"}
DeleteOrderShiftInput
Fields
| Input Field | Description |
|---|---|
orderShiftId - ID!
|
Example
{"orderShiftId": 4}
DeleteOrderShiftPayload
Fields
| Field Name | Description |
|---|---|
deletedOrderShiftId - ID
|
Example
{"deletedOrderShiftId": "4"}
DeletePendingInvoiceItemsInput
Fields
| Input Field | Description |
|---|---|
pendingInvoiceItemIds - [ID!]!
|
Example
{"pendingInvoiceItemIds": ["4"]}
DeletePendingInvoiceItemsPayload
Fields
| Field Name | Description |
|---|---|
deletedPendingInvoiceItemIds - [ID]
|
Example
{"deletedPendingInvoiceItemIds": [4]}
DeleteSubcontractorContactPersonInput
Fields
| Input Field | Description |
|---|---|
subcontractorContactPersonId - ID!
|
Example
{"subcontractorContactPersonId": "4"}
DeleteSubcontractorContactPersonPayload
Fields
| Field Name | Description |
|---|---|
deletedSubcontractorContactPersonId - ID
|
Example
{"deletedSubcontractorContactPersonId": 4}
DeleteSubcontractorInput
Fields
| Input Field | Description |
|---|---|
subcontractorId - ID!
|
Example
{"subcontractorId": 4}
DeleteSubcontractorPayload
Fields
| Field Name | Description |
|---|---|
deletedSubcontractorId - ID
|
Example
{"deletedSubcontractorId": 4}
DeleteSupplierContactPersonInput
Fields
| Input Field | Description |
|---|---|
supplierContactPersonId - ID!
|
Example
{"supplierContactPersonId": 4}
DeleteSupplierContactPersonPayload
Fields
| Field Name | Description |
|---|---|
deletedSupplierContactPersonId - ID
|
Example
{"deletedSupplierContactPersonId": "4"}
DeleteSupplierInput
Fields
| Input Field | Description |
|---|---|
supplierId - ID!
|
Example
{"supplierId": 4}
DeleteSupplierPayload
Fields
| Field Name | Description |
|---|---|
deletedSupplierId - ID
|
Example
{"deletedSupplierId": 4}
DeleteTicketFileInput
Fields
| Input Field | Description |
|---|---|
ticketFileId - ID!
|
Example
{"ticketFileId": 4}
DeleteTicketFilePayload
Fields
| Field Name | Description |
|---|---|
deletedTicketFileId - ID
|
Example
{"deletedTicketFileId": 4}
DeleteTicketInput
Fields
| Input Field | Description |
|---|---|
ticketId - ID!
|
Example
{"ticketId": "4"}
DeleteTicketPayload
Fields
| Field Name | Description |
|---|---|
deletedTicketId - ID
|
Example
{"deletedTicketId": "4"}
DeleteTimeRecordBreakInput
Fields
| Input Field | Description |
|---|---|
timeRecordBreakId - ID!
|
Example
{"timeRecordBreakId": "4"}
DeleteTimeRecordBreakPayload
Fields
| Field Name | Description |
|---|---|
deletedTimeRecordBreakId - ID
|
Example
{"deletedTimeRecordBreakId": "4"}
DeleteTimeRecordInput
Fields
| Input Field | Description |
|---|---|
timeRecordId - ID!
|
Example
{"timeRecordId": "4"}
DeleteTimeRecordPayload
Fields
| Field Name | Description |
|---|---|
deletedTimeRecordId - ID
|
Example
{"deletedTimeRecordId": "4"}
DeleteTimeRecordResult
DeleteTimeRecordsInput
Fields
| Input Field | Description |
|---|---|
timeRecordIds - [ID!]!
|
Example
{"timeRecordIds": ["4"]}
DeleteTimeRecordsPayload
Fields
| Field Name | Description |
|---|---|
results - [DeleteTimeRecordResult!]!
|
Example
{"results": [DeleteTimeRecordResult]}
DueDateType
Description
Due-date rule for invoices, relative to the invoice date.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Due at the end of the invoice month. |
Example
"IMMEDIATELY"
EInvoiceType
Description
E-invoice (E-Rechnung) format used when completing invoices.
Values
| Enum Value | Description |
|---|---|
|
|
No e-invoice, PDF only. |
|
|
ZUGFeRD: PDF with embedded EN 16931 XML. |
|
|
XRechnung: German public-sector XML format. Buyers usually require a Leitweg-ID (Customer.leitwegId). |
Example
"NONE"
Employee
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String!
|
|
status - EmployeeStatus!
|
Status as of the given date (default: today, Europe/Berlin): CANCELLED once cancelDate has passed, ACTIVE while a working time model covers the date, IDLE otherwise. |
Arguments
|
|
cancelDate - Date
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
state - State
|
|
email - String
|
|
phone - String
|
|
birthDate - Date
|
|
personnelNumberPrefix - String
|
|
personnelNumber - Int!
|
|
fullPersonnelNumber - String!
|
personnelNumberPrefix + personnelNumber. |
note - String
|
|
hasDrivingLicenceClassB - Boolean
|
|
locationBasedTimeRecording - Boolean!
|
|
createdAt - DateTime!
|
|
profilePicture - EmployeeProfilePicture
|
|
timeAccount - EmployeeTimeAccount
|
|
activeWorkingTimeModel - EmployeeWorkingTimeModel
|
|
Arguments
|
|
Example
{
"id": 4,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"status": "IDLE",
"cancelDate": "2007-12-03",
"addressSupplement": "abc123",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"state": State,
"email": "abc123",
"phone": "xyz789",
"birthDate": "2007-12-03",
"personnelNumberPrefix": "xyz789",
"personnelNumber": 123,
"fullPersonnelNumber": "abc123",
"note": "abc123",
"hasDrivingLicenceClassB": false,
"locationBasedTimeRecording": true,
"createdAt": "2007-12-03T10:15:30Z",
"profilePicture": EmployeeProfilePicture,
"timeAccount": EmployeeTimeAccount,
"activeWorkingTimeModel": EmployeeWorkingTimeModel
}
EmployeeConnection
Fields
| Field Name | Description |
|---|---|
edges - [EmployeeEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [EmployeeEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
EmployeeEdge
EmployeeOrder
Fields
| Input Field | Description |
|---|---|
field - EmployeeOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "NAME", "direction": "ASC"}
EmployeeOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NAME"
EmployeeProfilePicture
Example
{
"id": "4",
"originalImageUrl": "http://www.test.com/",
"smallImageUrl": "http://www.test.com/",
"largeImageUrl": "http://www.test.com/",
"createdAt": "2007-12-03T10:15:30Z"
}
EmployeeStatus
Values
| Enum Value | Description |
|---|---|
|
|
No working time model covers the date. |
|
|
A working time model covers the date. |
|
|
The cancel date has passed. |
Example
"IDLE"
EmployeeTimeAccount
EmployeeWorkingTimeModel
Description
An employee's working time model (Arbeitszeitmodell): contract hours, wage and payroll calculation settings, valid from startDate to endDate.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
employee - Employee!
|
|
startDate - Date!
|
|
endDate - Date
|
|
weeklyHours - Float!
|
Contractual hours per week. |
mondayHours - Float
|
|
tuesdayHours - Float
|
|
wednesdayHours - Float
|
|
thursdayHours - Float
|
|
fridayHours - Float
|
|
saturdayHours - Float
|
|
sundayHours - Float
|
|
grossHourlyWage - Int
|
Gross hourly wage in cents. |
paidInterimCalculation - WorkingTimeModelPaidInterimCalculation!
|
|
isFirstJourneyPaid - Boolean!
|
|
salaryCalculation - WorkingTimeModelSalaryCalculation!
|
|
absenceDurationCalculation - WorkingTimeModelAbsenceDurationCalculation!
|
|
timeAccountEnabled - Boolean!
|
Enables the employee's time account: the daily target-vs-actual time difference is booked to the balance. |
createdAt - DateTime!
|
Example
{
"id": 4,
"employee": Employee,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"weeklyHours": 987.65,
"mondayHours": 123.45,
"tuesdayHours": 123.45,
"wednesdayHours": 987.65,
"thursdayHours": 987.65,
"fridayHours": 987.65,
"saturdayHours": 123.45,
"sundayHours": 987.65,
"grossHourlyWage": 123,
"paidInterimCalculation": "FULL_INTERIM",
"isFirstJourneyPaid": false,
"salaryCalculation": "ACTUAL_HOURS",
"absenceDurationCalculation": "PLAN_HOURS",
"timeAccountEnabled": true,
"createdAt": "2007-12-03T10:15:30Z"
}
EmployeeWorkingTimeModelConnection
Fields
| Field Name | Description |
|---|---|
edges - [EmployeeWorkingTimeModelEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [EmployeeWorkingTimeModelEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
EmployeeWorkingTimeModelEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - EmployeeWorkingTimeModel!
|
Example
{
"cursor": "abc123",
"node": EmployeeWorkingTimeModel
}
EmployeeWorkingTimeModelOrder
Fields
| Input Field | Description |
|---|---|
field - EmployeeWorkingTimeModelOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "START_DATE", "direction": "ASC"}
EmployeeWorkingTimeModelOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"START_DATE"
EndOrderBillingItemInput
EndOrderBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderBillingItem - OrderBillingItem
|
Example
{"orderBillingItem": OrderBillingItem}
EndOrderExecutorBillingItemInput
EndOrderExecutorBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderExecutorBillingItem - OrderExecutorBillingItem
|
Example
{"orderExecutorBillingItem": OrderExecutorBillingItem}
EndOrderInput
EndOrderPayload
Fields
| Field Name | Description |
|---|---|
order - Order
|
Example
{"order": Order}
EndOrderShiftInput
EndOrderShiftPayload
Fields
| Field Name | Description |
|---|---|
orderShift - OrderShift
|
Example
{"orderShift": OrderShift}
Estimate
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
company - Company!
|
Company of that estimate. If estimate is completed, it provides data at the time the estimate was completed. |
customer - Customer!
|
|
status - EstimateStatus!
|
|
number - Int!
|
Sequential estimate number, assigned at creation. |
numberPrefix - String
|
|
items - [EstimateItem!]!
|
|
estimateDate - Date!
|
|
validityDate - Date
|
Date until which the estimate is valid. |
hasKleinunternehmerregelung - Boolean!
|
|
introductionText - String
|
|
closingText - String
|
|
estimatePdf - String
|
|
webUrl - URL!
|
Customer-facing web view; the customer can accept or decline there when webEnabled is true. |
webEnabled - Boolean!
|
|
isAnsweredByCustomer - Boolean
|
True if estimate is answered by customer, false if answered by company and null if not answered yet. |
declineReason - EstimateDeclineReason
|
|
declineNote - String
|
|
sentManually - Boolean
|
|
completedAt - DateTime
|
|
sentAt - DateTime
|
|
acceptedAt - DateTime
|
|
declinedAt - DateTime
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
|
createdAt - DateTime!
|
Example
{
"id": "4",
"company": Company,
"customer": Customer,
"status": "DRAFT",
"number": 987,
"numberPrefix": "xyz789",
"items": [EstimateItem],
"estimateDate": "2007-12-03",
"validityDate": "2007-12-03",
"hasKleinunternehmerregelung": true,
"introductionText": "abc123",
"closingText": "xyz789",
"estimatePdf": "xyz789",
"webUrl": "http://www.test.com/",
"webEnabled": true,
"isAnsweredByCustomer": false,
"declineReason": "PRICE_TOO_HIGH",
"declineNote": "abc123",
"sentManually": true,
"completedAt": "2007-12-03T10:15:30Z",
"sentAt": "2007-12-03T10:15:30Z",
"acceptedAt": "2007-12-03T10:15:30Z",
"declinedAt": "2007-12-03T10:15:30Z",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z"
}
EstimateConnection
Fields
| Field Name | Description |
|---|---|
edges - [EstimateEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [EstimateEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
EstimateDeclineReason
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"PRICE_TOO_HIGH"
EstimateDraft
Fields
| Field Name | Description |
|---|---|
customer - Customer
|
|
status - EstimateStatus!
|
|
number - Int!
|
|
estimateDate - Date
|
|
validityDate - Date
|
|
items - [EstimateDraftItem]
|
|
introductionText - String
|
|
closingText - String
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
Example
{
"customer": Customer,
"status": "DRAFT",
"number": 987,
"estimateDate": "2007-12-03",
"validityDate": "2007-12-03",
"items": [EstimateDraftItem],
"introductionText": "xyz789",
"closingText": "abc123",
"language": LanguageTag,
"currency": CurrencyCode
}
EstimateDraftItem
Example
{
"title": "xyz789",
"description": "xyz789",
"quantity": 987.65,
"unitPrice": 987,
"taxRate": 987.65,
"unit": "xyz789"
}
EstimateEdge
EstimateItem
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
position - Int!
|
|
title - String!
|
|
description - String
|
|
quantity - Float!
|
|
unitPrice - Int!
|
Net unit price in cents. |
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
unit - String
|
|
object - Object
|
The object (Objekt / service location) this item is assigned to. |
createdAt - DateTime
|
Example
{
"id": "4",
"position": 123,
"title": "abc123",
"description": "xyz789",
"quantity": 987.65,
"unitPrice": 987,
"taxRate": 123.45,
"unit": "xyz789",
"object": Object,
"createdAt": "2007-12-03T10:15:30Z"
}
EstimateOrder
Fields
| Input Field | Description |
|---|---|
field - EstimateOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
EstimateOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
EstimateStatus
Description
Lifecycle: DRAFT -> COMPLETED (completeEstimate) -> ACCEPTED or DECLINED. SENT is set when the estimate is emailed to the customer from Mendato and is not required before accepting or declining.
Values
| Enum Value | Description |
|---|---|
|
|
Editable draft. |
|
|
Finalized; PDF generated. |
|
|
Sent to the customer; sentAt is set. |
|
|
Accepted; acceptedAt is set (via acceptEstimate or by the customer in the web view). |
|
|
Declined; declinedAt and optionally declineReason/declineNote are set. |
Example
"DRAFT"
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
Holiday
Description
A public holiday (Feiertag) of a German state. Only by-id lookup is available; holidays are referenced from operations (operation.holiday).
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
date - Date!
|
|
name - String!
|
|
country - CountryCode!
|
|
state - StateCode!
|
Example
{
"id": "4",
"date": "2007-12-03",
"name": "abc123",
"country": "US",
"state": StateCode
}
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
InputOperationBillingItemQuantityInput
InputOperationBillingItemQuantityPayload
Fields
| Field Name | Description |
|---|---|
operationBillingItem - OperationBillingItem
|
Example
{"operationBillingItem": OperationBillingItem}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
Invoice
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
company - Company
|
Company of that invoice. If invoice is completed, it provides data at the time the invoice was completed. |
customer - Customer
|
|
type - InvoiceType!
|
|
status - InvoiceStatus!
|
|
number - Int!
|
Sequential invoice number, assigned at creation. |
numberPrefix - String
|
Printed number is numberPrefix + number + numberSuffix. |
numberSuffix - String
|
Suffix of the printed number; cancellation invoices get -ST. |
items - [InvoiceItem!]!
|
|
dueDate - Date
|
|
dueDateFormat - InvoiceDueDateFormat
|
|
hideDueDateText - Boolean!
|
This will hide the due date text on the invoice pdf |
invoiceDate - Date!
|
|
deliveryDate - InvoiceDeliveryDate!
|
Service/delivery date (Leistungsdatum): a single date or a range. |
totalAmount - Int!
|
Gross total in cents. |
totalNetAmount - Int!
|
Net total in cents. |
outstandingAmount - Int!
|
Open amount in cents. 0 for non-completed or cancelled invoices. |
hasKleinunternehmerregelung - Boolean!
|
German small-business rule (§ 19 UStG): no VAT is charged or shown. |
introductionText - String
|
|
closingText - String
|
|
isNegative - Boolean!
|
True when the item total is negative; skonto is disabled for negative invoices. |
invoicePdf - String
|
URL of the generated PDF; available once completed. |
sentManually - Boolean
|
Marked as sent outside Mendato. |
completedAt - DateTime
|
|
sentAt - DateTime
|
|
paidAt - Date
|
|
cancelledAt - Date
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
|
createdAt - DateTime!
|
|
payments - [Payment]
|
|
originalInvoice - Invoice
|
Original invoice if invoice is a cancellation (type is CANCELLATION) |
cancellationInvoice - Invoice
|
Cancellation invoice if invoice is cancelled (status is CANCELLED) |
skontoEnabled - Boolean!
|
Whether skonto (early-payment cash discount) is offered. |
skontoPercent - Float
|
Skonto discount in percent (3 = 3 %). |
skontoDays - Int
|
Days after invoiceDate within which skonto may be taken. |
skontoDeadline - Date
|
invoiceDate + skontoDays. |
skontoApplied - Boolean!
|
True once payments settled the invoice within the deadline at the discounted amount. |
skontoAmount - Int
|
Gross discount amount in cents. |
skontoMessage - String
|
Formatted message for the skonto discount |
serviceReceipts - [ServiceReceipt!]
|
Example
{
"id": 4,
"company": Company,
"customer": Customer,
"type": "INVOICE",
"status": "DRAFT",
"number": 987,
"numberPrefix": "abc123",
"numberSuffix": "xyz789",
"items": [InvoiceItem],
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"invoiceDate": "2007-12-03",
"deliveryDate": SingleDate,
"totalAmount": 987,
"totalNetAmount": 987,
"outstandingAmount": 123,
"hasKleinunternehmerregelung": true,
"introductionText": "abc123",
"closingText": "abc123",
"isNegative": true,
"invoicePdf": "xyz789",
"sentManually": false,
"completedAt": "2007-12-03T10:15:30Z",
"sentAt": "2007-12-03T10:15:30Z",
"paidAt": "2007-12-03",
"cancelledAt": "2007-12-03",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"payments": [Payment],
"originalInvoice": Invoice,
"cancellationInvoice": Invoice,
"skontoEnabled": false,
"skontoPercent": 987.65,
"skontoDays": 123,
"skontoDeadline": "2007-12-03",
"skontoApplied": true,
"skontoAmount": 987,
"skontoMessage": "abc123",
"serviceReceipts": [ServiceReceipt]
}
InvoiceConnection
Fields
| Field Name | Description |
|---|---|
edges - [InvoiceEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [InvoiceEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
InvoiceDeliveryDate
Types
| Union Types |
|---|
Example
SingleDate
InvoiceDraft
Fields
| Field Name | Description |
|---|---|
customer - Customer
|
|
status - InvoiceStatus!
|
|
number - Int!
|
|
dueDate - Date
|
|
dueDateFormat - InvoiceDueDateFormat
|
|
hideDueDateText - Boolean!
|
This will hide the due date text on the invoice pdf |
invoiceDate - Date
|
|
deliveryDate - InvoiceDeliveryDate
|
|
items - [InvoiceDraftItem]
|
|
introductionText - String
|
|
closingText - String
|
|
skontoEnabled - Boolean!
|
|
skontoPercent - Float
|
|
skontoDays - Int
|
|
skontoDeadline - Date
|
|
skontoMessage - String
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
Example
{
"customer": Customer,
"status": "DRAFT",
"number": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"invoiceDate": "2007-12-03",
"deliveryDate": SingleDate,
"items": [InvoiceDraftItem],
"introductionText": "abc123",
"closingText": "xyz789",
"skontoEnabled": true,
"skontoPercent": 123.45,
"skontoDays": 123,
"skontoDeadline": "2007-12-03",
"skontoMessage": "xyz789",
"language": LanguageTag,
"currency": CurrencyCode
}
InvoiceDraftItem
Example
{
"position": 123,
"title": "xyz789",
"description": "abc123",
"quantity": 987.65,
"unitPrice": 987,
"taxRate": 987.65,
"unit": "abc123"
}
InvoiceDueDateFormat
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DAYS"
InvoiceEdge
InvoiceItem
Example
{
"id": 4,
"position": 987,
"title": "abc123",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 987,
"taxRate": 987.65,
"unit": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
InvoiceOrder
Fields
| Input Field | Description |
|---|---|
field - InvoiceOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
InvoiceOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
InvoiceStatus
Description
Lifecycle: DRAFT -> COMPLETED (completeInvoice) -> SENT -> PAID. CANCELLED via cancelInvoice. REMINDED and IN_COLLECTION are set by Mendato's internal dunning and cannot be set through this API.
Values
| Enum Value | Description |
|---|---|
|
|
Editable draft; not yet a binding document. |
|
|
Finalized: PDF/e-invoice generated, invoice is immutable. completedAt is set. |
|
|
Sent to the customer; sentAt is set. |
|
|
Payments cover the total; paidAt is set. |
|
|
A payment reminder (Mahnung) exists. |
|
|
Handed to debt collection (Inkasso). |
|
|
Cancelled; cancellationInvoice references the reversing document. |
Example
"DRAFT"
InvoiceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Cancellation invoice (Stornorechnung) reversing its originalInvoice. |
Example
"INVOICE"
LanguageTag
Description
BCP-47 language tag
Example
LanguageTag
LegalForm
Description
German legal forms (Rechtsform).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DE_EINZELUNTERNEHMER"
Location
ManagingDirector
MarkOperationExecutorAsNoShowInput
Fields
| Input Field | Description |
|---|---|
operationExecutorId - ID!
|
Example
{"operationExecutorId": "4"}
MarkOperationExecutorAsNoShowPayload
Fields
| Field Name | Description |
|---|---|
operationExecutor - OperationExecutor
|
Example
{"operationExecutor": OperationExecutor}
Material
Description
A material (Material/Artikel) from the company's catalog. Consumption is recorded in consumptionUnit; sales and stock keeping can use their own units with conversion factors.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
number - Int!
|
Unique material number per company. |
name - String!
|
|
description - String
|
|
manufacturer - String
|
|
consumptionUnit - String
|
Base unit consumption is recorded in (e.g. l, piece). |
salesUnitPrice - Int
|
Net sales price per salesUnit in cents. |
salesTaxRate - Float
|
VAT rate in percent (19 = 19 %). |
salesUnit - String
|
Unit the material is sold in (e.g. canister). |
quantityPerSalesUnit - Float
|
Quantity contained in one salesUnit. |
stockUnit - String
|
Unit the material is stocked in. |
quantityPerStockUnit - Float
|
Quantity contained in one stockUnit. |
stockEanNumber - String
|
EAN/barcode of the stock unit. |
revenueAccount - Int
|
Revenue account number. |
group - MaterialGroup
|
|
originalImageUrl - URL
|
|
smallImageUrl - URL
|
|
largeImageUrl - URL
|
|
createdAt - DateTime!
|
Example
{
"id": 4,
"number": 987,
"name": "xyz789",
"description": "xyz789",
"manufacturer": "abc123",
"consumptionUnit": "xyz789",
"salesUnitPrice": 123,
"salesTaxRate": 123.45,
"salesUnit": "abc123",
"quantityPerSalesUnit": 987.65,
"stockUnit": "abc123",
"quantityPerStockUnit": 987.65,
"stockEanNumber": "abc123",
"revenueAccount": 123,
"group": MaterialGroup,
"originalImageUrl": "http://www.test.com/",
"smallImageUrl": "http://www.test.com/",
"largeImageUrl": "http://www.test.com/",
"createdAt": "2007-12-03T10:15:30Z"
}
MaterialConnection
Fields
| Field Name | Description |
|---|---|
edges - [MaterialEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [MaterialEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
MaterialEdge
MaterialGroup
MaterialGroupConnection
Fields
| Field Name | Description |
|---|---|
edges - [MaterialGroupEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [MaterialGroupEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
MaterialGroupEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - MaterialGroup!
|
Example
{
"cursor": "xyz789",
"node": MaterialGroup
}
MaterialGroupOrder
Fields
| Input Field | Description |
|---|---|
field - MaterialGroupOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
MaterialGroupOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREATED_AT"
MaterialOrder
Fields
| Input Field | Description |
|---|---|
field - MaterialOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
MaterialOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
Object
Description
An object (Objekt): the service location where work is performed. Belongs to a customer; orders, operations and tickets happen at objects.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
customer - Customer!
|
|
customerContactPerson - CustomerContactPerson
|
|
number - Int!
|
|
name - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
state - State
|
|
location - Location
|
|
locationRadiusMeters - Int!
|
Radius around the object's location, in meters. |
email - String
|
|
phone - String
|
|
extraInvoiceAddressFieldLines - String
|
Extra lines printed in the invoice address block. |
costCenter - String
|
Cost center (Kostenstelle) of the object. |
invoiceAddress - ObjectInvoiceAddress
|
Deviating billing address used instead of the customer's address. |
invoiceSettings - ObjectInvoiceSettings
|
|
tags - [String!]!
|
|
createdAt - DateTime!
|
|
rooms - ObjectRoomConnection!
|
|
invoices - InvoiceConnection!
|
|
estimates - EstimateConnection!
|
|
receipts - ReceiptConnection!
|
|
serviceReceipts - ServiceReceiptConnection!
|
|
Example
{
"id": "4",
"customer": Customer,
"customerContactPerson": CustomerContactPerson,
"number": 123,
"name": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"state": State,
"location": Location,
"locationRadiusMeters": 123,
"email": "abc123",
"phone": "xyz789",
"extraInvoiceAddressFieldLines": "xyz789",
"costCenter": "abc123",
"invoiceAddress": ObjectInvoiceAddress,
"invoiceSettings": ObjectInvoiceSettings,
"tags": ["abc123"],
"createdAt": "2007-12-03T10:15:30Z",
"rooms": ObjectRoomConnection,
"invoices": InvoiceConnection,
"estimates": EstimateConnection,
"receipts": ReceiptConnection,
"serviceReceipts": ServiceReceiptConnection
}
ObjectConnection
Fields
| Field Name | Description |
|---|---|
edges - [ObjectEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [ObjectEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
ObjectEdge
ObjectInvoiceAddress
Example
{
"id": 4,
"type": "PERSON",
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"companyName": "xyz789",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "abc123",
"country": "US"
}
ObjectInvoiceAddressType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PERSON"
ObjectInvoiceSettings
Description
Object-level overrides of the invoice settings (null = inherit).
Fields
| Field Name | Description |
|---|---|
eInvoiceType - EInvoiceType
|
|
dueDateType - DueDateType
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the invoice pdf |
introductionText - String
|
|
closingText - String
|
Example
{
"eInvoiceType": "NONE",
"dueDateType": "IMMEDIATELY",
"hideDueDateText": false,
"introductionText": "abc123",
"closingText": "abc123"
}
ObjectOrder
Fields
| Input Field | Description |
|---|---|
field - ObjectOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "NUMBER", "direction": "ASC"}
ObjectOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"NUMBER"
ObjectRoom
Description
A room of the object; rooms can be assigned to order service tasks.
Example
{
"id": 4,
"name": "abc123",
"floor": "xyz789",
"building": "abc123",
"sizeInSquareMeters": 987,
"note": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
ObjectRoomConnection
Fields
| Field Name | Description |
|---|---|
edges - [ObjectRoomEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [ObjectRoomEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
ObjectRoomEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - ObjectRoom!
|
Example
{
"cursor": "xyz789",
"node": ObjectRoom
}
ObjectRoomError
ObjectRoomInput
ObjectRoomOrder
Fields
| Input Field | Description |
|---|---|
field - ObjectRoomOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "NAME", "direction": "ASC"}
ObjectRoomOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NAME"
Operation
Description
A scheduled work assignment (Einsatz) at an object — usually generated asynchronously from an order's shifts, or created standalone via createOperations.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
object - Object!
|
|
instructions - String
|
|
services - [OperationService!]!
|
|
requiredExecutors - Int!
|
Minimum number of executors required per operation |
missingExecutors - Int!
|
requiredExecutors minus assigned executors; absent or no-show executors do not count. |
toDos - [OperationToDo!]!
|
Open follow-ups of this operation (see OperationToDo). Empty until the execution date is reached. |
executor - OperationExecutor
|
|
executors - OperationExecutorConnection
|
|
isExecuted - Boolean!
|
False when the operation falls on a public holiday and the order's executionOnHolidays is false; true otherwise. |
executionStartDate - Date!
|
|
executionStartTime - Time
|
|
executionEndDate - Date!
|
|
executionEndTime - Time
|
|
duration - Int
|
Planned duration in seconds (derived from execution start/end time). |
originalExecutionStartDate - Date
|
Is set if the initial executionStartDate was changed |
originalExecutionStartTime - Time
|
Is set if the initial executionStartTime was changed |
originalExecutionEndDate - Date
|
Is set if the initial executionEndDate was changed |
originalExecutionEndTime - Time
|
Is set if the initial executionEndTime was changed |
order - Order
|
|
orderShift - OrderShift
|
|
holiday - Holiday
|
The public holiday on the execution date, if any. |
report - OperationReport
|
|
serviceReceipts - ServiceReceiptConnection!
|
|
Arguments |
|
billingItems - OperationBillingItemConnection!
|
The billing positions (Abrechnungspositionen) of this operation. |
materials - OperationMaterialConnection!
|
The materials consumed on this operation. |
Arguments |
|
createdAt - DateTime!
|
|
Example
{
"id": "4",
"object": Object,
"instructions": "xyz789",
"services": [OperationService],
"requiredExecutors": 987,
"missingExecutors": 123,
"toDos": ["MISSING_QUANTITY"],
"executor": OperationExecutor,
"executors": OperationExecutorConnection,
"isExecuted": true,
"executionStartDate": "2007-12-03",
"executionStartTime": "10:15:30Z",
"executionEndDate": "2007-12-03",
"executionEndTime": "10:15:30Z",
"duration": 987,
"originalExecutionStartDate": "2007-12-03",
"originalExecutionStartTime": "10:15:30Z",
"originalExecutionEndDate": "2007-12-03",
"originalExecutionEndTime": "10:15:30Z",
"order": Order,
"orderShift": OrderShift,
"holiday": Holiday,
"report": OperationReport,
"serviceReceipts": ServiceReceiptConnection,
"billingItems": OperationBillingItemConnection,
"materials": OperationMaterialConnection,
"createdAt": "2007-12-03T10:15:30Z"
}
OperationBillingItem
Description
A billing position (Abrechnungsposition) on a single executed operation (Einsatz). Each item bills one service, journey or material of that operation. Its quantity is either entered manually or derived from a linked service receipt or the recorded times.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orderBillingItem - OrderBillingItem
|
The order billing item this position was generated from, if it originates from a recurring or per-operation order billing item. |
pendingInvoiceItem - PendingInvoiceItem
|
The pending invoice item (Ausstehender Posten) this position has been collected into once it is being billed. |
operation - Operation!
|
The executed operation this billing position belongs to. |
operationService - OperationService
|
The operation service this position bills, if it is tied to one. |
operationMaterial - OperationMaterial
|
The operation material this position bills, if it is tied to one. |
service - Service
|
The underlying catalog service this position bills. |
material - Material
|
The underlying catalog material this position bills. |
position - Int!
|
Sort position within the operation's billing positions (1-based). |
type - OperationBillingItemType!
|
|
priceType - OperationBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int!
|
Net unit price in cents. |
quantity - Float
|
The billed quantity. Null while it is still derived from a quantitySource and has not been resolved yet. |
quantitySource - OperationBillingItemQuantitySource
|
|
unit - String
|
Unit label shown on the invoice, e.g. Stk or h. |
hasPersonHourUnit - Boolean!
|
Whether the quantity is measured in person-hours. Required for quantities sourced from time records. |
taxRate - Float!
|
VAT rate in percent. |
status - OperationBillingItemStatus!
|
|
groupOperation - Boolean!
|
Whether this position is grouped with the other operations of its order on the resulting invoice. |
quantityInputAt - DateTime
|
When the quantity was last entered manually. Only set for INPUT quantities. |
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
Example
{
"id": 4,
"orderBillingItem": OrderBillingItem,
"pendingInvoiceItem": PendingInvoiceItem,
"operation": Operation,
"operationService": OperationService,
"operationMaterial": OperationMaterial,
"service": Service,
"material": Material,
"position": 123,
"type": "SERVICE",
"priceType": "FLAT_RATE",
"title": "abc123",
"description": "abc123",
"unitPrice": 987,
"quantity": 987.65,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": false,
"taxRate": 123.45,
"status": "OPEN",
"groupOperation": true,
"quantityInputAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
OperationBillingItemConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationBillingItemEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationBillingItemEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OperationBillingItemEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OperationBillingItem!
|
Example
{
"cursor": "abc123",
"node": OperationBillingItem
}
OperationBillingItemOrder
Fields
| Input Field | Description |
|---|---|
field - OperationBillingItemOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationBillingItemOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
The execution date of the position's operation. |
Example
"CREATED_AT"
OperationBillingItemPriceType
Values
| Enum Value | Description |
|---|---|
|
|
A fixed total price, independent of the quantity. |
|
|
A price per unit, multiplied by the quantity. |
Example
"FLAT_RATE"
OperationBillingItemQuantitySource
Description
Where the quantity comes from when it is not set as a fixed value.
Values
| Enum Value | Description |
|---|---|
|
|
Entered manually via inputOperationBillingItemQuantity. |
|
|
Taken from the linked service receipt. |
|
|
Taken from the operation's recorded working times. |
Example
"INPUT"
OperationBillingItemStatus
Description
Billing status, derived from the linked pending invoice item.
Values
| Enum Value | Description |
|---|---|
|
|
Not yet collected into a pending invoice item. |
|
|
Collected into an open pending invoice item, not billed yet. |
|
|
The pending invoice item has been billed. |
Example
"OPEN"
OperationBillingItemType
Description
What kind of position this is.
Values
| Enum Value | Description |
|---|---|
|
|
A performed service. |
|
|
A travel or journey surcharge. |
|
|
Consumed material. |
Example
"SERVICE"
OperationConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OperationEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - Operation!
|
Example
{
"cursor": "abc123",
"node": Operation
}
OperationExecutor
Description
An employee or subcontractor assigned to one operation.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
operation - Operation!
|
|
employee - Employee
|
|
subcontractor - Subcontractor
|
|
orderExecutor - OrderExecutor
|
|
timeRecord - TimeRecord
|
The executor's time record on this operation, if any. |
absence - Absence
|
The executor's absence overlapping this operation, if any. |
markedAsNoShowAt - DateTime
|
Set via markOperationExecutorAsNoShow when the executor did not show up. |
createdAt - DateTime!
|
Example
{
"id": 4,
"operation": Operation,
"employee": Employee,
"subcontractor": Subcontractor,
"orderExecutor": OrderExecutor,
"timeRecord": TimeRecord,
"absence": Absence,
"markedAsNoShowAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
OperationExecutorConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationExecutorEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationExecutorEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OperationExecutorEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OperationExecutor!
|
Example
{
"cursor": "xyz789",
"node": OperationExecutor
}
OperationExecutorOrder
Fields
| Input Field | Description |
|---|---|
field - OperationExecutorOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationExecutorOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREATED_AT"
OperationMaterial
Description
A material consumed on an executed operation (Einsatzmaterial). It links the operation to a catalog material and, where applicable, to the order material it stems from and the service receipt item that recorded the consumption.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
operation - Operation!
|
The executed operation this material belongs to. |
material - Material!
|
The underlying catalog material. |
orderMaterial - OrderMaterial
|
The order material this consumption stems from, if any. |
serviceReceiptItem - ServiceReceiptItem
|
The service receipt item that recorded this consumption, if any. |
position - Int!
|
Sort position within the operation's materials (1-based). |
consumptionQuantity - Float
|
Quantity of the material consumed on the operation. |
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
|
billingItems - OperationBillingItemConnection
|
The billing positions that bill this operation material. |
Arguments |
|
Example
{
"id": "4",
"operation": Operation,
"material": Material,
"orderMaterial": OrderMaterial,
"serviceReceiptItem": ServiceReceiptItem,
"position": 987,
"consumptionQuantity": 123.45,
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"billingItems": OperationBillingItemConnection
}
OperationMaterialConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationMaterialEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationMaterialEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OperationMaterialEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OperationMaterial!
|
Example
{
"cursor": "xyz789",
"node": OperationMaterial
}
OperationMaterialOrder
Fields
| Input Field | Description |
|---|---|
field - OperationMaterialOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationMaterialOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREATED_AT"
OperationOrder
Fields
| Input Field | Description |
|---|---|
field - OperationOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OperationReport
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
operation - Operation!
|
|
description - String
|
|
files - [OperationReportFile]
|
|
createdAt - DateTime!
|
Example
{
"id": 4,
"operation": Operation,
"description": "abc123",
"files": [OperationReportFile],
"createdAt": "2007-12-03T10:15:30Z"
}
OperationReportConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationReportEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationReportEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OperationReportEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OperationReport!
|
Example
{
"cursor": "xyz789",
"node": OperationReport
}
OperationReportFile
Example
{
"id": "4",
"fileName": "xyz789",
"mimeType": "abc123",
"size": 123,
"url": "http://www.test.com/",
"thumbnailUrl": "http://www.test.com/",
"createdAt": "2007-12-03T10:15:30Z"
}
OperationReportOrder
Fields
| Input Field | Description |
|---|---|
field - OperationReportOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationReportOrderField
Values
| Enum Value | Description |
|---|---|
|
|
Example
"CREATED_AT"
OperationService
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
operation - Operation!
|
|
service - Service!
|
|
orderService - OrderService
|
|
position - Int!
|
|
title - String!
|
|
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
|
tasks - OperationServiceTaskConnection
|
|
Example
{
"id": 4,
"operation": Operation,
"service": Service,
"orderService": OrderService,
"position": 123,
"title": "xyz789",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"tasks": OperationServiceTaskConnection
}
OperationServiceTask
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
operationService - OperationService!
|
|
serviceArea - ServiceArea
|
|
orderServiceTask - OrderServiceTask
|
|
position - Int!
|
|
title - String!
|
|
quantity - Float
|
Quantity/area covered by this task (e.g. square meters), paired with unit. |
unit - String
|
|
completedAt - DateTime
|
Set when the task was completed on this operation. |
createdAt - DateTime!
|
|
rooms - OperationServiceTaskRoomConnection
|
|
Arguments |
|
Example
{
"id": "4",
"operationService": OperationService,
"serviceArea": ServiceArea,
"orderServiceTask": OrderServiceTask,
"position": 123,
"title": "abc123",
"quantity": 987.65,
"unit": "xyz789",
"completedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"rooms": OperationServiceTaskRoomConnection
}
OperationServiceTaskConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationServiceTaskEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationServiceTaskEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OperationServiceTaskEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OperationServiceTask!
|
Example
{
"cursor": "abc123",
"node": OperationServiceTask
}
OperationServiceTaskOrder
Fields
| Input Field | Description |
|---|---|
field - OperationServiceTaskOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationServiceTaskOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OperationServiceTaskRoom
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
operationServiceTask - OperationServiceTask!
|
|
objectRoom - ObjectRoom!
|
|
completedAt - DateTime
|
Set when the room was completed on this operation. |
createdAt - DateTime!
|
Example
{
"id": "4",
"operationServiceTask": OperationServiceTask,
"objectRoom": ObjectRoom,
"completedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
OperationServiceTaskRoomConnection
Fields
| Field Name | Description |
|---|---|
edges - [OperationServiceTaskRoomEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OperationServiceTaskRoomEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OperationServiceTaskRoomEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OperationServiceTaskRoom!
|
Example
{
"cursor": "xyz789",
"node": OperationServiceTaskRoom
}
OperationServiceTaskRoomOrder
Fields
| Input Field | Description |
|---|---|
field - OperationServiceTaskRoomOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OperationServiceTaskRoomOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREATED_AT"
OperationToDo
Description
Open follow-ups of an operation, computed once its execution date is reached and it is not skipped due to a holiday.
Values
| Enum Value | Description |
|---|---|
|
|
A billing item of the operation still has no quantity. |
|
|
An assigned employee (not absent, not no-show) has no time record. |
|
|
A time record of the operation is not confirmed yet. |
Example
"MISSING_QUANTITY"
Order
Description
A service contract (Auftrag) at one object: OrderServices define what to do, OrderShifts define the recurring schedule (RRULE), OrderExecutors define who works. Operations are generated from the shifts asynchronously.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
number - Int!
|
Sequential order number. |
object - Object!
|
|
estimate - Estimate
|
|
instructions - String
|
|
status - OrderStatus!
|
|
requiredExecutors - Int!
|
Minimum number of executors required per operation |
missingExecutors - Int!
|
requiredExecutors minus active executors as of today (or the order's start date if that is in the future); cancelled executors do not count. |
executionOnHolidays - Boolean!
|
Should operations on holidays be executed? |
startDate - Date
|
|
endDate - Date
|
|
latestOperation - Operation
|
Operation of this Order with latest executionStart date |
services - [OrderService!]!
|
|
shifts - OrderShiftConnection
|
|
executors - OrderExecutorConnection
|
|
operations - OperationConnection!
|
|
Arguments
|
|
tickets - TicketConnection!
|
|
Arguments
|
|
materials - OrderMaterialConnection!
|
|
billingItems - OrderBillingItemConnection
|
|
pendingInvoiceItems - PendingInvoiceItemConnection!
|
|
cancelledAt - DateTime
|
|
createdAt - DateTime!
|
|
Example
{
"id": "4",
"number": 987,
"object": Object,
"estimate": Estimate,
"instructions": "abc123",
"status": "ACTIVE",
"requiredExecutors": 987,
"missingExecutors": 987,
"executionOnHolidays": false,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"latestOperation": Operation,
"services": [OrderService],
"shifts": OrderShiftConnection,
"executors": OrderExecutorConnection,
"operations": OperationConnection,
"tickets": TicketConnection,
"materials": OrderMaterialConnection,
"billingItems": OrderBillingItemConnection,
"pendingInvoiceItems": PendingInvoiceItemConnection,
"cancelledAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
OrderBillingItem
Description
A billing rule (Abrechnungsposition) on an order or object that generates pending invoice items. billingModel controls how: ONE_TIME (billed once), RECURRING (every frequency x interval), PER_OPERATION (per executed operation).
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
object - Object
|
|
order - Order
|
|
orderService - OrderService
|
|
orderMaterial - OrderMaterial
|
|
position - Int!
|
|
type - OrderBillingItemType!
|
|
billingModel - OrderBillingModel!
|
|
priceType - OrderBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int!
|
Net unit price in cents. |
quantity - Float
|
|
quantitySource - OrderBillingItemQuantitySource
|
|
unit - String
|
|
hasPersonHourUnit - Boolean!
|
|
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
startDate - Date!
|
|
endDate - Date
|
|
status - OrderBillingItemStatus!
|
|
listExecutionDates - Boolean
|
|
groupOperations - Boolean
|
|
frequency - Int
|
Billing cycle length together with interval (e.g. frequency 3 + interval MONTH = quarterly). Only for RECURRING. |
interval - OrderBillingItemInterval
|
|
billingPeriodsPerInvoice - Int
|
How many billing periods (frequency x interval) are combined into one invoice. Only for RECURRING. |
currentPeriodStart - Date
|
Start date of the most recently invoiced period. Only for RECURRING. |
currentPeriodEnd - Date
|
End date of the most recently invoiced period. Only for RECURRING. |
nextInvoicingDate - Date
|
Date the next period is invoiced from; the billing run generates its pending item once this date is reached. null once nothing is left to bill (e.g. after endDate). Only for RECURRING. |
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
|
pendingInvoiceItems - PendingInvoiceItemConnection!
|
|
Example
{
"id": "4",
"object": Object,
"order": Order,
"orderService": OrderService,
"orderMaterial": OrderMaterial,
"position": 123,
"type": "SERVICE",
"billingModel": "ONE_TIME",
"priceType": "FLAT_RATE",
"title": "abc123",
"description": "xyz789",
"unitPrice": 987,
"quantity": 987.65,
"quantitySource": "INPUT",
"unit": "abc123",
"hasPersonHourUnit": false,
"taxRate": 123.45,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"status": "ACTIVE",
"listExecutionDates": true,
"groupOperations": true,
"frequency": 987,
"interval": "WEEK",
"billingPeriodsPerInvoice": 987,
"currentPeriodStart": "2007-12-03",
"currentPeriodEnd": "2007-12-03",
"nextInvoicingDate": "2007-12-03",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"pendingInvoiceItems": PendingInvoiceItemConnection
}
OrderBillingItemConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderBillingItemEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderBillingItemEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OrderBillingItemEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderBillingItem!
|
Example
{
"cursor": "abc123",
"node": OrderBillingItem
}
OrderBillingItemInterval
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"WEEK"
OrderBillingItemOrder
Fields
| Input Field | Description |
|---|---|
field - OrderBillingItemOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderBillingItemOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OrderBillingItemPriceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"FLAT_RATE"
OrderBillingItemQuantitySource
Description
Where PER_OPERATION quantities come from when not fixed.
Values
| Enum Value | Description |
|---|---|
|
|
Entered manually per operation (inputOperationBillingItemQuantity). |
|
|
Taken from the linked service receipt. |
|
|
Taken from the recorded working times. |
Example
"INPUT"
OrderBillingItemStatus
Description
Two lifecycles depending on billingModel: ONE_TIME items move OPEN -> BILLING -> BILLED through the pending-item workflow; RECURRING and PER_OPERATION items are ACTIVE until their endDate passes (ENDED).
Values
| Enum Value | Description |
|---|---|
|
|
RECURRING/PER_OPERATION: endDate not reached. |
|
|
RECURRING/PER_OPERATION: endDate passed. |
|
|
ONE_TIME: no pending item generated yet. |
|
|
ONE_TIME: pending item exists, not billed yet. |
|
|
ONE_TIME: the pending item has been billed. |
Example
"ACTIVE"
OrderBillingItemType
Values
| Enum Value | Description |
|---|---|
|
|
A performed service. |
|
|
A travel or journey surcharge. |
|
|
Consumed material. |
Example
"SERVICE"
OrderBillingModel
Values
| Enum Value | Description |
|---|---|
|
|
Billed once over the item's period. |
|
|
Repeats every frequency x interval. |
|
|
Billed per executed operation; quantity from quantitySource. |
Example
"ONE_TIME"
OrderConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderDirection
Values
| Enum Value | Description |
|---|---|
|
|
Specifies an ascending order |
|
|
Specifies a descending order |
Example
"ASC"
OrderEdge
OrderExecutor
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
order - Order!
|
|
employee - Employee
|
|
subcontractor - Subcontractor
|
|
startDate - Date!
|
The executor is assigned from this date on. |
cancelDate - Date
|
Set via cancelOrderExecutor; the executor is inactive from this date. |
isAddedToOrderShift - Boolean!
|
|
Arguments
|
|
createdAt - DateTime!
|
|
orderShifts - OrderShiftConnection
|
|
billingItems - OrderExecutorBillingItemConnection
|
|
Example
{
"id": "4",
"order": Order,
"employee": Employee,
"subcontractor": Subcontractor,
"startDate": "2007-12-03",
"cancelDate": "2007-12-03",
"isAddedToOrderShift": true,
"createdAt": "2007-12-03T10:15:30Z",
"orderShifts": OrderShiftConnection,
"billingItems": OrderExecutorBillingItemConnection
}
OrderExecutorBillingItem
Description
The credit-note counterpart of an OrderBillingItem: what a subcontractor order executor is credited. Generates pending credit-note items. Price is either unitPrice (cents) or pricePercentage of the linked orderBillingItem.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orderExecutor - OrderExecutor!
|
|
orderBillingItem - OrderBillingItem
|
|
orderService - OrderService
|
|
orderMaterial - OrderMaterial
|
|
position - Int!
|
|
type - OrderExecutorBillingItemType!
|
|
billingModel - OrderExecutorBillingModel!
|
|
priceType - OrderExecutorBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int
|
Net unit price in cents. |
pricePercentage - Int
|
Percent of the linked orderBillingItem's unitPrice (19 = 19 %). Mutually exclusive with unitPrice; requires orderBillingItem. |
quantity - Float
|
|
quantitySource - OrderExecutorBillingItemQuantitySource
|
|
unit - String
|
|
hasPersonHourUnit - Boolean!
|
|
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
startDate - Date!
|
|
endDate - Date
|
|
status - OrderExecutorBillingItemStatus!
|
|
listExecutionDates - Boolean
|
|
groupOperations - Boolean
|
|
frequency - Int
|
Billing cycle length together with interval (e.g. frequency 3 + interval MONTH = quarterly). Only for RECURRING. |
interval - OrderExecutorBillingItemInterval
|
|
currentPeriodStart - Date
|
Start date of the most recently credited period. Only for RECURRING. |
currentPeriodEnd - Date
|
End date of the most recently credited period. Only for RECURRING. |
nextInvoicingDate - Date
|
Date the next period is credited from; the billing run generates its pending credit-note item once this date is reached. null once nothing is left to credit (e.g. after endDate). Only for RECURRING. |
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
Example
{
"id": 4,
"orderExecutor": OrderExecutor,
"orderBillingItem": OrderBillingItem,
"orderService": OrderService,
"orderMaterial": OrderMaterial,
"position": 987,
"type": "SERVICE",
"billingModel": "ONE_TIME",
"priceType": "FLAT_RATE",
"title": "abc123",
"description": "xyz789",
"unitPrice": 987,
"pricePercentage": 123,
"quantity": 123.45,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": false,
"taxRate": 123.45,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"status": "ACTIVE",
"listExecutionDates": true,
"groupOperations": true,
"frequency": 987,
"interval": "WEEK",
"currentPeriodStart": "2007-12-03",
"currentPeriodEnd": "2007-12-03",
"nextInvoicingDate": "2007-12-03",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
OrderExecutorBillingItemConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderExecutorBillingItemEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderExecutorBillingItemEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OrderExecutorBillingItemEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderExecutorBillingItem!
|
Example
{
"cursor": "abc123",
"node": OrderExecutorBillingItem
}
OrderExecutorBillingItemInterval
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"WEEK"
OrderExecutorBillingItemOrder
Fields
| Input Field | Description |
|---|---|
field - OrderExecutorBillingItemOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderExecutorBillingItemOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OrderExecutorBillingItemPriceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"FLAT_RATE"
OrderExecutorBillingItemQuantitySource
Description
Where PER_OPERATION quantities come from when not fixed.
Values
| Enum Value | Description |
|---|---|
|
|
Entered manually per operation (inputOperationBillingItemQuantity). |
|
|
Taken from the linked service receipt. |
Example
"INPUT"
OrderExecutorBillingItemStatus
Description
Two lifecycles depending on billingModel: ONE_TIME items move OPEN -> BILLING -> BILLED through the pending-item workflow; RECURRING and PER_OPERATION items are ACTIVE until their endDate passes (ENDED).
Values
| Enum Value | Description |
|---|---|
|
|
RECURRING/PER_OPERATION: endDate not reached. |
|
|
RECURRING/PER_OPERATION: endDate passed. |
|
|
ONE_TIME: no pending item generated yet. |
|
|
ONE_TIME: pending item exists, not billed yet. |
|
|
ONE_TIME: the pending item has been billed. |
Example
"ACTIVE"
OrderExecutorBillingItemType
Values
| Enum Value | Description |
|---|---|
|
|
A performed service. |
|
|
A travel or journey surcharge. |
|
|
Consumed material. |
Example
"SERVICE"
OrderExecutorBillingModel
Values
| Enum Value | Description |
|---|---|
|
|
Billed once over the item's period. |
|
|
Repeats every frequency x interval. |
|
|
Billed per executed operation; quantity from quantitySource. |
Example
"ONE_TIME"
OrderExecutorConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderExecutorEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderExecutorEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderExecutorEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderExecutor!
|
Example
{
"cursor": "abc123",
"node": OrderExecutor
}
OrderExecutorInput
OrderMaterial
Description
A material planned on an order and its services.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
order - Order!
|
|
orderServices - [OrderService!]!
|
|
material - Material!
|
|
position - Int!
|
|
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
|
billingItems - OrderBillingItemConnection
|
|
Arguments
|
|
executorBillingItems - OrderExecutorBillingItemConnection
|
|
Arguments
|
|
Example
{
"id": "4",
"order": Order,
"orderServices": [OrderService],
"material": Material,
"position": 987,
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"billingItems": OrderBillingItemConnection,
"executorBillingItems": OrderExecutorBillingItemConnection
}
OrderMaterialConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderMaterialEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderMaterialEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderMaterialEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderMaterial!
|
Example
{
"cursor": "abc123",
"node": OrderMaterial
}
OrderMaterialInput
OrderMaterialOrder
Fields
| Input Field | Description |
|---|---|
field - OrderMaterialOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderMaterialOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREATED_AT"
OrderOrder
Fields
| Input Field | Description |
|---|---|
field - OrderOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OrderService
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
order - Order!
|
|
service - Service!
|
|
position - Int!
|
|
title - String!
|
|
unit - String
|
|
hasPersonHourUnit - Boolean!
|
Quantity is measured in person-hours. |
executionOnDemand - Boolean!
|
|
demandRrule - String
|
|
nextDemandDate - Date
|
Next date an on-demand execution is due (driven by demandRrule). |
lastExecutionDate - Date
|
Execution date of the service's latest operation. |
updatedAt - DateTime!
|
|
createdAt - DateTime!
|
|
tasks - OrderServiceTaskConnection
|
|
billingItems - OrderBillingItemConnection
|
|
materials - OrderMaterialConnection
|
|
Example
{
"id": 4,
"order": Order,
"service": Service,
"position": 123,
"title": "xyz789",
"unit": "xyz789",
"hasPersonHourUnit": false,
"executionOnDemand": false,
"demandRrule": "abc123",
"nextDemandDate": "2007-12-03",
"lastExecutionDate": "2007-12-03",
"updatedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"tasks": OrderServiceTaskConnection,
"billingItems": OrderBillingItemConnection,
"materials": OrderMaterialConnection
}
OrderServiceConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderServiceEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderServiceEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
OrderServiceEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderService!
|
Example
{
"cursor": "xyz789",
"node": OrderService
}
OrderServiceInput
OrderServiceOrder
Fields
| Input Field | Description |
|---|---|
field - OrderServiceOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderServiceOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OrderServiceTask
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orderService - OrderService!
|
|
serviceArea - ServiceArea
|
|
position - Int!
|
|
title - String!
|
|
rrule - String
|
Recurrence rule (RFC 5545 RRULE) for how often this task is due, e.g. "FREQ=MONTHLY;BYDAY=2WE" (every 2nd Wednesday). Monthly/quarterly rules must be weekday-based (BYDAY), not BYMONTHDAY, so the task always falls on the same weekday. null means the task applies on every operation of its shift. A per-shift override can be set via OrderShiftTask.rrule. |
quantity - Float
|
Quantity/area covered by this task (e.g. square meters). Paired with unit. |
unit - String
|
Free-form unit for quantity, e.g. "m²". |
startDate - Date
|
Anchor / first execution of the recurrence. null = anchored at the shift's start date (legacy behavior). |
createdAt - DateTime!
|
|
rooms - OrderServiceTaskRoomConnection
|
|
Arguments |
|
Example
{
"id": "4",
"orderService": OrderService,
"serviceArea": ServiceArea,
"position": 987,
"title": "abc123",
"rrule": "xyz789",
"quantity": 123.45,
"unit": "abc123",
"startDate": "2007-12-03",
"createdAt": "2007-12-03T10:15:30Z",
"rooms": OrderServiceTaskRoomConnection
}
OrderServiceTaskConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderServiceTaskEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderServiceTaskEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderServiceTaskEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderServiceTask!
|
Example
{
"cursor": "abc123",
"node": OrderServiceTask
}
OrderServiceTaskOrder
Fields
| Input Field | Description |
|---|---|
field - OrderServiceTaskOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderServiceTaskOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
OrderServiceTaskRoom
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orderServiceTask - OrderServiceTask!
|
|
objectRoom - ObjectRoom!
|
|
createdAt - DateTime!
|
Example
{
"id": 4,
"orderServiceTask": OrderServiceTask,
"objectRoom": ObjectRoom,
"createdAt": "2007-12-03T10:15:30Z"
}
OrderServiceTaskRoomConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderServiceTaskRoomEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderServiceTaskRoomEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderServiceTaskRoomEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderServiceTaskRoom!
|
Example
{
"cursor": "abc123",
"node": OrderServiceTaskRoom
}
OrderServiceTaskRoomOrder
Fields
| Input Field | Description |
|---|---|
field - OrderServiceTaskRoomOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderServiceTaskRoomOrderField
Values
| Enum Value | Description |
|---|---|
|
|
Example
"CREATED_AT"
OrderShift
Description
A recurring schedule of an order that generates its operations.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
order - Order!
|
|
startDate - Date!
|
|
endDate - Date
|
|
rrule - String!
|
Recurrence rule (RFC 5545 RRULE) generating the shift's operations, e.g. FREQ=WEEKLY;BYDAY=MO,TH. |
timeFrom - Time
|
|
timeTo - Time
|
|
acrossMidnight - Boolean!
|
Operations end on the day after their start date. |
duration - Int
|
Planned duration per operation in seconds (alternative to timeFrom/timeTo). |
requiredExecutors - Int!
|
Minimum number of executors required per operation |
deviatingInstructions - String
|
|
createServiceReceipt - Boolean!
|
|
days - [OrderShiftDay!]!
|
Per-weekday overrides of time/duration/requiredExecutors. At most one entry per weekday (ISO 1=Mon .. 7=Sun). Operations on a weekday with an override use these values. |
tasks - [OrderShiftTask!]!
|
Per-shift task selection with an optional per-shift recurrence override. An empty list means all tasks of the shift's OrderServices apply (backward compatible). |
orderServices - [OrderService!]!
|
|
executors - OrderShiftExecutorConnection
|
|
endedAt - DateTime
|
|
createdAt - DateTime!
|
|
Example
{
"id": "4",
"order": Order,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"rrule": "abc123",
"timeFrom": "10:15:30Z",
"timeTo": "10:15:30Z",
"acrossMidnight": false,
"duration": 987,
"requiredExecutors": 123,
"deviatingInstructions": "xyz789",
"createServiceReceipt": true,
"days": [OrderShiftDay],
"tasks": [OrderShiftTask],
"orderServices": [OrderService],
"executors": OrderShiftExecutorConnection,
"endedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
OrderShiftConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderShiftEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderShiftEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderShiftDay
Example
{
"id": "4",
"weekday": 987,
"timeFrom": "10:15:30Z",
"timeTo": "10:15:30Z",
"duration": 123,
"requiredExecutors": 987
}
OrderShiftDayInput
Example
{
"weekday": 123,
"timeFrom": "10:15:30Z",
"timeTo": "10:15:30Z",
"duration": 987,
"requiredExecutors": 987
}
OrderShiftEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderShift!
|
Example
{
"cursor": "xyz789",
"node": OrderShift
}
OrderShiftExecutor
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orderShift - OrderShift!
|
|
orderExecutor - OrderExecutor!
|
|
startDate - Date!
|
|
createdAt - DateTime!
|
Example
{
"id": "4",
"orderShift": OrderShift,
"orderExecutor": OrderExecutor,
"startDate": "2007-12-03",
"createdAt": "2007-12-03T10:15:30Z"
}
OrderShiftExecutorConnection
Fields
| Field Name | Description |
|---|---|
edges - [OrderShiftExecutorEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [OrderShiftExecutorEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
OrderShiftExecutorEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - OrderShiftExecutor!
|
Example
{
"cursor": "xyz789",
"node": OrderShiftExecutor
}
OrderShiftOrder
Fields
| Input Field | Description |
|---|---|
field - OrderShiftOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
OrderShiftOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"CREATED_AT"
OrderShiftTask
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
orderServiceTask - OrderServiceTask!
|
|
rrule - String
|
Per-shift recurrence override (RFC 5545 RRULE). null means the task's own OrderServiceTask.rrule applies. |
Example
{
"id": "4",
"orderServiceTask": OrderServiceTask,
"rrule": "xyz789"
}
OrderShiftTaskInput
OrderStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Ended via endOrder; no further operations are generated. |
Example
"ACTIVE"
PageInfo
Fields
| Field Name | Description |
|---|---|
endCursor - String
|
When paginating forwards, the cursor to continue. |
hasNextPage - Boolean!
|
When paginating forwards, are there more items? |
hasPreviousPage - Boolean!
|
When paginating backwards, are there more items? |
startCursor - String
|
When paginating backwards, the cursor to continue. |
Example
{
"endCursor": "abc123",
"hasNextPage": false,
"hasPreviousPage": true,
"startCursor": "xyz789"
}
Payment
Description
A payment (Zahlung) recorded on an invoice or a receipt.
Example
{
"id": "4",
"amount": 123,
"paymentDate": "2007-12-03",
"invoice": Invoice,
"receipt": Receipt,
"createdAt": "2007-12-03T10:15:30Z"
}
PendingCreditNoteItem
Description
A pending credit-note item (Ausstehender Gutschrift-Posten): an amount to be credited to a subcontractor, generated from order executor billing items. Read-only here — credit notes are created from these inside Mendato, not via this API.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
subcontractor - Subcontractor!
|
|
object - Object
|
|
title - String!
|
|
description - String
|
|
quantity - Float
|
|
unitPrice - Int!
|
Net unit price in cents. |
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
unit - String
|
|
isCreatedManually - Boolean!
|
|
executionStart - Date!
|
|
executionEnd - Date!
|
|
orderExecutor - OrderExecutor
|
|
orderExecutorBillingItem - OrderExecutorBillingItem
|
|
pendingInvoiceItem - PendingInvoiceItem
|
|
service - Service
|
|
material - Material
|
|
billedAt - DateTime
|
|
createdAt - DateTime!
|
Example
{
"id": "4",
"subcontractor": Subcontractor,
"object": Object,
"title": "abc123",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 987,
"taxRate": 123.45,
"unit": "xyz789",
"isCreatedManually": true,
"executionStart": "2007-12-03",
"executionEnd": "2007-12-03",
"orderExecutor": OrderExecutor,
"orderExecutorBillingItem": OrderExecutorBillingItem,
"pendingInvoiceItem": PendingInvoiceItem,
"service": Service,
"material": Material,
"billedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
PendingInvoiceItem
Description
A pending invoice item (Ausstehender Posten): billable work waiting to be invoiced. Created automatically from operation/order billing items once their quantity is known, or manually via createPendingInvoiceItem. Bill pending items with createInvoiceFromPendingInvoiceItems.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
customer - Customer!
|
|
object - Object
|
|
status - PendingInvoiceItemStatus!
|
|
title - String!
|
|
description - String
|
|
quantity - Float
|
|
unitPrice - Int!
|
Net unit price in cents. |
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
unit - String
|
|
isCreatedManually - Boolean!
|
True when created via createPendingInvoiceItem instead of from billing items. |
isGroup - Boolean!
|
True when this item groups the billing items of an order's operations into one position (order billing item setting groupOperations). |
executionStart - Date!
|
Start of the execution period this item bills. |
executionEnd - Date!
|
End of the execution period this item bills. |
billingPeriodInterval - BillingPeriodInterval
|
Set on manually created items when an interval is provided, and on generated items only when they bundle more than one full billing period (whole months/quarters). |
service - Service
|
|
material - Material
|
|
order - Order
|
|
billedAt - DateTime
|
Set when the item was billed into an invoice. |
createdAt - DateTime!
|
Example
{
"id": "4",
"customer": Customer,
"object": Object,
"status": "PENDING",
"title": "xyz789",
"description": "xyz789",
"quantity": 123.45,
"unitPrice": 987,
"taxRate": 987.65,
"unit": "abc123",
"isCreatedManually": true,
"isGroup": true,
"executionStart": "2007-12-03",
"executionEnd": "2007-12-03",
"billingPeriodInterval": "MONTH",
"service": Service,
"material": Material,
"order": Order,
"billedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
PendingInvoiceItemConnection
Fields
| Field Name | Description |
|---|---|
edges - [PendingInvoiceItemEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [PendingInvoiceItemEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
PendingInvoiceItemEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - PendingInvoiceItem!
|
Example
{
"cursor": "xyz789",
"node": PendingInvoiceItem
}
PendingInvoiceItemOrder
Fields
| Input Field | Description |
|---|---|
field - PendingInvoiceItemOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
PendingInvoiceItemOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
PendingInvoiceItemStatus
Values
| Enum Value | Description |
|---|---|
|
|
Waiting to be billed. |
|
|
Included in an invoice; billedAt is set. |
Example
"PENDING"
Receipt
Description
An incoming document (Beleg): an expense such as a supplier invoice, or an incoming credit. Read-only.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
company - Company
|
|
customer - Customer
|
|
subcontractor - Subcontractor
|
|
type - ReceiptType!
|
|
status - ReceiptStatus!
|
|
number - String
|
|
elements - [ReceiptElement]
|
|
totalAmount - Int!
|
Gross total in cents. |
outstandingAmount - Int!
|
Open amount in cents. |
dueDate - Date!
|
|
receiptDate - Date!
|
|
files - [ReceiptFile]
|
|
paidAt - Date
|
|
currency - CurrencyCode!
|
|
createdAt - DateTime
|
|
payments - [Payment]
|
Example
{
"id": "4",
"company": Company,
"customer": Customer,
"subcontractor": Subcontractor,
"type": "EXPENSE",
"status": "UNPAID",
"number": "xyz789",
"elements": [ReceiptElement],
"totalAmount": 987,
"outstandingAmount": 123,
"dueDate": "2007-12-03",
"receiptDate": "2007-12-03",
"files": [ReceiptFile],
"paidAt": "2007-12-03",
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"payments": [Payment]
}
ReceiptConnection
Fields
| Field Name | Description |
|---|---|
edges - [ReceiptEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [ReceiptEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
ReceiptEdge
ReceiptElement
Example
{
"id": 4,
"netAmount": 987,
"taxAmount": 123,
"taxRate": 123.45,
"totalAmount": 987,
"createdAt": "2007-12-03T10:15:30Z"
}
ReceiptFile
ReceiptOrder
Fields
| Input Field | Description |
|---|---|
field - ReceiptOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
ReceiptOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
ReceiptStatus
Description
Set automatically from payments (createPayment with receiptId).
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Payments cover the amount; paidAt is set. |
Example
"UNPAID"
ReceiptType
Values
| Enum Value | Description |
|---|---|
|
|
Money the company owes or paid out (e.g. supplier invoice). |
|
|
Incoming credit in the company's favor. |
Example
"EXPENSE"
RejectTicketInput
Fields
| Input Field | Description |
|---|---|
ticketId - ID!
|
Example
{"ticketId": "4"}
RejectTicketPayload
Fields
| Field Name | Description |
|---|---|
ticket - Ticket
|
Example
{"ticket": Ticket}
ReplaceEmployeeOnOperationsInput
ReplaceEmployeeOnOperationsPayload
Fields
| Field Name | Description |
|---|---|
operationExecutors - [OperationExecutor!]
|
Example
{"operationExecutors": [OperationExecutor]}
ReplaceEmployeeOnOrderShiftUntilInput
Fields
| Input Field | Description |
|---|---|
operationId - ID!
|
|
oldEmployeeId - ID
|
Id of the employee to be replaced. If omitted, the new employee is only added (no one is removed) across the operations in range. |
newEmployeeId - ID!
|
Id of the employee who is added / replaces the old employee |
changeForOrderShiftUntil - Date!
|
The new employee is added / replaces the old one on every operation of the operation's OrderShift from the operation's execution date up to and including this date (max. 50 operations). |
Example
{
"operationId": "4",
"oldEmployeeId": "4",
"newEmployeeId": 4,
"changeForOrderShiftUntil": "2007-12-03"
}
ReplaceEmployeeOnOrderShiftUntilPayload
Fields
| Field Name | Description |
|---|---|
operationExecutors - [OperationExecutor!]
|
Example
{"operationExecutors": [OperationExecutor]}
ReplaceSubcontractorOnOperationInput
ReplaceSubcontractorOnOperationPayload
Fields
| Field Name | Description |
|---|---|
operationExecutor - OperationExecutor
|
Example
{"operationExecutor": OperationExecutor}
ReplaceSubcontractorOnOrderShiftUntilInput
Fields
| Input Field | Description |
|---|---|
operationId - ID!
|
|
oldSubcontractorId - ID
|
Id of the subcontractor to be replaced. If omitted, the new subcontractor is only added (no one is removed) across the operations in range. |
newSubcontractorId - ID!
|
Id of the subcontractor who is added / replaces the old subcontractor |
changeForOrderShiftUntil - Date!
|
The new subcontractor is added / replaces the old one on every operation of the operation's OrderShift from the operation's execution date up to and including this date (max. 50 operations). |
Example
{
"operationId": "4",
"oldSubcontractorId": 4,
"newSubcontractorId": "4",
"changeForOrderShiftUntil": "2007-12-03"
}
ReplaceSubcontractorOnOrderShiftUntilPayload
Fields
| Field Name | Description |
|---|---|
operationExecutors - [OperationExecutor!]
|
Example
{"operationExecutors": [OperationExecutor]}
ResumeOrderShiftInput
ResumeOrderShiftPayload
Fields
| Field Name | Description |
|---|---|
orderShift - OrderShift
|
Example
{"orderShift": OrderShift}
Service
Description
A service (Leistung) from the company's catalog: default title, price and unit used on orders, estimates and invoices.
Example
{
"id": 4,
"title": "xyz789",
"description": "abc123",
"unitPrice": 123,
"taxRate": 123.45,
"unit": "xyz789",
"revenueAccount": 123,
"areas": [ServiceArea],
"createdAt": "2007-12-03T10:15:30Z"
}
ServiceArea
ServiceConnection
Fields
| Field Name | Description |
|---|---|
edges - [ServiceEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [ServiceEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
ServiceEdge
ServiceOrder
Fields
| Input Field | Description |
|---|---|
field - ServiceOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
ServiceOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
ServiceReceipt
Description
A service receipt (Leistungsbeleg/Leistungsnachweis) documenting performed work, optionally signed by the customer via its web view. Read-only in this API — receipts are created and completed from operations inside Mendato.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
customer - Customer!
|
|
customerContactPerson - CustomerContactPerson
|
|
object - Object
|
|
status - ServiceReceiptStatus!
|
|
number - Int!
|
|
webUrl - URL!
|
Customer-facing web view of the receipt (also used for signing). |
notes - String
|
|
signatureCity - String
|
|
signatureDate - Date
|
|
signatureImageUrl - URL
|
Image of the customer's signature, when signed. |
reviewStatus - ServiceReceiptReviewStatus
|
Internal review track: PENDING while a review is open, COMPLETED once reviewed. |
serviceReceiptPdf - URL
|
|
completedAt - DateTime
|
|
signedAt - DateTime
|
|
reviewedAt - DateTime
|
|
language - LanguageTag!
|
|
currency - CurrencyCode!
|
|
createdAt - DateTime!
|
|
items - ServiceReceiptItemConnection!
|
|
Example
{
"id": 4,
"customer": Customer,
"customerContactPerson": CustomerContactPerson,
"object": Object,
"status": "DRAFT",
"number": 987,
"webUrl": "http://www.test.com/",
"notes": "xyz789",
"signatureCity": "abc123",
"signatureDate": "2007-12-03",
"signatureImageUrl": "http://www.test.com/",
"reviewStatus": "PENDING",
"serviceReceiptPdf": "http://www.test.com/",
"completedAt": "2007-12-03T10:15:30Z",
"signedAt": "2007-12-03T10:15:30Z",
"reviewedAt": "2007-12-03T10:15:30Z",
"language": LanguageTag,
"currency": CurrencyCode,
"createdAt": "2007-12-03T10:15:30Z",
"items": ServiceReceiptItemConnection
}
ServiceReceiptConnection
Fields
| Field Name | Description |
|---|---|
edges - [ServiceReceiptEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [ServiceReceiptEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
ServiceReceiptEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - ServiceReceipt!
|
Example
{
"cursor": "abc123",
"node": ServiceReceipt
}
ServiceReceiptItem
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
serviceReceipt - ServiceReceipt!
|
|
type - ServiceReceiptItemType!
|
|
title - String!
|
|
description - String
|
|
quantity - Float
|
|
quantityInputRequired - Boolean!
|
The quantity still has to be entered when executing the operation. |
hideQuantity - Boolean!
|
|
unit - String
|
|
hasPersonHourUnit - Boolean!
|
Quantity is measured in person-hours. |
hideDuration - Boolean!
|
|
executionStartDate - Date
|
|
executionStartTime - Time
|
|
executionEndDate - Date
|
|
executionEndTime - Time
|
|
service - Service
|
The service this item is based on. |
object - Object
|
|
createdAt - DateTime!
|
Example
{
"id": "4",
"serviceReceipt": ServiceReceipt,
"type": "SERVICE",
"title": "abc123",
"description": "xyz789",
"quantity": 123.45,
"quantityInputRequired": true,
"hideQuantity": false,
"unit": "abc123",
"hasPersonHourUnit": true,
"hideDuration": true,
"executionStartDate": "2007-12-03",
"executionStartTime": "10:15:30Z",
"executionEndDate": "2007-12-03",
"executionEndTime": "10:15:30Z",
"service": Service,
"object": Object,
"createdAt": "2007-12-03T10:15:30Z"
}
ServiceReceiptItemConnection
Fields
| Field Name | Description |
|---|---|
edges - [ServiceReceiptItemEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [ServiceReceiptItemEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
ServiceReceiptItemEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - ServiceReceiptItem!
|
Example
{
"cursor": "abc123",
"node": ServiceReceiptItem
}
ServiceReceiptItemOrder
Fields
| Input Field | Description |
|---|---|
field - ServiceReceiptItemOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
ServiceReceiptItemOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
ServiceReceiptItemType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"SERVICE"
ServiceReceiptOrder
Fields
| Input Field | Description |
|---|---|
field - ServiceReceiptOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "NUMBER", "direction": "ASC"}
ServiceReceiptOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"NUMBER"
ServiceReceiptReviewStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PENDING"
ServiceReceiptStatus
Values
| Enum Value | Description |
|---|---|
|
|
Being prepared. |
|
|
Finalized; PDF generated, completedAt set. |
|
|
Signed by the customer via the web view; signedAt set. |
|
|
Awaiting internal review (set by the web signing flow). |
|
|
Internal review completed; reviewedAt set. |
Example
"DRAFT"
SingleDate
Fields
| Field Name | Description |
|---|---|
date - Date!
|
Example
{"date": "2007-12-03"}
State
Description
A German federal state (Bundesland). Only by-id lookup is available.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
name - String!
|
|
countryCode - CountryCode!
|
|
stateCode - StateCode!
|
Example
{
"id": 4,
"name": "xyz789",
"countryCode": "US",
"stateCode": StateCode
}
StateCode
Description
ISO 3166-2 state codes
Example
StateCode
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
Subcontractor
Description
A subcontractor (Nachunternehmer) who executes work and is paid via credit notes (Gutschriften).
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
company - Company!
|
|
number - Int!
|
|
type - SubcontractorType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
taxNumber - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
datevAccount - Int!
|
DATEV account number (accounting export). |
note - String
|
|
createdAt - DateTime!
|
|
receipts - ReceiptConnection!
|
|
contactPersons - SubcontractorContactPersonConnection!
|
|
Example
{
"id": 4,
"company": Company,
"number": 123,
"type": "PERSON",
"salutation": "abc123",
"firstName": "xyz789",
"lastName": "abc123",
"companyName": "xyz789",
"addressSupplement": "abc123",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"email": "abc123",
"phone": "xyz789",
"fax": "abc123",
"website": "xyz789",
"taxNumber": "xyz789",
"vatId": "abc123",
"datevAccount": 987,
"note": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"receipts": ReceiptConnection,
"contactPersons": SubcontractorContactPersonConnection
}
SubcontractorConnection
Fields
| Field Name | Description |
|---|---|
edges - [SubcontractorEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [SubcontractorEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
SubcontractorContactPerson
Example
{
"id": 4,
"isDefault": false,
"salutation": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"role": "abc123",
"email": "xyz789",
"phone": "xyz789",
"createdAt": "2007-12-03T10:15:30Z"
}
SubcontractorContactPersonConnection
Fields
| Field Name | Description |
|---|---|
edges - [SubcontractorContactPersonEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [SubcontractorContactPersonEdge],
"pageInfo": PageInfo,
"totalCount": 987
}
SubcontractorContactPersonEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - SubcontractorContactPerson!
|
Example
{
"cursor": "xyz789",
"node": SubcontractorContactPerson
}
SubcontractorEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - Subcontractor!
|
Example
{
"cursor": "xyz789",
"node": Subcontractor
}
SubcontractorType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PERSON"
Supplier
Description
A supplier (Lieferant) of materials/services.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
number - Int!
|
|
type - SupplierType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
taxNumber - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
datevAccount - Int!
|
DATEV account number (accounting export). |
tags - [String!]!
|
|
note - String
|
|
createdAt - DateTime!
|
|
contactPersons - SupplierContactPersonConnection!
|
|
Example
{
"id": 4,
"number": 987,
"type": "PERSON",
"salutation": "abc123",
"firstName": "xyz789",
"lastName": "xyz789",
"companyName": "xyz789",
"addressSupplement": "abc123",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"email": "abc123",
"phone": "xyz789",
"fax": "xyz789",
"website": "abc123",
"taxNumber": "abc123",
"vatId": "xyz789",
"datevAccount": 987,
"tags": ["xyz789"],
"note": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"contactPersons": SupplierContactPersonConnection
}
SupplierConnection
Fields
| Field Name | Description |
|---|---|
edges - [SupplierEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [SupplierEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
SupplierContactPerson
Example
{
"id": 4,
"isDefault": false,
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"role": "xyz789",
"email": "abc123",
"phone": "abc123",
"createdAt": "2007-12-03T10:15:30Z"
}
SupplierContactPersonConnection
Fields
| Field Name | Description |
|---|---|
edges - [SupplierContactPersonEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [SupplierContactPersonEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
SupplierContactPersonEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - SupplierContactPerson!
|
Example
{
"cursor": "xyz789",
"node": SupplierContactPerson
}
SupplierEdge
SupplierOrder
Fields
| Input Field | Description |
|---|---|
field - SupplierOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "NUMBER", "direction": "ASC"}
SupplierOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"NUMBER"
SupplierType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PERSON"
Ticket
Description
A ticket (Meldung/Aufgabe) at an object, e.g. a complaint or material demand. Operations can be linked to resolve tickets.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
object - Object!
|
|
objectRoom - ObjectRoom
|
|
order - Order
|
|
sourceOperation - Operation
|
The operation during which the issue was reported. |
number - Int!
|
|
type - TicketType
|
|
isPublic - Boolean!
|
Whether the ticket is public. |
inputChannel - TicketInputChannel
|
|
location - String
|
|
description - String!
|
|
status - TicketStatus!
|
|
priority - TicketPriority!
|
|
discoverDate - Date
|
|
dueDate - Date
|
|
rejectedAt - DateTime
|
|
completedAt - DateTime
|
|
files - TicketFileConnection!
|
|
operations - OperationConnection!
|
|
Arguments
|
|
createdAt - DateTime!
|
|
Example
{
"id": 4,
"object": Object,
"objectRoom": ObjectRoom,
"order": Order,
"sourceOperation": Operation,
"number": 123,
"type": "COMPLAINT",
"isPublic": true,
"inputChannel": "PORTAL",
"location": "abc123",
"description": "abc123",
"status": "OPEN",
"priority": "LOW",
"discoverDate": "2007-12-03",
"dueDate": "2007-12-03",
"rejectedAt": "2007-12-03T10:15:30Z",
"completedAt": "2007-12-03T10:15:30Z",
"files": TicketFileConnection,
"operations": OperationConnection,
"createdAt": "2007-12-03T10:15:30Z"
}
TicketConnection
Fields
| Field Name | Description |
|---|---|
edges - [TicketEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [TicketEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
TicketEdge
TicketFile
TicketFileConnection
Fields
| Field Name | Description |
|---|---|
edges - [TicketFileEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [TicketFileEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
TicketFileEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - TicketFile!
|
Example
{
"cursor": "xyz789",
"node": TicketFile
}
TicketFileOrder
Fields
| Input Field | Description |
|---|---|
field - TicketFileOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
TicketFileOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
TicketInputChannel
Description
How the ticket was received.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"PORTAL"
TicketOrder
Fields
| Input Field | Description |
|---|---|
field - TicketOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
TicketOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
TicketPriority
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"LOW"
TicketStatus
Values
| Enum Value | Description |
|---|---|
|
|
New; not yet scheduled. |
|
|
An operation is linked to resolve the ticket (set automatically; linking is not available in this API). |
|
|
Rejected via rejectTicket; rejectedAt set, operation links removed. |
|
|
Completed via completeTicket; completedAt set. |
Example
"OPEN"
TicketType
Description
What the ticket reports.
Values
| Enum Value | Description |
|---|---|
|
|
Complaint (Reklamation). |
|
|
Additional work (Zusatzleistung). |
|
|
Material demand (Materialbedarf). |
|
|
Property damage (Sachschaden). |
|
|
Example
"COMPLAINT"
Time
Description
Time of day in the form HH:mm:ss (24h), e.g. 14:30:00.
Example
"10:15:30Z"
TimeRecord
Description
A time record (Zeiterfassung) of an employee, usually linked to an operation executor.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
employee - Employee!
|
|
object - Object
|
|
operationExecutor - OperationExecutor
|
|
date - Date!
|
The working day this record belongs to. |
journeyStart - DateTime
|
Start of journey in UTC |
start - DateTime
|
Start of time record in UTC |
end - DateTime
|
End of time record in UTC. If end is null means the TimeRecord is running. |
planDuration - Int
|
Planned duration in seconds (from the operation's planned duration). |
actualDuration - Int
|
Worked duration in seconds. |
breakDuration - Int
|
Total break duration in seconds. |
hasTotalBreakInput - Boolean!
|
True when breakDuration was entered as a manual total instead of derived from the individual breaks. |
breaks - [TimeRecordBreak]
|
|
journeyDuration - Int
|
Journey duration in seconds. |
journeyStartLocation - Location
|
|
startLocation - Location
|
|
endLocation - Location
|
|
createdAutomatically - Boolean!
|
Created by Mendato's automatic time recording. |
confirmedAt - DateTime
|
If set the TimeRecord is confirmed |
createdAt - DateTime!
|
Example
{
"id": 4,
"employee": Employee,
"object": Object,
"operationExecutor": OperationExecutor,
"date": "2007-12-03",
"journeyStart": "2007-12-03T10:15:30Z",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"planDuration": 123,
"actualDuration": 987,
"breakDuration": 123,
"hasTotalBreakInput": false,
"breaks": [TimeRecordBreak],
"journeyDuration": 123,
"journeyStartLocation": Location,
"startLocation": Location,
"endLocation": Location,
"createdAutomatically": false,
"confirmedAt": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
TimeRecordBreak
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
timeRecord - TimeRecord!
|
|
start - DateTime!
|
|
end - DateTime
|
|
createdAt - DateTime
|
Example
{
"id": 4,
"timeRecord": TimeRecord,
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z"
}
TimeRecordConnection
Fields
| Field Name | Description |
|---|---|
edges - [TimeRecordEdge]
|
|
pageInfo - PageInfo!
|
|
totalCount - Int!
|
Example
{
"edges": [TimeRecordEdge],
"pageInfo": PageInfo,
"totalCount": 123
}
TimeRecordEdge
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
|
node - TimeRecord!
|
Example
{
"cursor": "xyz789",
"node": TimeRecord
}
TimeRecordOrder
Fields
| Input Field | Description |
|---|---|
field - TimeRecordOrderField!
|
|
direction - OrderDirection!
|
Example
{"field": "CREATED_AT", "direction": "ASC"}
TimeRecordOrderField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CREATED_AT"
URL
Description
Absolute URL string.
Example
"http://www.test.com/"
UnmarkOperationExecutorAsNoShowInput
Fields
| Input Field | Description |
|---|---|
operationExecutorId - ID!
|
Example
{"operationExecutorId": "4"}
UnmarkOperationExecutorAsNoShowPayload
Fields
| Field Name | Description |
|---|---|
operationExecutor - OperationExecutor
|
Example
{"operationExecutor": OperationExecutor}
UpdateAbsenceInput
Example
{
"absenceId": "4",
"type": "VACATION",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"note": "abc123",
"startDayFraction": 123.45,
"endDayFraction": 123.45
}
UpdateAbsencePayload
Fields
| Field Name | Description |
|---|---|
absence - Absence
|
Example
{"absence": Absence}
UpdateCreditNoteDeliveryDateInput
UpdateCreditNoteInput
Fields
| Input Field | Description |
|---|---|
creditNoteId - ID!
|
|
subcontractorId - ID!
|
|
subcontractorContactPersonId - ID
|
|
number - Int!
|
|
dueDate - Date
|
|
dueDateFormat - CreditNoteDueDateFormat
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the credit note pdf |
creditNoteDate - Date!
|
|
deliveryDate - UpdateCreditNoteDeliveryDateInput!
|
|
items - [UpdateCreditNoteItemInput]
|
|
introductionText - String
|
If the value is not set, it will not be updated. |
closingText - String
|
If the value is not set, it will not be updated. |
Example
{
"creditNoteId": 4,
"subcontractorId": "4",
"subcontractorContactPersonId": 4,
"number": 123,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": true,
"creditNoteDate": "2007-12-03",
"deliveryDate": UpdateCreditNoteDeliveryDateInput,
"items": [UpdateCreditNoteItemInput],
"introductionText": "abc123",
"closingText": "xyz789"
}
UpdateCreditNoteItemInput
Example
{
"creditNoteItemId": "4",
"title": "xyz789",
"description": "abc123",
"quantity": 123.45,
"unitPrice": 987,
"taxRate": 123.45,
"unit": "abc123",
"serviceId": 4,
"materialId": "4"
}
UpdateCreditNotePayload
Fields
| Field Name | Description |
|---|---|
creditNote - CreditNote
|
Example
{"creditNote": CreditNote}
UpdateCustomerContactPersonInput
Example
{
"customerContactPersonId": 4,
"isDefault": true,
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"role": "abc123",
"email": "abc123",
"phone": "xyz789"
}
UpdateCustomerContactPersonPayload
Fields
| Field Name | Description |
|---|---|
customerContactPerson - CustomerContactPerson
|
Example
{"customerContactPerson": CustomerContactPerson}
UpdateCustomerEmailInput
Fields
| Input Field | Description |
|---|---|
id - ID
|
|
type - CustomerEmailType!
|
|
email - String!
|
Example
{
"id": 4,
"type": "GENERAL",
"email": "xyz789"
}
UpdateCustomerInput
Fields
| Input Field | Description |
|---|---|
customerId - ID!
|
|
type - CustomerType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
emails - [UpdateCustomerEmailInput!]
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
Example
{
"customerId": "4",
"type": "PERSON",
"salutation": "abc123",
"firstName": "xyz789",
"lastName": "xyz789",
"companyName": "abc123",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "abc123",
"country": "US",
"emails": [UpdateCustomerEmailInput],
"phone": "abc123",
"fax": "xyz789",
"website": "xyz789",
"vatId": "abc123"
}
UpdateCustomerPayload
Fields
| Field Name | Description |
|---|---|
customer - Customer
|
Example
{"customer": Customer}
UpdateEmployeeInput
Fields
| Input Field | Description |
|---|---|
employeeId - ID!
|
|
salutation - String!
|
|
firstName - String
|
|
lastName - String!
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
state - StateCode
|
|
email - String
|
|
phone - String
|
|
birthDate - Date
|
|
personnelNumberPrefix - String
|
|
personnelNumber - Int!
|
|
hasDrivingLicenceClassB - Boolean
|
|
automaticTimeRecording - Boolean
|
Sets the employee's automaticTimeRecording flag, stored separately from Employee.locationBasedTimeRecording (not writable through this API). |
tags - [String!]
|
Example
{
"employeeId": "4",
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"addressSupplement": "abc123",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"state": StateCode,
"email": "xyz789",
"phone": "abc123",
"birthDate": "2007-12-03",
"personnelNumberPrefix": "abc123",
"personnelNumber": 987,
"hasDrivingLicenceClassB": true,
"automaticTimeRecording": true,
"tags": ["xyz789"]
}
UpdateEmployeePayload
Fields
| Field Name | Description |
|---|---|
employee - Employee
|
Example
{"employee": Employee}
UpdateEmployeeProfilePictureInput
UpdateEmployeeProfilePicturePayload
Fields
| Field Name | Description |
|---|---|
uploadUrl - URL
|
Presigned S3 URL, valid for 1 hour. Upload the image with an HTTP PUT of the raw bytes and a Content-Type header equal to the mimeType from the input. |
employeeProfilePicture - EmployeeProfilePicture
|
Example
{
"uploadUrl": "http://www.test.com/",
"employeeProfilePicture": EmployeeProfilePicture
}
UpdateEmployeeWorkingTimeModelInput
Fields
| Input Field | Description |
|---|---|
employeeWorkingTimeModelId - ID!
|
|
startDate - Date!
|
|
endDate - Date
|
|
mondayHours - Float
|
|
tuesdayHours - Float
|
|
wednesdayHours - Float
|
|
thursdayHours - Float
|
|
fridayHours - Float
|
|
saturdayHours - Float
|
|
sundayHours - Float
|
|
grossHourlyWage - Int
|
Gross hourly wage in cents. |
paidInterimCalculation - WorkingTimeModelPaidInterimCalculation!
|
|
isFirstJourneyPaid - Boolean!
|
|
salaryCalculation - WorkingTimeModelSalaryCalculation
|
|
absenceDurationCalculation - WorkingTimeModelAbsenceDurationCalculation!
|
|
timeAccountEnabled - Boolean!
|
Enables the employee's time account: the daily target-vs-actual time difference is booked to the balance. |
updateAbsences - Boolean
|
Must be true if there are approved absences in the affected period that should be adjusted. |
Example
{
"employeeWorkingTimeModelId": 4,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"mondayHours": 987.65,
"tuesdayHours": 123.45,
"wednesdayHours": 987.65,
"thursdayHours": 987.65,
"fridayHours": 987.65,
"saturdayHours": 123.45,
"sundayHours": 987.65,
"grossHourlyWage": 123,
"paidInterimCalculation": "FULL_INTERIM",
"isFirstJourneyPaid": true,
"salaryCalculation": "ACTUAL_HOURS",
"absenceDurationCalculation": "PLAN_HOURS",
"timeAccountEnabled": false,
"updateAbsences": true
}
UpdateEmployeeWorkingTimeModelPayload
Fields
| Field Name | Description |
|---|---|
employeeWorkingTimeModel - EmployeeWorkingTimeModel
|
Example
{"employeeWorkingTimeModel": EmployeeWorkingTimeModel}
UpdateEstimateInput
Example
{
"estimateId": 4,
"customerId": 4,
"number": 123,
"estimateDate": "2007-12-03",
"validityDate": "2007-12-03",
"items": [UpdateEstimateItemInput],
"introductionText": "xyz789",
"closingText": "xyz789"
}
UpdateEstimateItemInput
Fields
| Input Field | Description |
|---|---|
estimateItemId - ID
|
|
position - Int
|
Position of this item within the estimate. Defaults to the item's index if omitted. |
title - String!
|
|
description - String
|
|
quantity - Float!
|
|
unitPrice - Int!
|
Net unit price in cents. |
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
unit - String
|
|
serviceId - ID
|
The service this item is based on. |
materialId - ID
|
|
objectId - ID
|
The object (Objekt / service location) this item is assigned to. Its customer must match the estimate's customer. |
Example
{
"estimateItemId": "4",
"position": 987,
"title": "abc123",
"description": "abc123",
"quantity": 987.65,
"unitPrice": 123,
"taxRate": 987.65,
"unit": "abc123",
"serviceId": 4,
"materialId": "4",
"objectId": 4
}
UpdateEstimatePayload
Fields
| Field Name | Description |
|---|---|
estimate - Estimate
|
Example
{"estimate": Estimate}
UpdateEstimateWebEnabledInput
UpdateEstimateWebEnabledPayload
Fields
| Field Name | Description |
|---|---|
estimate - Estimate
|
The estimate for which web enabled was updated. |
Example
{"estimate": Estimate}
UpdateExecutionAndAddEmployeeToOperationInput
Example
{
"operationId": 4,
"executionDate": "2007-12-03",
"executionStartTime": "10:15:30Z",
"executionEndTime": "10:15:30Z",
"executionAcrossMidnight": true,
"employeeId": "4"
}
UpdateExecutionAndAddEmployeeToOperationPayload
Fields
| Field Name | Description |
|---|---|
operationExecutor - OperationExecutor
|
Example
{"operationExecutor": OperationExecutor}
UpdateExecutionAndReplaceEmployeeOnOperationInput
Example
{
"operationId": "4",
"executionDate": "2007-12-03",
"executionStartTime": "10:15:30Z",
"executionEndTime": "10:15:30Z",
"executionAcrossMidnight": false,
"oldEmployeeId": 4,
"newEmployeeId": "4"
}
UpdateExecutionAndReplaceEmployeeOnOperationPayload
Fields
| Field Name | Description |
|---|---|
operationExecutor - OperationExecutor
|
Example
{"operationExecutor": OperationExecutor}
UpdateInvoiceDeliveryDateInput
UpdateInvoiceInput
Fields
| Input Field | Description |
|---|---|
invoiceId - ID!
|
|
customerId - ID!
|
|
number - Int!
|
|
dueDate - Date
|
|
dueDateFormat - InvoiceDueDateFormat
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the invoice pdf |
invoiceDate - Date!
|
|
deliveryDate - UpdateInvoiceDeliveryDateInput!
|
|
items - [UpdateInvoiceItemInput]
|
|
introductionText - String
|
If the value is not set, it will not be updated. |
closingText - String
|
If the value is not set, it will not be updated. |
Example
{
"invoiceId": 4,
"customerId": "4",
"number": 987,
"dueDate": "2007-12-03",
"dueDateFormat": "DAYS",
"hideDueDateText": false,
"invoiceDate": "2007-12-03",
"deliveryDate": UpdateInvoiceDeliveryDateInput,
"items": [UpdateInvoiceItemInput],
"introductionText": "xyz789",
"closingText": "abc123"
}
UpdateInvoiceItemInput
Example
{
"invoiceItemId": 4,
"title": "xyz789",
"description": "xyz789",
"quantity": 987.65,
"unitPrice": 123,
"taxRate": 123.45,
"unit": "xyz789",
"serviceId": "4",
"materialId": 4
}
UpdateInvoicePayload
Fields
| Field Name | Description |
|---|---|
invoice - Invoice
|
Example
{"invoice": Invoice}
UpdateMaterialGroupInput
UpdateMaterialGroupPayload
Fields
| Field Name | Description |
|---|---|
materialGroup - MaterialGroup
|
Example
{"materialGroup": MaterialGroup}
UpdateMaterialInput
Fields
| Input Field | Description |
|---|---|
materialId - ID!
|
|
materialGroupId - ID
|
Only provided fields are changed. Pass null to clear an optional field. |
number - Int
|
|
name - String
|
|
description - String
|
|
manufacturer - String
|
|
consumptionUnit - String
|
Base unit consumption is recorded in (e.g. l, piece). |
salesUnitPrice - Int
|
Net sales price per salesUnit in cents. |
salesTaxRate - Float
|
VAT rate in percent (19 = 19 %). |
salesUnit - String
|
Unit the material is sold in (e.g. canister). |
quantityPerSalesUnit - Float
|
Quantity contained in one salesUnit. |
stockUnit - String
|
Unit the material is stocked in. |
quantityPerStockUnit - Float
|
Quantity contained in one stockUnit. |
stockEanNumber - String
|
EAN/barcode of the stock unit. |
revenueAccount - Int
|
Revenue account number. |
Example
{
"materialId": 4,
"materialGroupId": 4,
"number": 987,
"name": "abc123",
"description": "xyz789",
"manufacturer": "abc123",
"consumptionUnit": "xyz789",
"salesUnitPrice": 987,
"salesTaxRate": 123.45,
"salesUnit": "xyz789",
"quantityPerSalesUnit": 987.65,
"stockUnit": "abc123",
"quantityPerStockUnit": 987.65,
"stockEanNumber": "xyz789",
"revenueAccount": 123
}
UpdateMaterialPayload
Fields
| Field Name | Description |
|---|---|
material - Material
|
Example
{"material": Material}
UpdateObjectInput
Description
Either name, streetAddress or city has to be set
Fields
| Input Field | Description |
|---|---|
objectId - ID!
|
|
customerContactPersonId - ID
|
|
name - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
state - StateCode
|
|
locationRadiusMeters - Int
|
Radius around the object's location, in meters. |
email - String
|
|
phone - String
|
|
extraInvoiceAddressFieldLines - String
|
Extra lines printed in the invoice address block. |
costCenter - String
|
Cost center (Kostenstelle) of the object. |
invoiceAddress - UpdateObjectInvoiceAddressInput
|
Deviating billing address used instead of the customer's address. |
invoiceSettings - UpdateObjectInvoiceSettingsInput
|
|
tags - [String!]
|
Example
{
"objectId": "4",
"customerContactPersonId": "4",
"name": "xyz789",
"addressSupplement": "abc123",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"state": StateCode,
"locationRadiusMeters": 987,
"email": "abc123",
"phone": "xyz789",
"extraInvoiceAddressFieldLines": "xyz789",
"costCenter": "xyz789",
"invoiceAddress": UpdateObjectInvoiceAddressInput,
"invoiceSettings": UpdateObjectInvoiceSettingsInput,
"tags": ["abc123"]
}
UpdateObjectInvoiceAddressInput
Fields
| Input Field | Description |
|---|---|
type - ObjectInvoiceAddressType!
|
|
salutation - String
|
Has to be set on type PERSON |
firstName - String
|
|
lastName - String
|
Has to be set on type PERSON |
companyName - String
|
Has to be set on type COMPANY |
addressSupplement - String
|
|
streetAddress - String!
|
|
zip - String!
|
|
city - String!
|
|
country - CountryCode
|
Example
{
"type": "PERSON",
"salutation": "xyz789",
"firstName": "xyz789",
"lastName": "xyz789",
"companyName": "abc123",
"addressSupplement": "abc123",
"streetAddress": "xyz789",
"zip": "abc123",
"city": "abc123",
"country": "US"
}
UpdateObjectInvoiceSettingsInput
Fields
| Input Field | Description |
|---|---|
eInvoiceType - EInvoiceType
|
|
dueDateType - DueDateType
|
|
hideDueDateText - Boolean
|
This will hide the due date text on the invoice pdf |
introductionText - String
|
|
closingText - String
|
Example
{
"eInvoiceType": "NONE",
"dueDateType": "IMMEDIATELY",
"hideDueDateText": false,
"introductionText": "xyz789",
"closingText": "abc123"
}
UpdateObjectPayload
Fields
| Field Name | Description |
|---|---|
object - Object
|
Example
{"object": Object}
UpdateObjectRoomInput
UpdateObjectRoomPayload
Fields
| Field Name | Description |
|---|---|
objectRoom - ObjectRoom
|
Example
{"objectRoom": ObjectRoom}
UpdateOperationBillingItemInput
Description
Input for updating a billing position. Every non-id field replaces the current value.
Fields
| Input Field | Description |
|---|---|
operationBillingItemId - ID!
|
|
operationServiceId - ID
|
|
operationMaterialId - ID
|
|
serviceId - ID
|
|
materialId - ID
|
|
type - OperationBillingItemType!
|
|
priceType - OperationBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int!
|
Net unit price in cents. |
quantity - Float
|
Either quantity or quantitySource has to be set, never both. |
quantitySource - OperationBillingItemQuantitySource
|
Either quantity or quantitySource has to be set, never both. |
unit - String
|
|
hasPersonHourUnit - Boolean!
|
Must be true when quantitySource is TIME_RECORD. |
taxRate - Float!
|
VAT rate in percent. |
Example
{
"operationBillingItemId": "4",
"operationServiceId": 4,
"operationMaterialId": 4,
"serviceId": "4",
"materialId": "4",
"type": "SERVICE",
"priceType": "FLAT_RATE",
"title": "xyz789",
"description": "xyz789",
"unitPrice": 123,
"quantity": 987.65,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": false,
"taxRate": 987.65
}
UpdateOperationBillingItemPayload
Fields
| Field Name | Description |
|---|---|
operationBillingItem - OperationBillingItem
|
Example
{"operationBillingItem": OperationBillingItem}
UpdateOperationReportInput
UpdateOperationReportPayload
Fields
| Field Name | Description |
|---|---|
operationReport - OperationReport!
|
Example
{"operationReport": OperationReport}
UpdateOrderBillingItemInput
Fields
| Input Field | Description |
|---|---|
orderBillingItemId - ID!
|
|
orderServiceId - ID
|
|
orderMaterialId - ID
|
|
serviceId - ID
|
|
materialId - ID
|
|
type - OrderBillingItemType!
|
|
priceType - OrderBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int!
|
Net unit price in cents. |
quantity - Float
|
|
quantitySource - OrderBillingItemQuantitySource
|
Can only be set on billingModel PER_OPERATION |
unit - String
|
|
hasPersonHourUnit - Boolean!
|
|
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
startDate - Date
|
|
endDate - Date
|
|
listExecutionDates - Boolean
|
|
groupOperations - Boolean
|
|
frequency - Int
|
Billing cycle length together with interval (e.g. frequency 3 + interval MONTH = quarterly). Only for RECURRING. |
interval - OrderBillingItemInterval
|
|
billingPeriodsPerInvoice - Int
|
How many billing periods (frequency x interval) are combined into one invoice. Only for RECURRING. |
Example
{
"orderBillingItemId": "4",
"orderServiceId": 4,
"orderMaterialId": 4,
"serviceId": "4",
"materialId": 4,
"type": "SERVICE",
"priceType": "FLAT_RATE",
"title": "xyz789",
"description": "xyz789",
"unitPrice": 123,
"quantity": 123.45,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": true,
"taxRate": 987.65,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"listExecutionDates": true,
"groupOperations": false,
"frequency": 123,
"interval": "WEEK",
"billingPeriodsPerInvoice": 987
}
UpdateOrderBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderBillingItem - OrderBillingItem
|
Example
{"orderBillingItem": OrderBillingItem}
UpdateOrderExecutorBillingItemInput
Fields
| Input Field | Description |
|---|---|
orderExecutorBillingItemId - ID!
|
|
orderBillingItemId - ID
|
|
orderServiceId - ID
|
|
orderMaterialId - ID
|
|
type - OrderExecutorBillingItemType!
|
|
priceType - OrderExecutorBillingItemPriceType!
|
|
title - String!
|
|
description - String
|
|
unitPrice - Int
|
Provide either unitPrice or pricePercentage, not both. |
pricePercentage - Int
|
Provide either unitPrice or pricePercentage, not both. Percent of the linked orderBillingItem's unitPrice (19 = 19 %); requires orderBillingItemId. |
quantity - Float
|
|
quantitySource - OrderExecutorBillingItemQuantitySource
|
Can only be set on billingModel PER_OPERATION |
unit - String
|
|
hasPersonHourUnit - Boolean!
|
|
taxRate - Float!
|
VAT rate in percent (19 = 19 %). |
startDate - Date
|
|
endDate - Date
|
|
frequency - Int
|
Billing cycle length together with interval (e.g. frequency 3 + interval MONTH = quarterly). Only for RECURRING. |
interval - OrderExecutorBillingItemInterval
|
Example
{
"orderExecutorBillingItemId": 4,
"orderBillingItemId": 4,
"orderServiceId": 4,
"orderMaterialId": 4,
"type": "SERVICE",
"priceType": "FLAT_RATE",
"title": "abc123",
"description": "abc123",
"unitPrice": 123,
"pricePercentage": 123,
"quantity": 123.45,
"quantitySource": "INPUT",
"unit": "xyz789",
"hasPersonHourUnit": false,
"taxRate": 123.45,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"frequency": 123,
"interval": "WEEK"
}
UpdateOrderExecutorBillingItemPayload
Fields
| Field Name | Description |
|---|---|
orderExecutorBillingItem - OrderExecutorBillingItem
|
Example
{"orderExecutorBillingItem": OrderExecutorBillingItem}
UpdateOrderInput
Fields
| Input Field | Description |
|---|---|
orderId - ID!
|
|
startDate - Date
|
|
endDate - Date
|
|
instructions - String
|
|
requiredExecutors - Int!
|
Minimum number of executors required per operation |
executionOnHolidays - Boolean!
|
Should operations on holidays be executed? |
effectiveDate - Date
|
Effective date for instructions/requiredExecutors changes — only operations on or after this date are updated |
Example
{
"orderId": 4,
"startDate": "2007-12-03",
"endDate": "2007-12-03",
"instructions": "abc123",
"requiredExecutors": 123,
"executionOnHolidays": false,
"effectiveDate": "2007-12-03"
}
UpdateOrderPayload
Fields
| Field Name | Description |
|---|---|
order - Order
|
Example
{"order": Order}
UpdateOrderServiceExecutionOnDemandInput
UpdateOrderServiceExecutionOnDemandPayload
Fields
| Field Name | Description |
|---|---|
orderService - OrderService
|
Example
{"orderService": OrderService}
UpdateOrderServiceInput
Fields
| Input Field | Description |
|---|---|
orderServiceId - ID!
|
|
effectiveDate - Date!
|
The date from which the changes apply. Can not be before the order's start date. |
serviceId - ID!
|
|
title - String!
|
|
executionOnDemand - Boolean
|
When provided, switches on-demand execution on or off and recalculates the next demand date. |
demandRrule - String
|
Recurrence rule that drives the next demand date when executionOnDemand is true. |
Example
{
"orderServiceId": 4,
"effectiveDate": "2007-12-03",
"serviceId": "4",
"title": "xyz789",
"executionOnDemand": true,
"demandRrule": "xyz789"
}
UpdateOrderServiceNextDemandDateInput
UpdateOrderServiceNextDemandDatePayload
Fields
| Field Name | Description |
|---|---|
orderService - OrderService
|
Example
{"orderService": OrderService}
UpdateOrderServicePayload
Fields
| Field Name | Description |
|---|---|
orderService - OrderService
|
Example
{"orderService": OrderService}
UpdateOrderServiceTaskInput
Fields
| Input Field | Description |
|---|---|
orderServiceTaskId - ID!
|
|
serviceAreaId - ID
|
Optional service area to assign the task to. Must belong to the same service as the OrderService. |
position - Int
|
1-based target position within the OrderService's task list. Other tasks are reordered accordingly. |
title - String!
|
|
rrule - String
|
Recurrence rule (RFC 5545 RRULE), e.g. "FREQ=MONTHLY;BYDAY=2WE" (weekday-based for monthly/quarterly). Pass null to clear it. A change triggers regeneration of the affected shifts' future, unbilled operations. |
startDate - Date
|
Anchor / first execution of the recurrence. Pass null to reset it to the shift start. A change triggers regeneration of the affected shifts' future, unbilled operations. |
quantity - Float
|
Quantity/area covered by the task. Pass null to clear it. |
unit - String
|
Free-form unit for quantity, e.g. "m²". Pass null to clear it. |
Example
{
"orderServiceTaskId": 4,
"serviceAreaId": "4",
"position": 987,
"title": "xyz789",
"rrule": "abc123",
"startDate": "2007-12-03",
"quantity": 987.65,
"unit": "abc123"
}
UpdateOrderServiceTaskPayload
Fields
| Field Name | Description |
|---|---|
orderServiceTask - OrderServiceTask
|
Example
{"orderServiceTask": OrderServiceTask}
UpdateOrderShiftInput
Fields
| Input Field | Description |
|---|---|
orderShiftId - ID!
|
|
effectiveDate - Date!
|
The date from which the changes apply |
updateRrule - Boolean!
|
Deletes old and creates new operations starting from effectiveDate if set |
rrule - String
|
|
updateTimeOrDuration - Boolean!
|
|
timeFrom - Time
|
|
timeTo - Time
|
|
acrossMidnight - Boolean
|
Operations end on the day after their start date. |
duration - Int
|
Planned duration per operation in seconds (alternative to timeFrom/timeTo). |
updateRequiredExecutors - Boolean!
|
|
requiredExecutors - Int
|
Minimum number of executors required per operation |
updateDeviatingInstructions - Boolean!
|
|
deviatingInstructions - String
|
|
updateServiceReceipts - Boolean!
|
|
createServiceReceipt - Boolean
|
|
updateDays - Boolean
|
When true, replaces the shift's per-weekday overrides with days (empty/omitted clears them) and regenerates future operations from effectiveDate. |
days - [OrderShiftDayInput!]
|
|
updateTasks - Boolean
|
When true, replaces the shift's task selection with tasks (empty/omitted = all tasks) and regenerates future operations from effectiveDate. |
tasks - [OrderShiftTaskInput!]
|
Example
{
"orderShiftId": "4",
"effectiveDate": "2007-12-03",
"updateRrule": true,
"rrule": "abc123",
"updateTimeOrDuration": false,
"timeFrom": "10:15:30Z",
"timeTo": "10:15:30Z",
"acrossMidnight": false,
"duration": 123,
"updateRequiredExecutors": false,
"requiredExecutors": 987,
"updateDeviatingInstructions": false,
"deviatingInstructions": "abc123",
"updateServiceReceipts": true,
"createServiceReceipt": false,
"updateDays": true,
"days": [OrderShiftDayInput],
"updateTasks": false,
"tasks": [OrderShiftTaskInput]
}
UpdateOrderShiftPayload
Fields
| Field Name | Description |
|---|---|
orderShift - OrderShift
|
Example
{"orderShift": OrderShift}
UpdatePendingInvoiceItemInput
Example
{
"pendingInvoiceItemId": "4",
"serviceId": "4",
"materialId": "4",
"title": "xyz789",
"description": "xyz789",
"quantity": 987.65,
"unitPrice": 123,
"taxRate": 123.45,
"unit": "abc123"
}
UpdatePendingInvoiceItemPayload
Fields
| Field Name | Description |
|---|---|
pendingInvoiceItem - PendingInvoiceItem
|
Example
{"pendingInvoiceItem": PendingInvoiceItem}
UpdateSubcontractorContactPersonInput
Example
{
"subcontractorContactPersonId": 4,
"isDefault": false,
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"role": "xyz789",
"email": "abc123",
"phone": "abc123"
}
UpdateSubcontractorContactPersonPayload
Fields
| Field Name | Description |
|---|---|
subcontractorContactPerson - SubcontractorContactPerson
|
Example
{"subcontractorContactPerson": SubcontractorContactPerson}
UpdateSubcontractorInput
Fields
| Input Field | Description |
|---|---|
subcontractorId - ID!
|
|
type - SubcontractorType
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
taxNumber - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
Example
{
"subcontractorId": "4",
"type": "PERSON",
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"companyName": "xyz789",
"streetAddress": "xyz789",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"email": "abc123",
"phone": "abc123",
"fax": "abc123",
"website": "abc123",
"taxNumber": "abc123",
"vatId": "xyz789"
}
UpdateSubcontractorPayload
Fields
| Field Name | Description |
|---|---|
subcontractor - Subcontractor
|
Example
{"subcontractor": Subcontractor}
UpdateSupplierContactPersonInput
Example
{
"supplierContactPersonId": 4,
"isDefault": false,
"salutation": "abc123",
"firstName": "abc123",
"lastName": "xyz789",
"role": "xyz789",
"email": "abc123",
"phone": "xyz789"
}
UpdateSupplierContactPersonPayload
Fields
| Field Name | Description |
|---|---|
supplierContactPerson - SupplierContactPerson
|
Example
{"supplierContactPerson": SupplierContactPerson}
UpdateSupplierInput
Fields
| Input Field | Description |
|---|---|
supplierId - ID!
|
|
type - SupplierType!
|
|
salutation - String
|
|
firstName - String
|
|
lastName - String
|
|
companyName - String
|
|
addressSupplement - String
|
|
streetAddress - String
|
|
zip - String
|
|
city - String
|
|
country - CountryCode
|
|
email - String
|
|
phone - String
|
|
fax - String
|
|
website - String
|
|
taxNumber - String
|
|
vatId - String
|
VAT ID (USt-IdNr.). |
tags - [String!]
|
Example
{
"supplierId": 4,
"type": "PERSON",
"salutation": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"companyName": "abc123",
"addressSupplement": "xyz789",
"streetAddress": "abc123",
"zip": "xyz789",
"city": "xyz789",
"country": "US",
"email": "xyz789",
"phone": "xyz789",
"fax": "abc123",
"website": "xyz789",
"taxNumber": "abc123",
"vatId": "xyz789",
"tags": ["xyz789"]
}
UpdateSupplierPayload
Fields
| Field Name | Description |
|---|---|
supplier - Supplier
|
Example
{"supplier": Supplier}
UpdateTicketInput
Fields
| Input Field | Description |
|---|---|
ticketId - ID!
|
|
objectRoomId - ID
|
|
orderId - ID
|
|
sourceOperationId - ID
|
|
type - TicketType
|
|
isPublic - Boolean
|
|
inputChannel - TicketInputChannel
|
|
location - String
|
|
description - String!
|
|
priority - TicketPriority!
|
|
discoverDate - Date
|
|
dueDate - Date
|
Example
{
"ticketId": 4,
"objectRoomId": "4",
"orderId": "4",
"sourceOperationId": 4,
"type": "COMPLAINT",
"isPublic": true,
"inputChannel": "PORTAL",
"location": "xyz789",
"description": "abc123",
"priority": "LOW",
"discoverDate": "2007-12-03",
"dueDate": "2007-12-03"
}
UpdateTicketPayload
Fields
| Field Name | Description |
|---|---|
ticket - Ticket
|
Example
{"ticket": Ticket}
UpdateTimeRecordBreakInput
UpdateTimeRecordBreakPayload
Fields
| Field Name | Description |
|---|---|
timeRecordBreak - TimeRecordBreak
|
Example
{"timeRecordBreak": TimeRecordBreak}
UpdateTimeRecordInput
Fields
| Input Field | Description |
|---|---|
timeRecordId - ID!
|
|
start - DateTime!
|
Start of time record in UTC |
end - DateTime!
|
End of time record in UTC |
journeyStart - DateTime
|
Start of journey in UTC (must be before start) |
breakDuration - Int
|
Total break duration in seconds; applied only when hasTotalBreakInput is true |
hasTotalBreakInput - Boolean
|
true: use breakDuration as the manual total and remove individual breaks; false: recompute breakDuration from individual breaks |
Example
{
"timeRecordId": "4",
"start": "2007-12-03T10:15:30Z",
"end": "2007-12-03T10:15:30Z",
"journeyStart": "2007-12-03T10:15:30Z",
"breakDuration": 987,
"hasTotalBreakInput": true
}
UpdateTimeRecordPayload
Fields
| Field Name | Description |
|---|---|
timeRecord - TimeRecord
|
Example
{"timeRecord": TimeRecord}
WorkingTimeModelAbsenceDurationCalculation
Description
How the credited duration of an absence day is calculated.
Values
| Enum Value | Description |
|---|---|
|
|
From the planned operation hours of that day. |
|
|
From the model's target hours for that day. |
Example
"PLAN_HOURS"
WorkingTimeModelPaidInterimCalculation
Description
How gaps between two consecutive time records of a day are paid.
Values
| Enum Value | Description |
|---|---|
|
|
The whole gap is paid. |
|
|
The whole gap is paid when the journey exceeds half of it, otherwise only the journey time. |
|
|
Only the journey time within the gap is paid. |
|
|
Gaps are unpaid. |
Example
"FULL_INTERIM"
WorkingTimeModelSalaryCalculation
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACTUAL_HOURS"