Mendato API

API Reference for Mendato API

Terms of Service

https://www.mendato.com/agb

API Endpoints
https://api.mendato.com/graphql
Version

1.0.0

Queries

company

Response

Returns a Company

Example

Query
query company {
  company {
    id
    companyName
    legalForm
    streetAddress
    zip
    city
    country
    taxNumber
    vatId
    email
    phone
    fax
    website
    iban
    bic
    registerCourt
    companyRegistrationNumber
    managingDirectors {
      ...ManagingDirectorFragment
    }
    logoUrl
    createdAt
  }
}
Response
{
  "data": {
    "company": {
      "id": 4,
      "companyName": "xyz789",
      "legalForm": "DE_EINZELUNTERNEHMER",
      "streetAddress": "abc123",
      "zip": "xyz789",
      "city": "xyz789",
      "country": "US",
      "taxNumber": "abc123",
      "vatId": "xyz789",
      "email": "abc123",
      "phone": "xyz789",
      "fax": "xyz789",
      "website": "xyz789",
      "iban": "xyz789",
      "bic": "xyz789",
      "registerCourt": "abc123",
      "companyRegistrationNumber": "abc123",
      "managingDirectors": [ManagingDirector],
      "logoUrl": "http://www.test.com/",
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

customer

Response

Returns a Customer

Arguments
Name Description
id - ID!

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
    note
    createdAt
    invoices {
      ...InvoiceConnectionFragment
    }
    estimates {
      ...EstimateConnectionFragment
    }
    receipts {
      ...ReceiptConnectionFragment
    }
    objects {
      ...ObjectConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "customer": {
      "id": "4",
      "number": 123,
      "type": "PERSON",
      "salutation": "abc123",
      "firstName": "abc123",
      "lastName": "xyz789",
      "companyName": "abc123",
      "addressSupplement": "abc123",
      "streetAddress": "xyz789",
      "zip": "abc123",
      "city": "abc123",
      "country": "US",
      "emails": [CustomerEmail],
      "phone": "xyz789",
      "fax": "abc123",
      "website": "xyz789",
      "vatId": "xyz789",
      "note": "xyz789",
      "createdAt": "2007-12-03T10:15:30Z",
      "invoices": InvoiceConnection,
      "estimates": EstimateConnection,
      "receipts": ReceiptConnection,
      "objects": ObjectConnection
    }
  }
}

customers

Response

Returns a CustomerConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
query - String Query for number, name, addressSupplement, email or contact person name

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": "xyz789",
  "before": "abc123",
  "first": 123,
  "last": 987,
  "query": "xyz789"
}
Response
{
  "data": {
    "customers": {
      "edges": [CustomerEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

employee

Response

Returns an Employee

Arguments
Name Description
id - ID!

Example

Query
query employee($id: ID!) {
  employee(id: $id) {
    id
    salutation
    firstName
    lastName
    status
    cancelDate
    addressSupplement
    streetAddress
    zip
    city
    country
    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": "abc123",
      "lastName": "abc123",
      "status": "IDLE",
      "cancelDate": "2007-12-03",
      "addressSupplement": "xyz789",
      "streetAddress": "abc123",
      "zip": "abc123",
      "city": "abc123",
      "country": "US",
      "email": "xyz789",
      "phone": "xyz789",
      "birthDate": "2007-12-03",
      "personnelNumberPrefix": "xyz789",
      "personnelNumber": 123,
      "fullPersonnelNumber": "abc123",
      "note": "xyz789",
      "hasDrivingLicenceClassB": false,
      "locationBasedTimeRecording": true,
      "createdAt": "2007-12-03T10:15:30Z",
      "profilePicture": EmployeeProfilePicture,
      "timeAccount": EmployeeTimeAccount,
      "activeWorkingTimeModel": EmployeeWorkingTimeModel
    }
  }
}

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": "xyz789",
  "before": "xyz789",
  "first": 123,
  "last": 987,
  "ids": ["4"],
  "query": "abc123",
  "status": "IDLE",
  "statusCheckDate": "2007-12-03",
  "serviceId": 4,
  "cityOrZip": "abc123",
  "hasDrivingLicenceClassB": true,
  "orderBy": EmployeeOrder
}
Response
{
  "data": {
    "employees": {
      "edges": [EmployeeEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

estimate

Response

Returns an Estimate

Arguments
Name Description
id - ID!

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
    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": "abc123",
      "closingText": "abc123",
      "estimatePdf": "abc123",
      "webUrl": "http://www.test.com/",
      "webEnabled": true,
      "isAnsweredByCustomer": true,
      "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",
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

estimateDraft

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
  }
}
Variables
{"estimateId": "4"}
Response
{
  "data": {
    "estimateDraft": {
      "customer": Customer,
      "status": "DRAFT",
      "number": 987,
      "estimateDate": "2007-12-03",
      "validityDate": "2007-12-03",
      "items": [EstimateDraftItem],
      "introductionText": "abc123",
      "closingText": "xyz789"
    }
  }
}

estimateItem

Response

Returns an EstimateItem

Arguments
Name Description
id - ID!

Example

Query
query estimateItem($id: ID!) {
  estimateItem(id: $id) {
    id
    title
    description
    quantity
    unitPrice
    taxRate
    unit
    createdAt
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "estimateItem": {
      "id": "4",
      "title": "abc123",
      "description": "abc123",
      "quantity": 987.65,
      "unitPrice": 987,
      "taxRate": 987,
      "unit": "abc123",
      "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
orderBy - EstimateOrder

Example

Query
query estimates(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int,
  $query: String,
  $orderBy: EstimateOrder
) {
  estimates(
    after: $after,
    before: $before,
    first: $first,
    last: $last,
    query: $query,
    orderBy: $orderBy
  ) {
    edges {
      ...EstimateEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "abc123",
  "before": "xyz789",
  "first": 987,
  "last": 987,
  "query": "xyz789",
  "orderBy": EstimateOrder
}
Response
{
  "data": {
    "estimates": {
      "edges": [EstimateEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

holiday

Response

Returns a Holiday

Arguments
Name Description
id - ID!

Example

Query
query holiday($id: ID!) {
  holiday(id: $id) {
    id
    date
    name
    country
    state
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "holiday": {
      "id": 4,
      "date": "2007-12-03",
      "name": "xyz789",
      "country": "US",
      "state": StateCode
    }
  }
}

invoice

Response

Returns an Invoice

Arguments
Name Description
id - ID!

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
    hasKleinunternehmerregelung
    introductionText
    closingText
    isNegative
    invoicePdf
    sentManually
    completedAt
    sentAt
    paidAt
    cancelledAt
    createdAt
    payments {
      ...PaymentFragment
    }
    originalInvoice {
      ...InvoiceFragment
    }
    cancellationInvoice {
      ...InvoiceFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "invoice": {
      "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": false,
      "invoiceDate": "2007-12-03",
      "deliveryDate": SingleDate,
      "totalAmount": 987,
      "totalNetAmount": 123,
      "hasKleinunternehmerregelung": false,
      "introductionText": "abc123",
      "closingText": "xyz789",
      "isNegative": false,
      "invoicePdf": "abc123",
      "sentManually": false,
      "completedAt": "2007-12-03T10:15:30Z",
      "sentAt": "2007-12-03T10:15:30Z",
      "paidAt": "2007-12-03",
      "cancelledAt": "2007-12-03",
      "createdAt": "2007-12-03T10:15:30Z",
      "payments": [Payment],
      "originalInvoice": Invoice,
      "cancellationInvoice": Invoice
    }
  }
}

invoiceDraft

Response

Returns an InvoiceDraft

Arguments
Name Description
estimateId - ID
invoiceId - ID

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
  }
}
Variables
{"estimateId": 4, "invoiceId": "4"}
Response
{
  "data": {
    "invoiceDraft": {
      "customer": Customer,
      "status": "DRAFT",
      "number": 123,
      "dueDate": "2007-12-03",
      "dueDateFormat": "DAYS",
      "hideDueDateText": false,
      "invoiceDate": "2007-12-03",
      "deliveryDate": SingleDate,
      "items": [InvoiceDraftItem],
      "introductionText": "xyz789",
      "closingText": "abc123"
    }
  }
}

invoiceItem

Response

Returns an InvoiceItem

Arguments
Name Description
id - ID!

Example

Query
query invoiceItem($id: ID!) {
  invoiceItem(id: $id) {
    id
    title
    description
    quantity
    unitPrice
    taxRate
    unit
    createdAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "invoiceItem": {
      "id": "4",
      "title": "xyz789",
      "description": "abc123",
      "quantity": 123.45,
      "unitPrice": 987,
      "taxRate": 123,
      "unit": "abc123",
      "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
orderBy - InvoiceOrder

Example

Query
query invoices(
  $after: String,
  $before: String,
  $first: Int,
  $last: Int,
  $query: String,
  $orderBy: InvoiceOrder
) {
  invoices(
    after: $after,
    before: $before,
    first: $first,
    last: $last,
    query: $query,
    orderBy: $orderBy
  ) {
    edges {
      ...InvoiceEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
    totalCount
  }
}
Variables
{
  "after": "abc123",
  "before": "abc123",
  "first": 987,
  "last": 987,
  "query": "xyz789",
  "orderBy": InvoiceOrder
}
Response
{
  "data": {
    "invoices": {
      "edges": [InvoiceEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

nextEmployeePersonnelNumber

Response

Returns an Int!

Example

Query
query nextEmployeePersonnelNumber {
  nextEmployeePersonnelNumber
}
Response
{"data": {"nextEmployeePersonnelNumber": 987}}

object

Response

Returns an Object

Arguments
Name Description
id - ID!

Example

Query
query object($id: ID!) {
  object(id: $id) {
    id
    customer {
      ...CustomerFragment
    }
    number
    name
    addressSupplement
    streetAddress
    zip
    city
    country
    state {
      ...StateFragment
    }
    email
    phone
    createdAt
    rooms {
      ...ObjectRoomConnectionFragment
    }
    invoices {
      ...InvoiceConnectionFragment
    }
    estimates {
      ...EstimateConnectionFragment
    }
    receipts {
      ...ReceiptConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "object": {
      "id": 4,
      "customer": Customer,
      "number": 987,
      "name": "abc123",
      "addressSupplement": "abc123",
      "streetAddress": "abc123",
      "zip": "xyz789",
      "city": "abc123",
      "country": "US",
      "state": State,
      "email": "xyz789",
      "phone": "xyz789",
      "createdAt": "2007-12-03T10:15:30Z",
      "rooms": ObjectRoomConnection,
      "invoices": InvoiceConnection,
      "estimates": EstimateConnection,
      "receipts": ReceiptConnection
    }
  }
}

objects

Response

Returns an ObjectConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
query - String Query by number, name, streetAddress, zip, city
orderBy - ObjectOrder

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": "xyz789",
  "before": "xyz789",
  "first": 123,
  "last": 123,
  "query": "abc123",
  "orderBy": ObjectOrder
}
Response
{
  "data": {
    "objects": {
      "edges": [ObjectEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

operation

Response

Returns an Operation

Arguments
Name Description
id - ID!

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
    }
    createdAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "operation": {
      "id": "4",
      "object": Object,
      "instructions": "abc123",
      "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,
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

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": 123,
  "last": 123,
  "executionFrom": "2007-12-03",
  "executionTo": "2007-12-03",
  "hasEmployee": false,
  "hasTimeRecord": false,
  "hideAbsent": true,
  "orderBy": OperationExecutorOrder
}
Response
{
  "data": {
    "operationExecutors": {
      "edges": [OperationExecutorEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

operationExecutorsMissingCheckIn

Response

Returns an OperationExecutorConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
minutesToBeLate - Int

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": "abc123",
  "before": "xyz789",
  "first": 987,
  "last": 987,
  "minutesToBeLate": 987
}
Response
{
  "data": {
    "operationExecutorsMissingCheckIn": {
      "edges": [OperationExecutorEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

operationReports

Response

Returns an OperationReportConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
operationId - ID
query - String Query by body content
orderBy - OperationReportOrder

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": "abc123",
  "before": "abc123",
  "first": 987,
  "last": 987,
  "operationId": 4,
  "query": "xyz789",
  "orderBy": OperationReportOrder
}
Response
{
  "data": {
    "operationReports": {
      "edges": [OperationReportEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

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": "xyz789",
      "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
    completedAt
    createdAt
    rooms {
      ...OperationServiceTaskRoomConnectionFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "operationServiceTask": {
      "id": "4",
      "operationService": OperationService,
      "serviceArea": ServiceArea,
      "orderServiceTask": OrderServiceTask,
      "position": 987,
      "title": "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": "abc123",
  "first": 987,
  "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": ["xyz789"],
  "cities": ["abc123"],
  "orderBy": OperationOrder
}
Response
{
  "data": {
    "operations": {
      "edges": [OperationEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

order

Response

Returns an Order

Arguments
Name Description
id - ID!

Example

Query
query order($id: ID!) {
  order(id: $id) {
    id
    number
    object {
      ...ObjectFragment
    }
    instructions
    status
    requiredExecutors
    missingExecutors
    executionOnHolidays
    startDate
    endDate
    latestOperation {
      ...OperationFragment
    }
    services {
      ...OrderServiceFragment
    }
    shifts {
      ...OrderShiftConnectionFragment
    }
    executors {
      ...OrderExecutorConnectionFragment
    }
    operations {
      ...OperationConnectionFragment
    }
    tickets {
      ...TicketConnectionFragment
    }
    cancelledAt
    createdAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "order": {
      "id": 4,
      "number": 987,
      "object": Object,
      "instructions": "abc123",
      "status": "ACTIVE",
      "requiredExecutors": 123,
      "missingExecutors": 123,
      "executionOnHolidays": false,
      "startDate": "2007-12-03",
      "endDate": "2007-12-03",
      "latestOperation": Operation,
      "services": [OrderService],
      "shifts": OrderShiftConnection,
      "executors": OrderExecutorConnection,
      "operations": OperationConnection,
      "tickets": TicketConnection,
      "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
    }
  }
}
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
    }
  }
}

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
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "orderService": {
      "id": 4,
      "order": Order,
      "service": Service,
      "position": 123,
      "title": "xyz789",
      "unit": "xyz789",
      "hasPersonHourUnit": false,
      "executionOnDemand": false,
      "demandRrule": "xyz789",
      "nextDemandDate": "2007-12-03",
      "lastExecutionDate": "2007-12-03",
      "updatedAt": "2007-12-03T10:15:30Z",
      "createdAt": "2007-12-03T10:15:30Z",
      "tasks": OrderServiceTaskConnection
    }
  }
}

orderServices

Response

Returns an OrderServiceConnection

Arguments
Name Description
after - String
before - String
first - Int
last - Int
query - String Query by title
objectId - ID
orderId - ID
serviceIds - [ID!]
executionOnDemand - Boolean
nextDemandDateFrom - Date
nextDemandDateTo - Date
orderStatus - OrderStatus
orderBy - OrderServiceOrder

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": "xyz789",
  "before": "abc123",
  "first": 123,
  "last": 987,
  "query": "abc123",
  "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": 987
    }
  }
}

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
    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": false,
      "duration": 123,
      "requiredExecutors": 123,
      "deviatingInstructions": "abc123",
      "createServiceReceipt": false,
      "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
hasNoOperations - Boolean
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": "xyz789",
  "before": "xyz789",
  "first": 987,
  "last": 123,
  "query": "abc123",
  "customerId": 4,
  "objectId": "4",
  "serviceIds": ["4"],
  "status": "ACTIVE",
  "isExecutorMissing": false,
  "hasNoOperations": false,
  "orderBy": OrderOrder
}
Response
{
  "data": {
    "orders": {
      "edges": [OrderEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

receipt

Response

Returns a Receipt

Arguments
Name Description
id - ID!

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
    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": 123,
      "dueDate": "2007-12-03",
      "receiptDate": "2007-12-03",
      "files": [ReceiptFile],
      "paidAt": "2007-12-03",
      "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": 123,
      "taxRate": 123,
      "totalAmount": 987,
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

receipts

Response

Returns a ReceiptConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
query - String Query for number
orderBy - ReceiptOrder

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": "xyz789",
  "before": "abc123",
  "first": 123,
  "last": 987,
  "query": "abc123",
  "orderBy": ReceiptOrder
}
Response
{
  "data": {
    "receipts": {
      "edges": [ReceiptEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

service

Response

Returns a Service

Arguments
Name Description
id - ID!

Example

Query
query service($id: ID!) {
  service(id: $id) {
    id
    title
    description
    unitPrice
    taxRate
    unit
    areas {
      ...ServiceAreaFragment
    }
    createdAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "service": {
      "id": "4",
      "title": "abc123",
      "description": "abc123",
      "unitPrice": 987,
      "taxRate": 123,
      "unit": "xyz789",
      "areas": [ServiceArea],
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

services

Response

Returns a ServiceConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
query - String Query by title
hideEmployeeId - ID
excludeIds - [ID!]
orderBy - ServiceOrder

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": "xyz789",
  "before": "xyz789",
  "first": 987,
  "last": 987,
  "query": "xyz789",
  "hideEmployeeId": 4,
  "excludeIds": [4],
  "orderBy": ServiceOrder
}
Response
{
  "data": {
    "services": {
      "edges": [ServiceEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

state

Response

Returns a State

Arguments
Name Description
id - ID!

Example

Query
query state($id: ID!) {
  state(id: $id) {
    id
    name
    countryCode
    stateCode
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "state": {
      "id": 4,
      "name": "abc123",
      "countryCode": "US",
      "stateCode": StateCode
    }
  }
}

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
    note
    createdAt
    receipts {
      ...ReceiptConnectionFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "subcontractor": {
      "id": 4,
      "company": Company,
      "number": 123,
      "type": "PERSON",
      "salutation": "abc123",
      "firstName": "abc123",
      "lastName": "xyz789",
      "companyName": "xyz789",
      "addressSupplement": "xyz789",
      "streetAddress": "abc123",
      "zip": "xyz789",
      "city": "abc123",
      "country": "US",
      "email": "xyz789",
      "phone": "abc123",
      "fax": "abc123",
      "website": "abc123",
      "taxNumber": "xyz789",
      "vatId": "xyz789",
      "note": "abc123",
      "createdAt": "2007-12-03T10:15:30Z",
      "receipts": ReceiptConnection
    }
  }
}

subcontractors

Response

Returns a SubcontractorConnection!

Arguments
Name Description
after - String
before - String
first - Int
last - Int
query - String Query for number, name, addressSupplement, email or contact person name

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": "abc123",
  "before": "xyz789",
  "first": 987,
  "last": 987,
  "query": "abc123"
}
Response
{
  "data": {
    "subcontractors": {
      "edges": [SubcontractorEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

ticket

Response

Returns a Ticket

Arguments
Name Description
id - ID!

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
    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": true,
      "inputChannel": "PORTAL",
      "location": "xyz789",
      "description": "abc123",
      "status": "OPEN",
      "priority": "LOW",
      "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": "abc123",
  "type": "COMPLAINT",
  "isPublic": true,
  "status": "OPEN",
  "priority": "LOW",
  "orderBy": TicketOrder
}
Response
{
  "data": {
    "tickets": {
      "edges": [TicketEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

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": 987,
      "breakDuration": 987,
      "hasTotalBreakInput": false,
      "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 it returns ether TimeRecords which are running or not
isConfirmed - Boolean If set it returns ether TimeRecords which are confirmed or not
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": "xyz789",
  "before": "xyz789",
  "first": 123,
  "last": 123,
  "dateFrom": "2007-12-03",
  "dateTo": "2007-12-03",
  "isRunning": false,
  "isConfirmed": false,
  "orderBy": TimeRecordOrder
}
Response
{
  "data": {
    "timeRecords": {
      "edges": [TimeRecordEdge],
      "pageInfo": PageInfo,
      "totalCount": 123
    }
  }
}

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": "abc123",
  "before": "xyz789",
  "first": 987,
  "last": 123,
  "query": "xyz789",
  "hasBillingItems": false,
  "hasMissingBillingItemQuantity": true,
  "executionFrom": "2007-12-03",
  "executionTo": "2007-12-03",
  "serviceIds": [4],
  "zips": ["abc123"],
  "cities": ["abc123"],
  "orderBy": OperationOrder
}
Response
{
  "data": {
    "unassignedOperations": {
      "edges": [OperationEdge],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

Mutations

acceptEstimate

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}}}

cancelInvoice

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}}}

completeEstimate

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

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}}}

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}}}

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

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}}}

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

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

Arguments
Name Description
input - CreateOperationReportFileFromCommentInput!

Example

Query
mutation createOperationReportFileFromComment($input: CreateOperationReportFileFromCommentInput!) {
  createOperationReportFileFromComment(input: $input) {
    operationReportFiles {
      ...OperationReportFileFragment
    }
  }
}
Variables
{"input": CreateOperationReportFileFromCommentInput}
Response
{
  "data": {
    "createOperationReportFileFromComment": {
      "operationReportFiles": [OperationReportFile]
    }
  }
}

createPayment

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
    }
  }
}

createReceipt

Response

Returns a CreateReceiptPayload

Arguments
Name Description
input - CreateReceiptInput!

Example

Query
mutation createReceipt($input: CreateReceiptInput!) {
  createReceipt(input: $input) {
    receipt {
      ...ReceiptFragment
    }
  }
}
Variables
{"input": CreateReceiptInput}
Response
{"data": {"createReceipt": {"receipt": Receipt}}}

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
    }
  }
}

declineEstimate

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"
    }
  }
}

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

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"
    }
  }
}

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

Arguments
Name Description
input - DeleteOperationReportFileInput!

Example

Query
mutation deleteOperationReportFile($input: DeleteOperationReportFileInput!) {
  deleteOperationReportFile(input: $input) {
    deletedOperationReportFileId
  }
}
Variables
{"input": DeleteOperationReportFileInput}
Response
{"data": {"deleteOperationReportFile": {"deletedOperationReportFileId": 4}}}

deletePayment

Response

Returns a DeletePaymentPayload

Arguments
Name Description
input - DeletePaymentInput!

Example

Query
mutation deletePayment($input: DeletePaymentInput!) {
  deletePayment(input: $input) {
    deletedPaymentId
    invoice {
      ...InvoiceFragment
    }
    receipt {
      ...ReceiptFragment
    }
  }
}
Variables
{"input": DeletePaymentInput}
Response
{
  "data": {
    "deletePayment": {
      "deletedPaymentId": "4",
      "invoice": Invoice,
      "receipt": Receipt
    }
  }
}

deleteReceipt

Response

Returns a DeleteReceiptPayload

Arguments
Name Description
input - DeleteReceiptInput!

Example

Query
mutation deleteReceipt($input: DeleteReceiptInput!) {
  deleteReceipt(input: $input) {
    deletedReceiptId
  }
}
Variables
{"input": DeleteReceiptInput}
Response
{"data": {"deleteReceipt": {"deletedReceiptId": 4}}}

deleteReceiptFile

Response

Returns a DeleteReceiptFilePayload

Arguments
Name Description
input - DeleteReceiptFileInput!

Example

Query
mutation deleteReceiptFile($input: DeleteReceiptFileInput!) {
  deleteReceiptFile(input: $input) {
    deletedReceiptFileId
  }
}
Variables
{"input": DeleteReceiptFileInput}
Response
{"data": {"deleteReceiptFile": {"deletedReceiptFileId": 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"
    }
  }
}

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}}}

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}
  }
}

updateInvoice

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}}}

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
    }
  }
}

updateReceipt

Response

Returns an UpdateReceiptPayload

Arguments
Name Description
input - UpdateReceiptInput!

Example

Query
mutation updateReceipt($input: UpdateReceiptInput!) {
  updateReceipt(input: $input) {
    receipt {
      ...ReceiptFragment
    }
  }
}
Variables
{"input": UpdateReceiptInput}
Response
{"data": {"updateReceipt": {"receipt": Receipt}}}

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
    }
  }
}

uploadReceiptFile

Response

Returns an UploadReceiptFilePayload

Arguments
Name Description
input - UploadReceiptFileInput!

Example

Query
mutation uploadReceiptFile($input: UploadReceiptFileInput!) {
  uploadReceiptFile(input: $input) {
    receiptFile {
      ...ReceiptFileFragment
    }
  }
}
Variables
{"input": UploadReceiptFileInput}
Response
{
  "data": {
    "uploadReceiptFile": {"receiptFile": ReceiptFile}
  }
}

Types

Absence

Fields
Field Name Description
id - ID!
employee - Employee!
type - AbsenceType!
status - AbsenceStatus!
start - DateTime!
end - DateTime!
allDay - Boolean!
daysCount - Float
hoursCount - Float
countSetManually - Boolean!
note - String
operationExecutors - OperationExecutorConnection!
Arguments
after - String
before - String
first - Int
last - Int
hasTimeRecord - Boolean
hideAbsent - Boolean
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",
  "allDay": true,
  "daysCount": 123.45,
  "hoursCount": 123.45,
  "countSetManually": false,
  "note": "xyz789",
  "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

PENDING

APPROVED

DECLINED

Example
"PENDING"

AbsenceType

Values
Enum Value Description

VACATION

SICK

Example
"VACATION"

AcceptEstimateInput

Fields
Input Field Description
estimateId - ID!
Example
{"estimateId": 4}

AcceptEstimatePayload

Fields
Field Name Description
estimate - Estimate
Example
{"estimate": Estimate}

Base64File

Example
Base64File

Boolean

Description

The Boolean scalar type represents true or false.

CancelInvoiceInput

Fields
Input Field Description
invoiceId - ID!
Example
{"invoiceId": "4"}

CancelInvoicePayload

Fields
Field Name Description
invoice - Invoice
Example
{"invoice": Invoice}

Company

Fields
Field Name Description
id - ID!
companyName - String
legalForm - LegalForm
streetAddress - String
zip - String
city - String
country - CountryCode
taxNumber - String
vatId - String
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": "abc123",
  "city": "xyz789",
  "country": "US",
  "taxNumber": "xyz789",
  "vatId": "abc123",
  "email": "xyz789",
  "phone": "xyz789",
  "fax": "abc123",
  "website": "abc123",
  "iban": "abc123",
  "bic": "xyz789",
  "registerCourt": "xyz789",
  "companyRegistrationNumber": "abc123",
  "managingDirectors": [ManagingDirector],
  "logoUrl": "http://www.test.com/",
  "createdAt": "2007-12-03T10:15:30Z"
}

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}

CountryCode

Description

ISO 3166-1 alpha-2 country codes

Example
"US"

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
Example
{
  "type": "PERSON",
  "salutation": "abc123",
  "firstName": "abc123",
  "lastName": "abc123",
  "companyName": "abc123",
  "addressSupplement": "xyz789",
  "streetAddress": "xyz789",
  "zip": "xyz789",
  "city": "abc123",
  "country": "US",
  "emails": [CreateCustomerEmailInput],
  "phone": "xyz789",
  "fax": "xyz789",
  "website": "xyz789",
  "vatId": "abc123"
}

CreateCustomerPayload

Fields
Field Name Description
customer - Customer
Example
{"customer": Customer}

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": "abc123"
}

CreateEstimateItemInput

Fields
Input Field Description
title - String!
description - String
quantity - Float!
unitPrice - Int!
taxRate - Int!
unit - String
productId - ID
Example
{
  "title": "abc123",
  "description": "abc123",
  "quantity": 123.45,
  "unitPrice": 987,
  "taxRate": 123,
  "unit": "abc123",
  "productId": "4"
}

CreateEstimatePayload

Fields
Field Name Description
estimate - Estimate
Example
{"estimate": Estimate}

CreateInvoiceDeliveryDateInput

Description

Either date or start and end can be set. Date will be set to current date if date, start and end is empty.

Fields
Input Field Description
date - Date
start - Date
end - Date
Example
{
  "date": "2007-12-03",
  "start": "2007-12-03",
  "end": "2007-12-03"
}

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": false
}

CreateInvoiceItemInput

Fields
Input Field Description
title - String!
description - String
quantity - Float!
unitPrice - Int!
taxRate - Int!
unit - String
productId - ID
Example
{
  "title": "xyz789",
  "description": "abc123",
  "quantity": 987.65,
  "unitPrice": 987,
  "taxRate": 987,
  "unit": "xyz789",
  "productId": "4"
}

CreateInvoicePayload

Fields
Field Name Description
invoice - Invoice
Example
{"invoice": Invoice}

CreateInvoiceStatus

Values
Enum Value Description

DRAFT

COMPLETED

PAID

Example
"DRAFT"

CreateOperationReportFileFromCommentInput

Fields
Input Field Description
operationCommentFileIds - [ID!]! IDs of the OperationCommentFiles to copy from
operationReportId - ID Optional: ID of an existing OperationReport to link the files to
Example
{
  "operationCommentFileIds": [4],
  "operationReportId": "4"
}

CreateOperationReportFileFromCommentPayload

Fields
Field Name Description
operationReportFiles - [OperationReportFile!]!
Example
{"operationReportFiles": [OperationReportFile]}

CreateOperationReportFileInput

Fields
Input Field Description
operationReportId - ID Either operationReportId or operationId must be provided
operationId - ID
fileName - String! Name of the file with extension
mimeType - String! MIME type of the file
Example
{
  "operationReportId": 4,
  "operationId": "4",
  "fileName": "xyz789",
  "mimeType": "xyz789"
}

CreateOperationReportFilePayload

Fields
Field Name Description
uploadUrl - URL
operationReportFile - OperationReportFile
Example
{
  "uploadUrl": "http://www.test.com/",
  "operationReportFile": OperationReportFile
}

CreateOperationReportInput

Fields
Input Field Description
operationId - ID!
description - String
operationReportFileIds - [ID!] Optional: IDs of previously created OperationReportFiles to link
Example
{
  "operationId": 4,
  "description": "xyz789",
  "operationReportFileIds": ["4"]
}

CreateOperationReportPayload

Fields
Field Name Description
operationReport - OperationReport!
Example
{"operationReport": OperationReport}

CreatePaymentInput

Fields
Input Field Description
invoiceId - ID
receiptId - ID
amount - Int!
paymentDate - Date!
Example
{
  "invoiceId": 4,
  "receiptId": "4",
  "amount": 123,
  "paymentDate": "2007-12-03"
}

CreatePaymentPayload

Fields
Field Name Description
payment - Payment
invoice - Invoice
Example
{
  "payment": Payment,
  "invoice": Invoice
}

CreateReceiptElementInput

Fields
Input Field Description
netAmount - Int!
taxAmount - Int!
taxRate - Int!
Example
{"netAmount": 987, "taxAmount": 123, "taxRate": 123}

CreateReceiptFileInput

Fields
Input Field Description
receiptFileId - ID!
Example
{"receiptFileId": 4}

CreateReceiptInput

Fields
Input Field Description
customerId - ID
subcontractorId - ID
type - ReceiptType!
number - String!
dueDate - Date!
receiptDate - Date!
elements - [CreateReceiptElementInput]
files - [CreateReceiptFileInput]
Example
{
  "customerId": 4,
  "subcontractorId": "4",
  "type": "EXPENSE",
  "number": "xyz789",
  "dueDate": "2007-12-03",
  "receiptDate": "2007-12-03",
  "elements": [CreateReceiptElementInput],
  "files": [CreateReceiptFileInput]
}

CreateReceiptPayload

Fields
Field Name Description
receipt - Receipt
Example
{"receipt": Receipt}

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
Example
{
  "type": "PERSON",
  "salutation": "xyz789",
  "firstName": "xyz789",
  "lastName": "abc123",
  "companyName": "abc123",
  "streetAddress": "xyz789",
  "zip": "xyz789",
  "city": "abc123",
  "country": "US",
  "email": "xyz789",
  "phone": "abc123",
  "fax": "xyz789",
  "website": "xyz789",
  "taxNumber": "xyz789",
  "vatId": "abc123"
}

CreateSubcontractorPayload

Fields
Field Name Description
subcontractor - Subcontractor
Example
{"subcontractor": Subcontractor}

Customer

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
note - String
createdAt - DateTime
invoices - InvoiceConnection!
Arguments
after - String
before - String
first - Int
last - Int
estimates - EstimateConnection!
Arguments
after - String
before - String
first - Int
last - Int
receipts - ReceiptConnection!
Arguments
after - String
before - String
first - Int
last - Int
objects - ObjectConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query by number, name, streetAddress, zip, city

orderBy - ObjectOrder
Example
{
  "id": "4",
  "number": 123,
  "type": "PERSON",
  "salutation": "abc123",
  "firstName": "xyz789",
  "lastName": "abc123",
  "companyName": "abc123",
  "addressSupplement": "xyz789",
  "streetAddress": "abc123",
  "zip": "abc123",
  "city": "abc123",
  "country": "US",
  "emails": [CustomerEmail],
  "phone": "abc123",
  "fax": "abc123",
  "website": "abc123",
  "vatId": "xyz789",
  "note": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "invoices": InvoiceConnection,
  "estimates": EstimateConnection,
  "receipts": ReceiptConnection,
  "objects": ObjectConnection
}

CustomerConnection

Fields
Field Name Description
edges - [CustomerEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [CustomerEdge],
  "pageInfo": PageInfo,
  "totalCount": 987
}

CustomerEdge

Fields
Field Name Description
cursor - String!
node - Customer!
Example
{
  "cursor": "abc123",
  "node": Customer
}

CustomerEmail

Fields
Field Name Description
id - ID!
type - CustomerEmailType!
email - String!
createdAt - DateTime!
Example
{
  "id": "4",
  "type": "GENERAL",
  "email": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z"
}

CustomerEmailType

Values
Enum Value Description

GENERAL

INVOICE

Example
"GENERAL"

CustomerType

Values
Enum Value Description

PERSON

COMPANY

Example
"PERSON"

Date

Example
"2007-12-03"

DateRange

Fields
Field Name Description
start - Date!
end - Date!
Example
{
  "start": "2007-12-03",
  "end": "2007-12-03"
}

DateTime

Example
"2007-12-03T10:15:30Z"

DeclineEstimateInput

Fields
Input Field Description
estimateId - ID!
Example
{"estimateId": 4}

DeclineEstimatePayload

Fields
Field Name Description
estimate - Estimate
Example
{"estimate": Estimate}

DeleteCustomerInput

Fields
Input Field Description
customerId - ID!
Example
{"customerId": 4}

DeleteCustomerPayload

Fields
Field Name Description
deletedCustomerId - ID
Example
{"deletedCustomerId": "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}

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"}

DeletePaymentInput

Fields
Input Field Description
paymentId - ID!
Example
{"paymentId": "4"}

DeletePaymentPayload

Fields
Field Name Description
deletedPaymentId - ID
invoice - Invoice
receipt - Receipt
Example
{
  "deletedPaymentId": "4",
  "invoice": Invoice,
  "receipt": Receipt
}

DeleteReceiptFileInput

Fields
Input Field Description
receiptFileId - ID!
Example
{"receiptFileId": "4"}

DeleteReceiptFilePayload

Fields
Field Name Description
deletedReceiptFileId - ID
Example
{"deletedReceiptFileId": "4"}

DeleteReceiptInput

Fields
Input Field Description
receiptId - ID!
Example
{"receiptId": 4}

DeleteReceiptPayload

Fields
Field Name Description
deletedReceiptId - ID
Example
{"deletedReceiptId": "4"}

DeleteSubcontractorInput

Fields
Input Field Description
subcontractorId - ID!
Example
{"subcontractorId": 4}

DeleteSubcontractorPayload

Fields
Field Name Description
deletedSubcontractorId - ID
Example
{"deletedSubcontractorId": "4"}

Employee

Fields
Field Name Description
id - ID!
salutation - String
firstName - String
lastName - String!
status - EmployeeStatus!
Arguments
date - Date
cancelDate - Date
addressSupplement - String
streetAddress - String
zip - String
city - String
country - CountryCode
email - String
phone - String
birthDate - Date
personnelNumberPrefix - String
personnelNumber - Int!
fullPersonnelNumber - String!
note - String
hasDrivingLicenceClassB - Boolean
locationBasedTimeRecording - Boolean!
createdAt - DateTime!
profilePicture - EmployeeProfilePicture
timeAccount - EmployeeTimeAccount
activeWorkingTimeModel - EmployeeWorkingTimeModel
Arguments
date - Date
Example
{
  "id": 4,
  "salutation": "xyz789",
  "firstName": "xyz789",
  "lastName": "abc123",
  "status": "IDLE",
  "cancelDate": "2007-12-03",
  "addressSupplement": "xyz789",
  "streetAddress": "abc123",
  "zip": "xyz789",
  "city": "xyz789",
  "country": "US",
  "email": "xyz789",
  "phone": "abc123",
  "birthDate": "2007-12-03",
  "personnelNumberPrefix": "abc123",
  "personnelNumber": 987,
  "fullPersonnelNumber": "abc123",
  "note": "xyz789",
  "hasDrivingLicenceClassB": true,
  "locationBasedTimeRecording": false,
  "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": 987
}

EmployeeEdge

Fields
Field Name Description
cursor - String!
node - Employee!
Example
{
  "cursor": "abc123",
  "node": Employee
}

EmployeeOrder

Fields
Input Field Description
field - EmployeeOrderField!
direction - OrderDirection!
Example
{"field": "NAME", "direction": "ASC"}

EmployeeOrderField

Values
Enum Value Description

NAME

PERSONNEL_NUMBER

CREATED_AT

Example
"NAME"

EmployeeProfilePicture

Fields
Field Name Description
id - ID!
originalImageUrl - URL!
smallImageUrl - URL!
largeImageUrl - URL!
createdAt - DateTime!
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

IDLE

ACTIVE

CANCELLED

Example
"IDLE"

EmployeeTimeAccount

Fields
Field Name Description
id - ID!
balance - Int!
updatedAt - DateTime!
createdAt - DateTime!
Example
{
  "id": 4,
  "balance": 123,
  "updatedAt": "2007-12-03T10:15:30Z",
  "createdAt": "2007-12-03T10:15:30Z"
}

EmployeeWorkingTimeModel

Fields
Field Name Description
id - ID!
employee - Employee!
startDate - Date!
endDate - Date
weeklyHours - Float!
mondayHours - Float
tuesdayHours - Float
wednesdayHours - Float
thursdayHours - Float
fridayHours - Float
saturdayHours - Float
sundayHours - Float
grossHourlyWage - Int
paidInterimCalculation - WorkingTimeModelPaidInterimCalculation!
isFirstJourneyPaid - Boolean!
salaryCalculation - WorkingTimeModelSalaryCalculation!
absenceDurationCalculation - WorkingTimeModelAbsenceDurationCalculation!
timeAccountEnabled - Boolean!
createdAt - DateTime!
Example
{
  "id": "4",
  "employee": Employee,
  "startDate": "2007-12-03",
  "endDate": "2007-12-03",
  "weeklyHours": 987.65,
  "mondayHours": 123.45,
  "tuesdayHours": 987.65,
  "wednesdayHours": 123.45,
  "thursdayHours": 987.65,
  "fridayHours": 987.65,
  "saturdayHours": 987.65,
  "sundayHours": 123.45,
  "grossHourlyWage": 123,
  "paidInterimCalculation": "FULL_INTERIM",
  "isFirstJourneyPaid": true,
  "salaryCalculation": "ACTUAL_HOURS",
  "absenceDurationCalculation": "PLAN_HOURS",
  "timeAccountEnabled": false,
  "createdAt": "2007-12-03T10:15:30Z"
}

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!
numberPrefix - String
items - [EstimateItem]
estimateDate - Date
validityDate - Date
hasKleinunternehmerregelung - Boolean!
introductionText - String
closingText - String
estimatePdf - String
webUrl - URL!
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
createdAt - DateTime
Example
{
  "id": "4",
  "company": Company,
  "customer": Customer,
  "status": "DRAFT",
  "number": 123,
  "numberPrefix": "abc123",
  "items": [EstimateItem],
  "estimateDate": "2007-12-03",
  "validityDate": "2007-12-03",
  "hasKleinunternehmerregelung": false,
  "introductionText": "xyz789",
  "closingText": "xyz789",
  "estimatePdf": "xyz789",
  "webUrl": "http://www.test.com/",
  "webEnabled": false,
  "isAnsweredByCustomer": false,
  "declineReason": "PRICE_TOO_HIGH",
  "declineNote": "abc123",
  "sentManually": false,
  "completedAt": "2007-12-03T10:15:30Z",
  "sentAt": "2007-12-03T10:15:30Z",
  "acceptedAt": "2007-12-03T10:15:30Z",
  "declinedAt": "2007-12-03T10:15:30Z",
  "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

PRICE_TOO_HIGH

QUALITY_TOO_LOW

FOUND_OTHER_SUPPLIER

NO_MORE_DEMAND

OTHER_REASON

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
Example
{
  "customer": Customer,
  "status": "DRAFT",
  "number": 987,
  "estimateDate": "2007-12-03",
  "validityDate": "2007-12-03",
  "items": [EstimateDraftItem],
  "introductionText": "abc123",
  "closingText": "abc123"
}

EstimateDraftItem

Fields
Field Name Description
title - String
description - String
quantity - Float
unitPrice - Int
taxRate - Int
unit - String
Example
{
  "title": "abc123",
  "description": "xyz789",
  "quantity": 123.45,
  "unitPrice": 987,
  "taxRate": 123,
  "unit": "xyz789"
}

EstimateEdge

Fields
Field Name Description
cursor - String!
node - Estimate!
Example
{
  "cursor": "abc123",
  "node": Estimate
}

EstimateItem

Fields
Field Name Description
id - ID!
title - String
description - String
quantity - Float
unitPrice - Int
taxRate - Int
unit - String
createdAt - DateTime
Example
{
  "id": 4,
  "title": "xyz789",
  "description": "xyz789",
  "quantity": 987.65,
  "unitPrice": 987,
  "taxRate": 123,
  "unit": "abc123",
  "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

CREATED_AT

ESTIMATE_DATE

VALIDITY_DATE

Example
"CREATED_AT"

EstimateStatus

Values
Enum Value Description

DRAFT

COMPLETED

SENT

ACCEPTED

DECLINED

Example
"DRAFT"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

Holiday

Fields
Field Name Description
id - ID!
date - Date!
name - String!
country - CountryCode!
state - StateCode!
Example
{
  "id": "4",
  "date": "2007-12-03",
  "name": "xyz789",
  "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"

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
987

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!
numberPrefix - String
numberSuffix - String
items - [InvoiceItem]
dueDate - Date
dueDateFormat - InvoiceDueDateFormat
hideDueDateText - Boolean! This will hide the due date text on the invoice pdf
invoiceDate - Date
deliveryDate - InvoiceDeliveryDate
totalAmount - Int!
totalNetAmount - Int!
hasKleinunternehmerregelung - Boolean!
introductionText - String
closingText - String
isNegative - Boolean!
invoicePdf - String
sentManually - Boolean
completedAt - DateTime
sentAt - DateTime
paidAt - Date
cancelledAt - Date
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)
Example
{
  "id": "4",
  "company": Company,
  "customer": Customer,
  "type": "INVOICE",
  "status": "DRAFT",
  "number": 123,
  "numberPrefix": "abc123",
  "numberSuffix": "xyz789",
  "items": [InvoiceItem],
  "dueDate": "2007-12-03",
  "dueDateFormat": "DAYS",
  "hideDueDateText": false,
  "invoiceDate": "2007-12-03",
  "deliveryDate": SingleDate,
  "totalAmount": 123,
  "totalNetAmount": 123,
  "hasKleinunternehmerregelung": true,
  "introductionText": "xyz789",
  "closingText": "xyz789",
  "isNegative": true,
  "invoicePdf": "abc123",
  "sentManually": false,
  "completedAt": "2007-12-03T10:15:30Z",
  "sentAt": "2007-12-03T10:15:30Z",
  "paidAt": "2007-12-03",
  "cancelledAt": "2007-12-03",
  "createdAt": "2007-12-03T10:15:30Z",
  "payments": [Payment],
  "originalInvoice": Invoice,
  "cancellationInvoice": Invoice
}

InvoiceConnection

Fields
Field Name Description
edges - [InvoiceEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [InvoiceEdge],
  "pageInfo": PageInfo,
  "totalCount": 123
}

InvoiceDeliveryDate

Types
Union Types

SingleDate

DateRange

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
Example
{
  "customer": Customer,
  "status": "DRAFT",
  "number": 987,
  "dueDate": "2007-12-03",
  "dueDateFormat": "DAYS",
  "hideDueDateText": true,
  "invoiceDate": "2007-12-03",
  "deliveryDate": SingleDate,
  "items": [InvoiceDraftItem],
  "introductionText": "abc123",
  "closingText": "abc123"
}

InvoiceDraftItem

Fields
Field Name Description
title - String
description - String
quantity - Float
unitPrice - Int
taxRate - Int
unit - String
Example
{
  "title": "abc123",
  "description": "xyz789",
  "quantity": 123.45,
  "unitPrice": 123,
  "taxRate": 123,
  "unit": "xyz789"
}

InvoiceDueDateFormat

Values
Enum Value Description

DAYS

DATE

Example
"DAYS"

InvoiceEdge

Fields
Field Name Description
cursor - String!
node - Invoice!
Example
{
  "cursor": "xyz789",
  "node": Invoice
}

InvoiceItem

Fields
Field Name Description
id - ID!
title - String!
description - String
quantity - Float!
unitPrice - Int!
taxRate - Int!
unit - String
createdAt - DateTime
Example
{
  "id": "4",
  "title": "abc123",
  "description": "xyz789",
  "quantity": 987.65,
  "unitPrice": 123,
  "taxRate": 987,
  "unit": "xyz789",
  "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

CREATED_AT

INVOICE_DATE

DUE_DATE

Example
"CREATED_AT"

InvoiceStatus

Values
Enum Value Description

DRAFT

COMPLETED

SENT

PAID

REMINDED

IN_COLLECTION

CANCELLED

Example
"DRAFT"

InvoiceType

Values
Enum Value Description

INVOICE

CANCELLATION

Example
"INVOICE"

LegalForm

Values
Enum Value Description

DE_EINZELUNTERNEHMER

DE_EINGETRAGENER_KAUFMANN

DE_GBR

DE_GMBH

DE_UG

Example
"DE_EINZELUNTERNEHMER"

Location

Fields
Field Name Description
latitude - Float!
longitude - Float!
Example
{"latitude": 123.45, "longitude": 987.65}

ManagingDirector

Fields
Field Name Description
id - ID!
name - String!
Example
{
  "id": "4",
  "name": "xyz789"
}

Object

Fields
Field Name Description
id - ID!
customer - Customer!
number - Int!
name - String
addressSupplement - String
streetAddress - String
zip - String
city - String
country - CountryCode
state - State
email - String
phone - String
createdAt - DateTime!
rooms - ObjectRoomConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for name or building

building - String
floor - String
orderBy - ObjectRoomOrder
invoices - InvoiceConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for numberPrefix and number

orderBy - InvoiceOrder
estimates - EstimateConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for numberPrefix and number

receipts - ReceiptConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for number

orderBy - ReceiptOrder
Example
{
  "id": "4",
  "customer": Customer,
  "number": 987,
  "name": "xyz789",
  "addressSupplement": "xyz789",
  "streetAddress": "abc123",
  "zip": "xyz789",
  "city": "xyz789",
  "country": "US",
  "state": State,
  "email": "xyz789",
  "phone": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "rooms": ObjectRoomConnection,
  "invoices": InvoiceConnection,
  "estimates": EstimateConnection,
  "receipts": ReceiptConnection
}

ObjectConnection

Fields
Field Name Description
edges - [ObjectEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [ObjectEdge],
  "pageInfo": PageInfo,
  "totalCount": 987
}

ObjectEdge

Fields
Field Name Description
cursor - String!
node - Object!
Example
{
  "cursor": "abc123",
  "node": Object
}

ObjectOrder

Fields
Input Field Description
field - ObjectOrderField!
direction - OrderDirection!
Example
{"field": "NUMBER", "direction": "ASC"}

ObjectOrderField

Values
Enum Value Description

NUMBER

ZIP

CITY

CREATED_AT

Example
"NUMBER"

ObjectRoom

Fields
Field Name Description
id - ID!
name - String!
floor - String
building - String
sizeInSquareMeters - Int
note - String
createdAt - DateTime!
Example
{
  "id": "4",
  "name": "abc123",
  "floor": "xyz789",
  "building": "abc123",
  "sizeInSquareMeters": 123,
  "note": "xyz789",
  "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
}

ObjectRoomOrder

Fields
Input Field Description
field - ObjectRoomOrderField!
direction - OrderDirection!
Example
{"field": "NAME", "direction": "ASC"}

ObjectRoomOrderField

Values
Enum Value Description

NAME

SIZE

CREATED_AT

Example
"NAME"

Operation

Fields
Field Name Description
id - ID!
object - Object!
instructions - String
services - [OperationService!]!
requiredExecutors - Int! Minimum number of executors required per operation
missingExecutors - Int!
toDos - [OperationToDo!]!
executor - OperationExecutor
Arguments
employeeId - ID

Ether employeeId or subcontractorId has to be set

subcontractorId - ID

Ether employeeId or subcontractorId has to be set

executors - OperationExecutorConnection
Arguments
after - String
before - String
first - Int
last - Int
hideAbsent - Boolean
isExecuted - Boolean!
executionStartDate - Date!
executionStartTime - Time
executionEndDate - Date!
executionEndTime - Time
duration - Int
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
report - OperationReport
createdAt - DateTime!
Example
{
  "id": "4",
  "object": Object,
  "instructions": "abc123",
  "services": [OperationService],
  "requiredExecutors": 123,
  "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,
  "createdAt": "2007-12-03T10:15:30Z"
}

OperationConnection

Fields
Field Name Description
edges - [OperationEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [OperationEdge],
  "pageInfo": PageInfo,
  "totalCount": 123
}

OperationEdge

Fields
Field Name Description
cursor - String!
node - Operation!
Example
{
  "cursor": "abc123",
  "node": Operation
}

OperationExecutor

Fields
Field Name Description
id - ID!
operation - Operation!
employee - Employee
subcontractor - Subcontractor
orderExecutor - OrderExecutor
timeRecord - TimeRecord
absence - Absence
markedAsNoShowAt - DateTime
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": 123
}

OperationExecutorEdge

Fields
Field Name Description
cursor - String!
node - OperationExecutor!
Example
{
  "cursor": "abc123",
  "node": OperationExecutor
}

OperationExecutorOrder

Fields
Input Field Description
field - OperationExecutorOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

OperationExecutorOrderField

Values
Enum Value Description

CREATED_AT

EXECUTION_START

Example
"CREATED_AT"

OperationOrder

Fields
Input Field Description
field - OperationOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

OperationOrderField

Values
Enum Value Description

CREATED_AT

TITLE

STATUS

UNIT_PRICE

EXECUTION_START

EXECUTION_END

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

Fields
Field Name Description
id - ID!
fileName - String!
mimeType - String!
size - Int
url - URL!
thumbnailUrl - URL
createdAt - DateTime!
Example
{
  "id": "4",
  "fileName": "xyz789",
  "mimeType": "xyz789",
  "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

CREATED_AT

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
Arguments
after - String
before - String
first - Int
last - Int
serviceAreaId - ID
query - String
Example
{
  "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

Fields
Field Name Description
id - ID!
operationService - OperationService!
serviceArea - ServiceArea
orderServiceTask - OrderServiceTask
position - Int!
title - String!
completedAt - DateTime
createdAt - DateTime!
rooms - OperationServiceTaskRoomConnection
Arguments
after - String
before - String
first - Int
last - Int
Example
{
  "id": "4",
  "operationService": OperationService,
  "serviceArea": ServiceArea,
  "orderServiceTask": OrderServiceTask,
  "position": 123,
  "title": "abc123",
  "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

CREATED_AT

POSITION

TITLE

Example
"CREATED_AT"

OperationServiceTaskRoom

Fields
Field Name Description
id - ID!
operationServiceTask - OperationServiceTask!
objectRoom - ObjectRoom!
completedAt - DateTime
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": 123
}

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

CREATED_AT

COMPLETED_AT

Example
"CREATED_AT"

OperationToDo

Values
Enum Value Description

MISSING_QUANTITY

MISSING_TIME_RECORD

UNCONFIRMED_TIME_RECORD

Example
"MISSING_QUANTITY"

Order

Fields
Field Name Description
id - ID!
number - Int!
object - Object!
instructions - String
status - OrderStatus!
requiredExecutors - Int! Minimum number of executors required per operation
missingExecutors - Int!
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
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for interval

isEnded - Boolean
orderBy - OrderShiftOrder
executors - OrderExecutorConnection
Arguments
after - String
before - String
first - Int
last - Int
isActive - Boolean

Executor is not cancelled

operations - OperationConnection!
Arguments
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.

orderExecutorIds - [ID!]
serviceIds - [ID!]
hasNoExecutor - Boolean
orderBy - OperationOrder
tickets - TicketConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query by number

type - TicketType
isPublic - Boolean
status - TicketStatus
priority - TicketPriority
orderBy - TicketOrder
cancelledAt - DateTime
createdAt - DateTime!
Example
{
  "id": "4",
  "number": 987,
  "object": Object,
  "instructions": "abc123",
  "status": "ACTIVE",
  "requiredExecutors": 987,
  "missingExecutors": 987,
  "executionOnHolidays": true,
  "startDate": "2007-12-03",
  "endDate": "2007-12-03",
  "latestOperation": Operation,
  "services": [OrderService],
  "shifts": OrderShiftConnection,
  "executors": OrderExecutorConnection,
  "operations": OperationConnection,
  "tickets": TicketConnection,
  "cancelledAt": "2007-12-03T10:15:30Z",
  "createdAt": "2007-12-03T10:15:30Z"
}

OrderConnection

Fields
Field Name Description
edges - [OrderEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [OrderEdge],
  "pageInfo": PageInfo,
  "totalCount": 123
}

OrderDirection

Values
Enum Value Description

ASC

Specifies an ascending order

DESC

Specifies a descending order
Example
"ASC"

OrderEdge

Fields
Field Name Description
cursor - String!
node - Order!
Example
{
  "cursor": "abc123",
  "node": Order
}

OrderExecutor

Fields
Field Name Description
id - ID!
order - Order!
employee - Employee
subcontractor - Subcontractor
startDate - Date!
cancelDate - Date
isAddedToOrderShift - Boolean!
Arguments
orderShiftId - ID
createdAt - DateTime!
orderShifts - OrderShiftConnection
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for interval

isEnded - Boolean
orderBy - OrderShiftOrder
Example
{
  "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
}

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": "xyz789",
  "node": OrderExecutor
}

OrderOrder

Fields
Input Field Description
field - OrderOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

OrderOrderField

Values
Enum Value Description

CREATED_AT

NUMBER

START_DATE

Example
"CREATED_AT"

OrderService

Fields
Field Name Description
id - ID!
order - Order!
service - Service!
position - Int!
title - String!
unit - String
hasPersonHourUnit - Boolean!
executionOnDemand - Boolean!
demandRrule - String
nextDemandDate - Date
lastExecutionDate - Date
updatedAt - DateTime!
createdAt - DateTime!
tasks - OrderServiceTaskConnection
Arguments
after - String
before - String
first - Int
last - Int
serviceAreaId - ID
query - String
Example
{
  "id": "4",
  "order": Order,
  "service": Service,
  "position": 123,
  "title": "abc123",
  "unit": "xyz789",
  "hasPersonHourUnit": false,
  "executionOnDemand": true,
  "demandRrule": "abc123",
  "nextDemandDate": "2007-12-03",
  "lastExecutionDate": "2007-12-03",
  "updatedAt": "2007-12-03T10:15:30Z",
  "createdAt": "2007-12-03T10:15:30Z",
  "tasks": OrderServiceTaskConnection
}

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": "abc123",
  "node": OrderService
}

OrderServiceOrder

Fields
Input Field Description
field - OrderServiceOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

OrderServiceOrderField

Values
Enum Value Description

CREATED_AT

POSITION

ORDER_NUMBER

ORDER_START_DATE

NEXT_DEMAND_DATE

Example
"CREATED_AT"

OrderServiceTask

Fields
Field Name Description
id - ID!
orderService - OrderService!
serviceArea - ServiceArea
position - Int!
title - String!
createdAt - DateTime!
rooms - OrderServiceTaskRoomConnection
Arguments
after - String
before - String
first - Int
last - Int
Example
{
  "id": 4,
  "orderService": OrderService,
  "serviceArea": ServiceArea,
  "position": 123,
  "title": "xyz789",
  "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": 987
}

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

CREATED_AT

POSITION

TITLE

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": 987
}

OrderServiceTaskRoomEdge

Fields
Field Name Description
cursor - String!
node - OrderServiceTaskRoom!
Example
{
  "cursor": "xyz789",
  "node": OrderServiceTaskRoom
}

OrderServiceTaskRoomOrder

Fields
Input Field Description
field - OrderServiceTaskRoomOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

OrderServiceTaskRoomOrderField

Values
Enum Value Description

CREATED_AT

Example
"CREATED_AT"

OrderShift

Fields
Field Name Description
id - ID!
order - Order!
startDate - Date!
endDate - Date
rrule - String!
timeFrom - Time
timeTo - Time
acrossMidnight - Boolean!
duration - Int
requiredExecutors - Int! Minimum number of executors required per operation
deviatingInstructions - String
createServiceReceipt - Boolean!
orderServices - [OrderService!]!
executors - OrderShiftExecutorConnection
Arguments
after - String
before - String
first - Int
last - Int
isActive - Boolean

OrderExecutor is not cancelled

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": true,
  "duration": 987,
  "requiredExecutors": 123,
  "deviatingInstructions": "xyz789",
  "createServiceReceipt": false,
  "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
}

OrderShiftEdge

Fields
Field Name Description
cursor - String!
node - OrderShift!
Example
{
  "cursor": "abc123",
  "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": 987
}

OrderShiftExecutorEdge

Fields
Field Name Description
cursor - String!
node - OrderShiftExecutor!
Example
{
  "cursor": "abc123",
  "node": OrderShiftExecutor
}

OrderShiftOrder

Fields
Input Field Description
field - OrderShiftOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

OrderShiftOrderField

Values
Enum Value Description

CREATED_AT

INTERVAL

Example
"CREATED_AT"

OrderStatus

Values
Enum Value Description

ACTIVE

ENDED

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": "xyz789",
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "xyz789"
}

Payment

Fields
Field Name Description
id - ID!
amount - Int
paymentDate - Date
invoice - Invoice
receipt - Receipt
createdAt - DateTime
Example
{
  "id": 4,
  "amount": 123,
  "paymentDate": "2007-12-03",
  "invoice": Invoice,
  "receipt": Receipt,
  "createdAt": "2007-12-03T10:15:30Z"
}

Receipt

Fields
Field Name Description
id - ID!
company - Company
customer - Customer
subcontractor - Subcontractor
type - ReceiptType!
status - ReceiptStatus!
number - String
elements - [ReceiptElement]
totalAmount - Int!
outstandingAmount - Int!
dueDate - Date!
receiptDate - Date!
files - [ReceiptFile]
paidAt - Date
createdAt - DateTime
payments - [Payment]
Example
{
  "id": "4",
  "company": Company,
  "customer": Customer,
  "subcontractor": Subcontractor,
  "type": "EXPENSE",
  "status": "UNPAID",
  "number": "abc123",
  "elements": [ReceiptElement],
  "totalAmount": 987,
  "outstandingAmount": 123,
  "dueDate": "2007-12-03",
  "receiptDate": "2007-12-03",
  "files": [ReceiptFile],
  "paidAt": "2007-12-03",
  "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

Fields
Field Name Description
cursor - String!
node - Receipt!
Example
{
  "cursor": "abc123",
  "node": Receipt
}

ReceiptElement

Fields
Field Name Description
id - ID!
netAmount - Int!
taxAmount - Int!
taxRate - Int!
totalAmount - Int!
createdAt - DateTime
Example
{
  "id": 4,
  "netAmount": 123,
  "taxAmount": 987,
  "taxRate": 987,
  "totalAmount": 987,
  "createdAt": "2007-12-03T10:15:30Z"
}

ReceiptFile

Fields
Field Name Description
id - ID!
url - String
mimeType - String
Example
{
  "id": "4",
  "url": "abc123",
  "mimeType": "xyz789"
}

ReceiptOrder

Fields
Input Field Description
field - ReceiptOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

ReceiptOrderField

Values
Enum Value Description

CREATED_AT

RECEIPT_DATE

DUE_DATE

Example
"CREATED_AT"

ReceiptStatus

Values
Enum Value Description

UNPAID

PAID

Example
"UNPAID"

ReceiptType

Values
Enum Value Description

EXPENSE

CREDIT

Example
"EXPENSE"

Service

Fields
Field Name Description
id - ID!
title - String!
description - String
unitPrice - Int
taxRate - Int
unit - String
areas - [ServiceArea!]!
createdAt - DateTime!
Example
{
  "id": "4",
  "title": "xyz789",
  "description": "abc123",
  "unitPrice": 123,
  "taxRate": 123,
  "unit": "abc123",
  "areas": [ServiceArea],
  "createdAt": "2007-12-03T10:15:30Z"
}

ServiceArea

Fields
Field Name Description
id - ID!
title - String!
description - String
createdAt - DateTime!
Example
{
  "id": "4",
  "title": "xyz789",
  "description": "abc123",
  "createdAt": "2007-12-03T10:15:30Z"
}

ServiceConnection

Fields
Field Name Description
edges - [ServiceEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [ServiceEdge],
  "pageInfo": PageInfo,
  "totalCount": 987
}

ServiceEdge

Fields
Field Name Description
cursor - String!
node - Service!
Example
{
  "cursor": "xyz789",
  "node": Service
}

ServiceOrder

Fields
Input Field Description
field - ServiceOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

ServiceOrderField

Values
Enum Value Description

CREATED_AT

TITLE

UNIT_PRICE

Example
"CREATED_AT"

SingleDate

Fields
Field Name Description
date - Date!
Example
{"date": "2007-12-03"}

State

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

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
note - String
createdAt - DateTime!
receipts - ReceiptConnection!
Arguments
after - String
before - String
first - Int
last - Int
Example
{
  "id": 4,
  "company": Company,
  "number": 987,
  "type": "PERSON",
  "salutation": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "companyName": "abc123",
  "addressSupplement": "xyz789",
  "streetAddress": "xyz789",
  "zip": "xyz789",
  "city": "abc123",
  "country": "US",
  "email": "xyz789",
  "phone": "abc123",
  "fax": "abc123",
  "website": "abc123",
  "taxNumber": "abc123",
  "vatId": "xyz789",
  "note": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "receipts": ReceiptConnection
}

SubcontractorConnection

Fields
Field Name Description
edges - [SubcontractorEdge]
pageInfo - PageInfo!
totalCount - Int!
Example
{
  "edges": [SubcontractorEdge],
  "pageInfo": PageInfo,
  "totalCount": 123
}

SubcontractorEdge

Fields
Field Name Description
cursor - String!
node - Subcontractor!
Example
{
  "cursor": "abc123",
  "node": Subcontractor
}

SubcontractorType

Values
Enum Value Description

PERSON

COMPANY

Example
"PERSON"

Ticket

Fields
Field Name Description
id - ID!
object - Object!
objectRoom - ObjectRoom
order - Order
sourceOperation - Operation
number - Int!
type - TicketType
isPublic - Boolean!
inputChannel - TicketInputChannel
location - String
description - String!
status - TicketStatus!
priority - TicketPriority!
dueDate - Date
rejectedAt - DateTime
completedAt - DateTime
files - TicketFileConnection!
Arguments
after - String
before - String
first - Int
last - Int
query - String

Query for fileName

orderBy - TicketFileOrder
operations - OperationConnection!
Arguments
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.

hasNoExecutor - Boolean
zips - [String!]
cities - [String!]
orderBy - OperationOrder
createdAt - DateTime!
Example
{
  "id": 4,
  "object": Object,
  "objectRoom": ObjectRoom,
  "order": Order,
  "sourceOperation": Operation,
  "number": 987,
  "type": "COMPLAINT",
  "isPublic": true,
  "inputChannel": "PORTAL",
  "location": "abc123",
  "description": "abc123",
  "status": "OPEN",
  "priority": "LOW",
  "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": 987
}

TicketEdge

Fields
Field Name Description
cursor - String!
node - Ticket!
Example
{
  "cursor": "abc123",
  "node": Ticket
}

TicketFile

Fields
Field Name Description
id - ID!
fileName - String!
mimeType - String!
size - Int
url - URL!
createdAt - DateTime!
Example
{
  "id": 4,
  "fileName": "xyz789",
  "mimeType": "abc123",
  "size": 987,
  "url": "http://www.test.com/",
  "createdAt": "2007-12-03T10:15:30Z"
}

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

CREATED_AT

FILE_NAME

MIME_TYPE

SIZE

Example
"CREATED_AT"

TicketInputChannel

Values
Enum Value Description

PORTAL

PHONE

EMAIL

VERBAL

Example
"PORTAL"

TicketOrder

Fields
Input Field Description
field - TicketOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

TicketOrderField

Values
Enum Value Description

CREATED_AT

UPDATED_AT

NUMBER

DISCOVER_DATE

DUE_DATE

REJECTED_AT

COMPLETED_AT

Example
"CREATED_AT"

TicketPriority

Values
Enum Value Description

LOW

MIDDLE

HIGH

Example
"LOW"

TicketStatus

Values
Enum Value Description

OPEN

SCHEDULED

REJECTED

COMPLETED

Example
"OPEN"

TicketType

Values
Enum Value Description

COMPLAINT

EXTRA

MATERIAL_DEMAND

PROPERTY_DAMAGE

OTHER

Example
"COMPLAINT"

Time

Example
"10:15:30Z"

TimeRecord

Fields
Field Name Description
id - ID!
employee - Employee!
object - Object
operationExecutor - OperationExecutor
date - Date!
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
actualDuration - Int
breakDuration - Int
hasTotalBreakInput - Boolean!
breaks - [TimeRecordBreak]
journeyDuration - Int
journeyStartLocation - Location
startLocation - Location
endLocation - Location
createdAutomatically - Boolean!
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": 987,
  "actualDuration": 123,
  "breakDuration": 987,
  "hasTotalBreakInput": true,
  "breaks": [TimeRecordBreak],
  "journeyDuration": 987,
  "journeyStartLocation": Location,
  "startLocation": Location,
  "endLocation": Location,
  "createdAutomatically": true,
  "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": "abc123",
  "node": TimeRecord
}

TimeRecordOrder

Fields
Input Field Description
field - TimeRecordOrderField!
direction - OrderDirection!
Example
{"field": "CREATED_AT", "direction": "ASC"}

TimeRecordOrderField

Values
Enum Value Description

CREATED_AT

DATE

START

Example
"CREATED_AT"

URL

Example
"http://www.test.com/"

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
Example
{
  "customerId": "4",
  "type": "PERSON",
  "salutation": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "companyName": "abc123",
  "addressSupplement": "abc123",
  "streetAddress": "abc123",
  "zip": "xyz789",
  "city": "abc123",
  "country": "US",
  "emails": [UpdateCustomerEmailInput],
  "phone": "xyz789",
  "fax": "abc123",
  "website": "xyz789",
  "vatId": "xyz789"
}

UpdateCustomerPayload

Fields
Field Name Description
customer - Customer
Example
{"customer": Customer}

UpdateEstimateInput

Fields
Input Field Description
estimateId - ID!
customerId - ID!
number - Int!
estimateDate - Date!
validityDate - Date!
items - [UpdateEstimateItemInput]
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
{
  "estimateId": 4,
  "customerId": 4,
  "number": 123,
  "estimateDate": "2007-12-03",
  "validityDate": "2007-12-03",
  "items": [UpdateEstimateItemInput],
  "introductionText": "abc123",
  "closingText": "xyz789"
}

UpdateEstimateItemInput

Fields
Input Field Description
estimateItemId - ID
title - String!
description - String
quantity - Float!
unitPrice - Int!
taxRate - Int!
unit - String
productId - ID
Example
{
  "estimateItemId": 4,
  "title": "abc123",
  "description": "abc123",
  "quantity": 123.45,
  "unitPrice": 987,
  "taxRate": 123,
  "unit": "xyz789",
  "productId": "4"
}

UpdateEstimatePayload

Fields
Field Name Description
estimate - Estimate
Example
{"estimate": Estimate}

UpdateEstimateWebEnabledInput

Fields
Input Field Description
estimateId - ID! The id of the estimate on which to update the web enabled option.
webEnabled - Boolean! Enables the web view for the estimate.
Example
{"estimateId": "4", "webEnabled": true}

UpdateEstimateWebEnabledPayload

Fields
Field Name Description
estimate - Estimate The estimate for which web enabled was updated.
Example
{"estimate": Estimate}

UpdateInvoiceDeliveryDateInput

Fields
Input Field Description
date - Date
start - Date
end - Date
Example
{
  "date": "2007-12-03",
  "start": "2007-12-03",
  "end": "2007-12-03"
}

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": true,
  "invoiceDate": "2007-12-03",
  "deliveryDate": UpdateInvoiceDeliveryDateInput,
  "items": [UpdateInvoiceItemInput],
  "introductionText": "abc123",
  "closingText": "xyz789"
}

UpdateInvoiceItemInput

Fields
Input Field Description
invoiceItemId - ID
title - String!
description - String
quantity - Float!
unitPrice - Int!
taxRate - Int!
unit - String
productId - ID
Example
{
  "invoiceItemId": 4,
  "title": "xyz789",
  "description": "xyz789",
  "quantity": 987.65,
  "unitPrice": 987,
  "taxRate": 987,
  "unit": "abc123",
  "productId": 4
}

UpdateInvoicePayload

Fields
Field Name Description
invoice - Invoice
Example
{"invoice": Invoice}

UpdateOperationReportInput

Fields
Input Field Description
operationReportId - ID!
description - String
Example
{
  "operationReportId": "4",
  "description": "xyz789"
}

UpdateOperationReportPayload

Fields
Field Name Description
operationReport - OperationReport!
Example
{"operationReport": OperationReport}

UpdateReceiptElementInput

Fields
Input Field Description
receiptElementId - ID
netAmount - Int!
taxAmount - Int!
taxRate - Int!
Example
{"receiptElementId": 4, "netAmount": 123, "taxAmount": 987, "taxRate": 987}

UpdateReceiptInput

Fields
Input Field Description
receiptId - ID!
customerId - ID
subcontractorId - ID
type - ReceiptType!
number - String!
dueDate - Date!
receiptDate - Date!
elements - [UpdateReceiptElementInput]
Example
{
  "receiptId": 4,
  "customerId": 4,
  "subcontractorId": 4,
  "type": "EXPENSE",
  "number": "abc123",
  "dueDate": "2007-12-03",
  "receiptDate": "2007-12-03",
  "elements": [UpdateReceiptElementInput]
}

UpdateReceiptPayload

Fields
Field Name Description
receipt - Receipt
Example
{"receipt": Receipt}

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
Example
{
  "subcontractorId": 4,
  "type": "PERSON",
  "salutation": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "companyName": "abc123",
  "streetAddress": "xyz789",
  "zip": "abc123",
  "city": "abc123",
  "country": "US",
  "email": "xyz789",
  "phone": "xyz789",
  "fax": "abc123",
  "website": "xyz789",
  "taxNumber": "abc123",
  "vatId": "xyz789"
}

UpdateSubcontractorPayload

Fields
Field Name Description
subcontractor - Subcontractor
Example
{"subcontractor": Subcontractor}

UploadReceiptFileInput

Fields
Input Field Description
receiptId - ID
file - Base64File!
Example
{
  "receiptId": "4",
  "file": Base64File
}

UploadReceiptFilePayload

Fields
Field Name Description
receiptFile - ReceiptFile
Example
{"receiptFile": ReceiptFile}

WorkingTimeModelAbsenceDurationCalculation

Values
Enum Value Description

PLAN_HOURS

TARGET_HOURS

Example
"PLAN_HOURS"

WorkingTimeModelPaidInterimCalculation

Values
Enum Value Description

FULL_INTERIM

INTERIM_WITH_JOURNEY

JOURNEY

NONE

Example
"FULL_INTERIM"

WorkingTimeModelSalaryCalculation

Values
Enum Value Description

ACTUAL_HOURS

MIN_PLAN_HOURS

MAX_PLAN_HOURS

TARGET_HOURS

Example
"ACTUAL_HOURS"