NAV
Ruby Python

Diffo Profit API Reference dokumentation vDeveloper Version 1

TBA

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Authentication

Post authentication

To authenticate, use this code:

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

body = {
  'grant-type' => 'password',
  'username' => '<username>',
  'password' => '<password>',
  'client_id' => 'diffo_api_client',
}

result = RestClient.post '{{IdentityServer}}/connect/token',
  params: {
  }, headers: headers,
  payload: body

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

body = {
  'grant-type': 'password',
  'username': '<username>',
  'password': '<password>',
  'client_id': 'diffo_api_client',
}

r = requests.post('{{IdentityServer}}/connect/token', headers = headers, data = body)

print(r.json())

POST {{IdentityServer}}/connect/token Post authentication information and receive access_token to be used in api endpoints

Well known endpoints

Parameters

Name In Type Required Description
grant_type payload string true "password"
username payload string true username to login
password payload string true password to login
client_id payload string true "diffo_api_client"

Example responses

200 Response

{
    "access_token": "eyJhbGciOiJ...",
    "expires_in": 3600,
    "token_type": "Bearer",
    "scope": "diffoprofitapi openid profile"
}

Responses

Status Meaning Description Schema
200 OK Success inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous AuthenticationDto true none none
» access_token string true none Token used to authenticate yourself to api server
» expires integer(int32) true none
» token_type string true none
» scope string true none Scope available to access token

How to use token

When using api endpoints, add access_token to headers as follows

Header Type Required Restrictions Value
Authorization string true none "Bearer {{access_token}}"

Calculations

Get Calculations

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Calculations',
  params: {
  }, headers: headers

p JSON.parse(result)
import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Calculations', headers = headers)

print(r.json())

Example responses 200 Response

[
{
    "id": 0,
    "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
    "name": "string",
    "timeBasedCost": 0,
    "distanceBasedCost": 0,
    "revenue": 0,
    "revenuePeriod": 0,
    "totalCost": 0,
    "profit": 0,
    "profitMargin": 0,
    "units": [
      {
        "unit": "km",
        "unitsPerYear": 0,
        "totalCostPerUnit": 0,
        "combinationCost": {
          "perYear": 0,
          "perUnit": 0,
          "percentage": 0
        }
      }
    ],
    "investmentDetails": {
      "category": 0,
      "vehicleClass": 0,
      "name": "string",
      "fuelCost": 0,
      "maintenanceCost": 0,
      "tyresCost": 0,
      "fuelConsumption": 0,
      "countOfTyres": 0,
      "distancePerYear": 0,
      "interestRate": 0,
      "investmentDeductions": 0,
      "vehicleTax": 0,
      "residualValue": 0,
      "insuranceAllRisk": 0,
      "insuranceVehicle": 0
    },
    "profitCalculation": {
      "variableCosts": {
        "fuelCost": 0,
        "maintenanceCost": 0,
        "tyresCost": 0,
        "wage": 0,
        "dailyAllowance": 0,
        "exportCost": 0,
        "totalCost": 0,
        "grossProfit": 0
      },
      "fixedCosts": {
        "capital": 0,
        "vehicleTax": 0,
        "insuranceVehicle": 0,
        "insuranceAllRisk": 0,
        "totalCost": 0
      }
    }
  }
]

GET /api/Calculations This endpoint retrieves all calculations.

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Restrictions Description
anonymous CalculationDto none none
» id integer(int32) none none
» organisationId string(uuid)¦null none none
» name string¦null none none
» timeBasedCost number(double) none none
» distanceBasedCost number(double) none none
» revenue number(double) none none
» revenuePeriod RevenuePeriodEnum(int32) none none
» totalCost number(double) none none
» profit number(double) none none
» profitMargin number(double) none none
» units UnitDto¦null none none
»» unit string¦null none none
»» unitsPerYear number(double) none none
»» totalCostPerUnit number(double) none none
»» combinationCost CombinationCostDto none none
»»» perYear number(double) none none
»»» perUnit number(double) none none
»»» percentage number(double) none none
» investmentDetails InvestmentDetailsDto none none
»» category InvestmentCategory(int32) none none
»» vehicleClass VehicleClassEnum(int32) none none
»» name string¦null none none
»» fuelCost number(double) none none
»» maintenanceCost number(double) none none
»» tyresCost number(double) none none
»» fuelConsumption number(double) none none
»» countOfTyres integer(int32) none none
»» distancePerYear number(double) none none
»» interestRate number(double) none none
»» investmentDeductions number(double) none none
»» vehicleTax number(double) none none
»» residualValue number(double) none none
»» insuranceAllRisk number(double) none none
»» insuranceVehicle number(double) none none
» profitCalculation ProfitCalculationDto none none
»» variableCosts VariableCostsDto none none
»»» fuelCost number(double) none none
»»» maintenanceCost number(double) none none
»»» tyresCost number(double) none none
»»» wage number(double) none none
»»» dailyAllowance number(double) none none
»»» exportCost number(double) none none
»»» totalCost number(double) none none
»»» grossProfit number(double) none none
»» fixedCosts FixedCostsDto none none
»»» capital number(double) none none
»»» vehicleTax number(double) none none
»»» insuranceVehicle number(double) none none
»»» insuranceAllRisk number(double) none none
»»» totalCost number(double) none none

Tasks

Get Tasks

Code samples

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Tasks',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Tasks', headers = headers)

print(r.json())

GET /api/Tasks

Get tasks in batches by organisation. Additional parameters apply filters to tasks returned

Parameters

Name In Type Required Description
userid query string false Returns by user id. Nullifies other filters
offset query integer(int32) false Amount of tasks cursor skips
size query integer(int32) false Amount of tasks returned
startTime query string false ISO 8601 formated start time for task filter
endTime query string false ISO 8601 formated end time for task filter. Will not function wihtout start time
status query string false done/upcoming filters tasks based on if they are scheduled for future
vehicle query string false Search term for vehicle registry number
customer query string false Search term for customer id

Example responses

200 Response

{"data":[{"id":0,"uId":"string","orgId":"string","registerNumber":"string","customerId":"string","startTime":"string","endTime":"string","totalTime":0,"startKm":0,"endKm":0,"totalDistance":0,"price":0,"estimatedCost":0,"costDist":0,"costHour":0,"totalCosts":0,"profit":0,"profitPercent":0,"calculationId":0,"calculationName":"string","timeStamp":"string","created":"2019-08-24T14:15:22Z","modified":"2019-08-24T14:15:22Z","retrieved":"2019-08-24T14:15:22Z","isExternal":true}],"offset":0,"size":0,"max":0}
{
  "data": [
    {
      "id": 0,
      "uId": "string",
      "orgId": "string",
      "registerNumber": "string",
      "customerId": "string",
      "startTime": "string",
      "endTime": "string",
      "totalTime": 0,
      "startKm": 0,
      "endKm": 0,
      "totalDistance": 0,
      "price": 0,
      "estimatedCost": 0,
      "costDist": 0,
      "costHour": 0,
      "totalCosts": 0,
      "profit": 0,
      "profitPercent": 0,
      "calculationId": 0,
      "calculationName": "string",
      "timeStamp": "string",
      "created": "2019-08-24T14:15:22Z",
      "modified": "2019-08-24T14:15:22Z",
      "retrieved": "2019-08-24T14:15:22Z",
      "isExternal": true
    }
  ],
  "offset": 0,
  "size": 0,
  "max": 0
}

Responses

Status Meaning Description Schema
200 OK Success PaginationDto<[TaskItemDto]>

Get Task by Id

Code samples

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Tasks/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Tasks/{id}', headers = headers)

print(r.json())

GET /api/Tasks/{id} This endpoint retrieves task based on id

Parameters

Name In Type Required Description
id path integer(int32) true none

Example responses

200 Response

[
  {
    "id": 0,
    "uId": "string",
    "orgId": "string",
    "registerNumber": "string",
    "customerId": "string",
    "startTime": "string",
    "endTime": "string",
    "totalTime": 0,
    "startKm": 0,
    "endKm": 0,
    "totalDistance": 0,
    "price": 0,
    "estimatedCost": 0,
    "costDist": 0,
    "costHour": 0,
    "totalCosts": 0,
    "profit": 0,
    "profitPercent": 0,
    "calculationId": 0,
    "calculationName": "string",
    "timeStamp": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Restrictions Description
anonymous TaskItemDto none none
» id integer(int32)¦null none none
» uId string(uuid)¦null none none
» orgId string(uuid)¦null none none
» registerNumber string¦null none none
» customerId string¦null none none
» startTime string¦null none ISO 8601 formated time
» endTime string¦null none ISO 8601 formated time
» totalTime number(double) none Time in minutes
» startKm number(double) none Alternative way to calculate total distance
» endKm number(double) none Alternative way to calculate total distance
» totalDistance number(double) none Kilometers
» price number(double) none none
» estimatedCost number(double) none none
» costDist number(double) none none
» costHour number(double) none none
» totalCosts number(double) none none
» profit number(double) none none
» profitPercent number(double) none none
» calculationId integer(int32) none none
» calculationName string¦null none none
» timeStamp string¦null none ISO 8601 formated timestamp

Post new task item

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'text/plain'
}

result = RestClient.post '/api/Tasks',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'text/plain'
}

r = requests.post('/api/Tasks', headers = headers)

print(r.json())

Body parameter

{
  "id": 0,
  "uId": "string",
  "orgId": "string",
  "registerNumber": "string",
  "customerId": "string",
  "startTime": "string",
  "endTime": "string",
  "totalTime": 0,
  "startKm": 0,
  "endKm": 0,
  "totalDistance": 0,
  "price": 0,
  "estimatedCost": 0,
  "costDist": 0,
  "costHour": 0,
  "totalCosts": 0,
  "profit": 0,
  "profitPercent": 0,
  "calculationId": 0,
  "calculationName": "string",
  "timeStamp": "string"
}

Example responses

200 Response

{
  TaskItem
}

POST /api/Tasks This endpoint creates a new task

Parameters

Name In Type Required Description
body body TaskItemDto true id not required on post

Responses

Status Meaning Description Schema
200 OK Success TaskItemDto

Update an existing task with PUT based on id

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put '/api/Tasks/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('/api/Tasks/{id}', headers = headers)

print(r.json())

Body parameter

{
  "id": 0,
  "uId": "string",
  "orgId": "string",
  "registerNumber": "string",
  "customerId": "string",
  "startTime": "string",
  "endTime": "string",
  "totalTime": 0,
  "startKm": 0,
  "endKm": 0,
  "totalDistance": 0,
  "price": 0,
  "estimatedCost": 0,
  "costDist": 0,
  "costHour": 0,
  "totalCosts": 0,
  "profit": 0,
  "profitPercent": 0,
  "calculationId": 0,
  "calculationName": "string",
  "timeStamp": "string"
}

PUT /api/Tasks/{id} This endpoint updates existing task

Parameters

Name In Type Required Description
id path integer(int32) true none
body body TaskItemDto true none

Responses

Status Meaning Description Schema
200 OK Success None

Delete Task based on id

Code samples

require 'rest-client'
require 'json'

result = RestClient.delete '/api/Tasks/{id}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('/api/Tasks/{id}')

print(r.json())

DELETE /api/Tasks/{id}

Parameters

Name In Type Required Description
id path integer(int32) true none

Responses

Status Meaning Description Schema
200 OK Success None

Invoices

Get all invoices

Code samples

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Invoices',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Invoices', headers = headers)

print(r.json())

GET /api/Invoices This endpoint gets all invoices belonging to task

Parameters

Name In Type Required Description
taskid query integer(int32) false get all invoices of given task id
userid query integer(int32) false get all invoices of given user id
starttime query string false ISO 8601 formated start time for invoices
endtime query string false ISO 8601 formated start time for invoices
offset query integer(int32) false get invoices starting from n
size query integer(int32) false get n invoices
sort query boolean false order the result by the delivered value of the invoice
vehicles query string false search term for specific comma separated register numbers
customerId query string false search term for specific customer

Example responses

200 Response

{
  "data": [
    {
      "id": 0,
      "uId": "string",
      "orgId": "string",
      "taskId": 0,
      "source": "string",
      "target": "string",
      "customerId": "string",
      "product": "string",
      "amount": 0,
      "unit": 0,
      "price": 0,
      "alv": 0,
      "sale": 0,
      "total": 0,
      "delivered": "string",
      "created": "string",
      "vehicle": {
        "id": 0,
        "name": "string",
        "registerNumber": "string"
      },
      "description": "string",
      "timeStamp": "string"
    }
  ],
  "offset": 0,
  "size": 0,
  "max": 0
}

Responses

Status Meaning Description Schema
200 OK Success PaginationDto<[InvoiceDto]>

Response Schema

Status Code 200

Name Type Restrictions Description
anonymous InvoiceDto none none
» id integer(int32)¦null none none
» uId string(uuid)¦null none none
» orgId string(uuid)¦null none none
» taskId integer(int32) none none
» source string¦null none none
» target string¦null none none
» customerId string¦null none none
» product string¦null none none
» amount integer(int32) none none
» unit integer(int32) none none
» price number(double) none none
» alv number(double) none none
» sale number(double) none none
» total number(double) none none
» delivered string¦null none ISO 8601 time when invoice was delivered
» created string¦null none ISO 8601
» vehicle VehicleForInvoiceDto none none
»» id integer(int32)¦null none none
»» name string¦null none none
»» registerNumber string¦null none none
» description string¦null none none
» timeStamp string¦null none ISO 8601

Get Invoice by Id

Code samples

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Invoices/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Invoices/{id}', headers = headers)

print(r.json())

GET /api/Invoices/{id} This endpoint gets invoice based on id

Parameters

Name In Type Required Description
taskId path integer(int32) false get all invoices of a task
userId path integer(int32) false get all invocies of a user
offset query integer(int32) false get invoices starting from n
size query integer(int32) false get n invoices

Example responses

200 Response

{
  "data": [
    {
      "id": 0,
      "uId": "string",
      "orgId": "string",
      "taskId": 0,
      "source": "string",
      "target": "string",
      "customerId": "string",
      "product": "string",
      "amount": 0,
      "unit": 0,
      "price": 0,
      "alv": 0,
      "sale": 0,
      "total": 0,
      "delivered": "string",
      "created": "string",
      "vehicle": {
        "id": 0,
        "name": "string",
        "registerNumber": "string"
      },
      "description": "string",
      "timeStamp": "string"
    }
  ],
  "offset": 0,
  "size": 0,
  "max": 0
}

Responses

Status Meaning Description Schema
200 OK Success PaginationDto<[InvoiceDto]>

Post new Invoice item

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'text/plain'
}

result = RestClient.post '/api/Invoices',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'text/plain'
}

r = requests.post('/api/Invoices', headers = headers)

print(r.json())

POST /api/Invoices This endpoint creates new invoice

Body parameter

{
  "id": 0,
  "uId": "string",
  "orgId": "string",
  "taskId": 0,
  "source": "string",
  "target": "string",
  "customerId": "string",
  "product": "string",
  "amount": 0,
  "unit": 0,
  "price": 0,
  "alv": 0,
  "sale": 0,
  "total": 0,
  "delivered": "string",
  "created": "string",
  "vehicle": {
    "id": 0,
    "name": "string",
    "registerNumber": "string"
  },
  "description": "string",
  "timeStamp": "string",
  "created": "2019-08-24T14:15:22Z",
  "modified": "2019-08-24T14:15:22Z",
  "retrieved": "2019-08-24T14:15:22Z",
  "isExternal": true,
  "orderNumber": "string",
  "orderPosition": "string",
  "shippingListNumber": "string",
  "cargoNumber": "string"
}

Parameters

Name In Type Required Description
body body InvoiceDto true Invoice model
» id body integer(int32)¦null false Identifier set by server
» uId body string¦null false User id set by server
» orgId body string¦null false Organisation id set by server
» taskId body integer(int32) false Id connecting invoice to task
» source body string¦null false none
» target body string¦null false none
» customerId body string¦null false Unique identifier for customer
» product body string¦null false Product name
» amount body integer(int32) false Amount of units
» unit body number(double) false Size of unit
» price body number(double) false Price of unit
» alv body number(double) false Vat percentage
» sale body number(double) false Sale percentage
» total body number(double) true Total cost of invoice
» delivered body string¦null false ISO 8601 formated delivered string
» date string¦null false false ISO 8601 formated date string
» vehicle body VehicleForInvoiceDto false Vehicle model in diffo system
»» id body integer(int32)¦null false Vehicle identifier
»» name body string¦null false Name of vehicle
»» registerNumber body string¦null true Vehicle registry number
» description body string¦null false none
» timeStamp body string¦null false Added by server
» created body string(date-time) false Added by server
» modified body string(date-time) false Added by server
» retrieved body string(date-time) false Added by server
» isExternal body boolean false Added by server
» orderNumber body string¦null false none
» orderPosition body string¦null false none
» shippingListNumber body string¦null false none
» cargoNumber body string¦null false none

Example responses

200 Response

{
  InvoiceDto
}

Responses

Status Meaning Description Schema
200 OK Success InvoiceDto

Post multiple new invoices

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'text/plain'
}

result = RestClient.post '/api/Invoices/batch',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'text/plain'
}

r = requests.post('/api/Invoices/batch', headers = headers)

print(r.json())

POST /api/Invoices/batch Post multiple invoices. Notice that the response header does not include created invoices if more than 200 invoices are created.

Body parameter

[
  {    
    "uId": "string",
    "orgId": "string",
    "taskId": 0,
    "source": "string",
    "target": "string",
    "customerId": "string",
    "product": "string",
    "amount": 0,
    "unit": 0,
    "price": 0,
    "alv": 0,
    "sale": 0,
    "total": 0,
    "delivered": "string",
    "date": "string",
    "vehicle": {
      "id": 0,
      "name": "string",
      "registerNumber": "string"
    },
    "description": "string",
    "timeStamp": "string",
    "created": "2019-08-24T14:15:22Z",
    "modified": "2019-08-24T14:15:22Z",
    "retrieved": "2019-08-24T14:15:22Z",
    "isExternal": true,
    "orderNumber": "string",
    "orderPosition": "string",
    "shippingListNumber": "string",
    "cargoNumber": "string"
  }
]

Parameters

Name In Type Required Description
body body InvoiceDto true id not required on post

Example responses

200 Response

[{"id":0,"uId":"string","orgId":"string","taskId":0,"source":"string","target":"string","customerId":"string","product":"string","amount":0,"unit":0,"price":0,"alv":0,"sale":0,"total":0,"delivered":"string","date":"string","vehicle":{"id":0,"name":"string","registerNumber":"string"},"description":"string","timeStamp":"string","created":"2019-08-24T14:15:22Z","modified":"2019-08-24T14:15:22Z","retrieved":"2019-08-24T14:15:22Z","isExternal":true,"orderNumber":"string","orderPosition":"string","shippingListNumber":"string","cargoNumber":"string"}]
[
  {
    "id": 0,
    "uId": "string",
    "orgId": "string",
    "taskId": 0,
    "source": "string",
    "target": "string",
    "customerId": "string",
    "product": "string",
    "amount": 0,
    "unit": 0,
    "price": 0,
    "alv": 0,
    "sale": 0,
    "total": 0,
    "delivered": "string",
    "date": "string",
    "vehicle": {
      "id": 0,
      "name": "string",
      "registerNumber": "string"
    },
    "description": "string",
    "timeStamp": "string",
    "created": "2019-08-24T14:15:22Z",
    "modified": "2019-08-24T14:15:22Z",
    "retrieved": "2019-08-24T14:15:22Z",
    "isExternal": true,
    "orderNumber": "string",
    "orderPosition": "string",
    "shippingListNumber": "string",
    "cargoNumber": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [InvoiceDto] false none none
» id integer(int32)¦null false none Identifier set by server
» uId string¦null false none User id set by server
» orgId string¦null false none Organisation id set by server
» taskId integer(int32) false none Id connecting invoice to task
» source string¦null false none none
» target string¦null false none none
» customerId string¦null false none Unique identifier for customer
» product string¦null false none Product name
» amount integer(int32) false none Amount of units
» unit number(double) false none Size of unit
» price number(double) false none Price of unit
» alv number(double) false none Vat percentage
» sale number(double) false none Sale percentage
» total number(double) false none Total cost of invoice
» delivered string¦null false none ISO 8601 formated delivered string
» date string¦null false none ISO 8601 formated date string
» vehicle VehicleForInvoiceDto false none Vehicle model in diffo system
»» id integer(int32)¦null false none Vehicle identifier
»» name string¦null false none Name of vehicle
»» registerNumber string¦null false none Vehicle registry number
» description string¦null false none none
» timeStamp string¦null false none Added by server
» created string(date-time) false none Added by server
» modified string(date-time) false none Added by server
» retrieved string(date-time) false none Added by server
» isExternal boolean false none Added by server
» orderNumber string¦null false none none
» orderPosition string¦null false none none
» shippingListNumber string¦null false none none
» cargoNumber string¦null false none none

Update an existing invoice with PUT based on id

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put '/api/Invoices/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('/api/Invoices/{id}', headers = headers)

print(r.json())

PUT /api/Invoices/{id} This endpoint updates invoices

Body parameter

{
  "id": 0,
  "uId": "string",
  "orgId": "string",
  "taskId": 0,
  "source": "string",
  "target": "string",
  "customerId": "string",
  "product": "string",
  "amount": 0,
  "unit": 0,
  "price": 0,
  "alv": 0,
  "sale": 0,
  "total": 0,
  "delivered": "string",
  "created": "string",
  "vehicle": {
    "id": 0,
    "name": "string",
    "registerNumber": "string"
  },
  "description": "string",
  "timeStamp": "string",
  "created": "2019-08-24T14:15:22Z",
  "modified": "2019-08-24T14:15:22Z",
  "retrieved": "2019-08-24T14:15:22Z",
  "isExternal": true,
  "orderNumber": "string",
  "orderPosition": "string",
  "shippingListNumber": "string",
  "cargoNumber": "string"
}

Parameters

Name In Type Required Description
id path integer(int32) true none
body body InvoiceDto true none
» id body integer(int32)¦null true Invoice identifier
» uId body string¦null false User id set by server
» orgId body string¦null false Organisation id set by server
» taskId body integer(int32) false Id connecting invoice to task
» source body string¦null false none
» target body string¦null false none
» customerId body string¦null false Unique identifier for customer
» product body string¦null false Product name
» amount body integer(int32) false Amount of units
» unit body number(double) false Size of unit
» price body number(double) false Price of unit
» alv body number(double) false Vat percentage
» sale body number(double) false Sale percentage
» total body number(double) true Total cost of invoice
» delivered body string¦null false ISO 8601 formated delivered string
» date string¦null false false ISO 8601 formated date string
» vehicle body VehicleForInvoiceDto false Vehicle model in diffo system
»» id body integer(int32)¦null false Vehicle identifier
»» name body string¦null false Name of vehicle
»» registerNumber body string¦null true Vehicle registry number
» description body string¦null false none
» timeStamp body string¦null false Added by server
» created body string(date-time) false Added by server
» modified body string(date-time) false Added by server
» retrieved body string(date-time) false Added by server
» isExternal body boolean false Added by server
» orderNumber body string¦null false none
» orderPosition body string¦null false none
» shippingListNumber body string¦null false none
» cargoNumber body string¦null false none

Responses

Status Meaning Description Schema
200 OK Success None

Delete Invoice based on id

Code samples

require 'rest-client'
require 'json'

result = RestClient.delete '/api/Invoices/{id}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('/api/Invoices/{id}')

print(r.json())

DELETE /api/Invoices/{id}

Parameters

Name In Type Required Description
id path integer(int32) true none

Responses

Status Meaning Description Schema
200 OK Success None

Vehicles

Post new vehicle

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'text/plain'
}

result = RestClient.post '/api/Vehicle',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'text/plain'
}

r = requests.post('/api/Vehicle', headers = headers)

print(r.json())

POST /api/Vehicle

Body parameter

{
  "id": 0,
  "registerNumber": "string",
  "calculationId": 0,
  "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  "vehicleClass": 0,
  "emissionRate": 0,
  "contract": true,
  "costPerDistance": 0,
  "costPerTime": 0,
  "defaultIncome": 0,
  "incomeType": 0,
  "isActive": true,
  "departmentId": 0
}

Parameters

Name In Type Required Description
body body VehicleDto true none

Example responses

200 Response

{"id":0,"registerNumber":"string","calculationId":0,"organisationId":"c9b3f279-e3b5-4204-ad99-646257417f98","vehicleClass":0,"emissionRate":0,"contract":true,"costPerDistance":0,"costPerTime":0,"defaultIncome":0,"incomeType":0,"isActive":true,"departmentId:0}
{
  "id": 0,
  "registerNumber": "string",
  "calculationId": 0,
  "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  "vehicleClass": 0,
  "emissionRate": 0,
  "contract": true,
  "costPerDistance": 0,
  "costPerTime": 0,
  "defaultIncome": 0,
  "incomeType": 0,
  "isActive": true,
  "departmentId": 0
}

Responses

Status Meaning Description Schema
200 OK Success VehicleDto

Get all Vehicles of my organisation

Code samples

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Vehicle',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Vehicle', headers = headers)

print(r.json())

GET /api/Vehicle

Parameters

Name In Type Required Description
orgId query string false Admin only

Example responses

200 Response

[{"id":0,"registerNumber":"string","calculationId":0,"organisationId":"c9b3f279-e3b5-4204-ad99-646257417f98","vehicleClass":0,"emissionRate":0,"contract":true,"costPerDistance":0,"costPerTime":0,"defaultIncome":0,"incomeType":0,"isActive":true}]
[
  {
    "id": 0,
    "registerNumber": "string",
    "calculationId": 0,
    "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
    "vehicleClass": 0,
    "emissionRate": 0,
    "contract": true,
    "costPerDistance": 0,
    "costPerTime": 0,
    "defaultIncome": 0,
    "incomeType": 0,
    "isActive": true
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Restrictions Description
anonymous [VehicleDto] none none
» id integer(int32) none none
» registerNumber string¦null none none
» calculationId integer(int32) none none
» organisationId string(uuid) none none
» vehicleClass VehicleClassEnum(int32) none none
» emissionRate number(double) none g/km
» contract boolean none Whether contract pricing is used
» costPerDistance number(double) none Used for contracted vehicles
» costPerTime number(double) none Used for contracted vehicles
» defaultIncome number(double) none Income used in new tasks
» incomeType IncomeTypes(int32) none none
» isActive boolean none none

Enumerated Values

Property Value
vehicleClass 0
vehicleClass 1
vehicleClass 2
vehicleClass 3
vehicleClass 4
vehicleClass 5
vehicleClass 6
vehicleClass 7
vehicleClass 8
vehicleClass 9
incomeType 0
incomeType 1
incomeType 2
incomeType 3

Post multiple new Vehicles

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'text/plain'
}

result = RestClient.post '/api/Vehicle/batch',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'text/plain'
}

r = requests.post('/api/Vehicle/batch', headers = headers)

print(r.json())

POST /api/Vehicle/batch

Body parameter

[
  {
    "id": 0,
    "registerNumber": "string",
    "calculationId": 0,
    "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
    "vehicleClass": 0,
    "emissionRate": 0,
    "contract": true,
    "costPerDistance": 0,
    "costPerTime": 0,
    "defaultIncome": 0,
    "incomeType": 0,
    "isActive": true
  }
]

Parameters

Name In Type Required Description
body body VehicleDto true none

Example responses

200 Response

[{"id":0,"registerNumber":"string","calculationId":0,"organisationId":"c9b3f279-e3b5-4204-ad99-646257417f98","vehicleClass":0,"emissionRate":0,"contract":true,"costPerDistance":0,"costPerTime":0,"defaultIncome":0,"incomeType":0,"isActive":true}]
[
  {
    "id": 0,
    "registerNumber": "string",
    "calculationId": 0,
    "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
    "vehicleClass": 0,
    "emissionRate": 0,
    "contract": true,
    "costPerDistance": 0,
    "costPerTime": 0,
    "defaultIncome": 0,
    "incomeType": 0,
    "isActive": true
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Restrictions Description
anonymous [VehicleDto] none none
» id integer(int32) none none
» registerNumber string¦null none none
» calculationId integer(int32) none none
» organisationId string(uuid) none none
» vehicleClass VehicleClassEnum(int32) none none
» emissionRate number(double) none none
» contract boolean none Whether contract pricing is used
» costPerDistance number(double) none Used for contracted vehicles
» costPerTime number(double) none Used for contracted vehicles
» defaultIncome number(double) none Income used in new tasks
» incomeType IncomeTypes(int32) none none
» isActive boolean none none

Enumerated Values

Property Value
vehicleClass 0
vehicleClass 1
vehicleClass 2
vehicleClass 3
vehicleClass 4
vehicleClass 5
vehicleClass 6
vehicleClass 7
vehicleClass 8
vehicleClass 9
incomeType 0
incomeType 1
incomeType 2
incomeType 3

Get one Vehicle by its id

Code samples

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/plain'
}

result = RestClient.get '/api/Vehicle/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/plain'
}

r = requests.get('/api/Vehicle/{id}', headers = headers)

print(r.json())

GET /api/Vehicle/{id}

Parameters

Name In Type Required Description
id path integer(int32) true none

Example responses

200 Response

{"id":0,"registerNumber":"string","calculationId":0,"organisationId":"c9b3f279-e3b5-4204-ad99-646257417f98","vehicleClass":0,"emissionRate":0,"contract":true,"costPerDistance":0,"costPerTime":0,"defaultIncome":0,"incomeType":0,"isActive":true}
{
  "id": 0,
  "registerNumber": "string",
  "calculationId": 0,
  "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  "vehicleClass": 0,
  "emissionRate": 0,
  "contract": true,
  "costPerDistance": 0,
  "costPerTime": 0,
  "defaultIncome": 0,
  "incomeType": 0,
  "isActive": true
}

Responses

Status Meaning Description Schema
200 OK Success VehicleDto

Update Vehicle

Code samples

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json'
}

result = RestClient.put '/api/Vehicle/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json'
}

r = requests.put('/api/Vehicle/{id}', headers = headers)

print(r.json())

PUT /api/Vehicle/{id}

Body parameter

{
  "id": 0,
  "registerNumber": "string",
  "calculationId": 0,
  "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  "vehicleClass": 0,
  "emissionRate": 0,
  "contract": true,
  "costPerDistance": 0,
  "costPerTime": 0,
  "defaultIncome": 0,
  "incomeType": 0,
  "isActive": true
}

Parameters

Name In Type Required Description
id path integer(int32) true none
body body VehicleDto true none

Responses

Status Meaning Description Schema
200 OK Success None

Delete Vehicle

Code samples

require 'rest-client'
require 'json'

result = RestClient.delete '/api/Vehicle/{id}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('/api/Vehicle/{id}')

print(r.json())

DELETE /api/Vehicle/{id}

Parameters

Name In Type Required Description
id path integer(int32) true none

Responses

Status Meaning Description Schema
200 OK Success None

Schemas

AuthenticationDto

{
    "access_token": "eyJhbGciOiJ...",
    "expires_in": 3600,
    "token_type": "Bearer",
    "scope": "diffoprofitapi openid profile"
}

Properties

Name Type Required Restrictions Description
access_token string true none Token used to authenticate yourself to api server
expires integer(int32) true none
token_type string true none
scope string true none Scope available to access token

CalculationDto

{
  "id": 0,
  "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  "name": "string",
  "timeBasedCost": 0,
  "distanceBasedCost": 0,
  "revenue": 0,
  "revenuePeriod": 0,
  "totalCost": 0,
  "profit": 0,
  "profitMargin": 0,
  "units": [
    {
      "unit": "string",
      "unitsPerYear": 0,
      "totalCostPerUnit": 0,
      "combinationCost": {
        "perYear": 0,
        "perUnit": 0,
        "percentage": 0
      }
    }
  ],
  "investmentDetails": {
    "category": 0,
    "vehicleClass": 0,
    "name": "string",
    "fuelCost": 0,
    "maintenanceCost": 0,
    "tyresCost": 0,
    "fuelConsumption": 0,
    "countOfTyres": 0,
    "distancePerYear": 0,
    "interestRate": 0,
    "investmentDeductions": 0,
    "vehicleTax": 0,
    "residualValue": 0,
    "insuranceAllRisk": 0,
    "insuranceVehicle": 0
  },
  "profitCalculation": {
    "variableCosts": {
      "fuelCost": 0,
      "maintenanceCost": 0,
      "tyresCost": 0,
      "wage": 0,
      "dailyAllowance": 0,
      "exportCost": 0,
      "totalCost": 0,
      "grossProfit": 0
    },
    "fixedCosts": {
      "capital": 0,
      "vehicleTax": 0,
      "insuranceVehicle": 0,
      "insuranceAllRisk": 0,
      "totalCost": 0
    }
  }
}

Properties

Name Type Required Restrictions Description
id integer(int32) true none none
organisationId string(uuid)¦null false none none
name string¦null false none none
timeBasedCost number(double) false none none
distanceBasedCost number(double) false none none
revenue number(double) false none none
revenuePeriod RevenuePeriodEnum false none none
totalCost number(double) false none none
profit number(double) false none none
profitMargin number(double) false none none
units UnitDto¦null false none none
investmentDetails InvestmentDetailsDto false none none
profitCalculation ProfitCalculationDto false none none

UnitDto

{
  "unit": "string",
  "unitsPerYear": 0,
  "totalCostPerUnit": 0,
  "combinationCost": {
    "perYear": 0,
    "perUnit": 0,
    "percentage": 0
  }
}

Properties

Name Type Required Restrictions Description
unit string¦null false none none
unitsPerYear number(double) false none none
totalCostPerUnit number(double) false none none
combinationCost CombinationCostDto false none none

VehicleDto

{
  "id": 0,
  "registerNumber": "string",
  "calculationId": 0,
  "organisationId": "c9b3f279-e3b5-4204-ad99-646257417f98",
  "vehicleClass": 0,
  "emissionRate": 0,
  "contract": true,
  "costPerDistance": 0,
  "costPerTime": 0,
  "defaultIncome": 0,
  "incomeType": 0,
  "isActive": true
}

Properties

Name Type Required Restrictions Description
id integer(int32) false none none
registerNumber string¦null true none none
calculationId integer(int32) false none none
organisationId string(uuid) false none none
vehicleClass VehicleClassEnum false none none
emissionRate number(double) false none g/km
contract boolean false none Whether contract pricing is used
costPerDistance number(double) false none Used for contracted vehicles
costPerTime number(double) false none Used for contracted vehicles
defaultIncome number(double) false none Income used in new tasks
incomeType IncomeTypes false none none
isActive boolean false none none

InvoiceDto

{
  "id": 0,
  "uId": "string",
  "orgId": "string",
  "taskId": 0,
  "source": "string",
  "target": "string",
  "customerId": "string",
  "product": "string",
  "amount": 0,
  "unit": 0,
  "price": 0,
  "alv": 0,
  "sale": 0,
  "total": 0,
  "delivered": "string",
  "date": "string",
  "vehicle": {
    "id": 0,
    "name": "string",
    "registerNumber": "string"
  },
  "description": "string",
  "timeStamp": "string",
  "created": "2019-08-24T14:15:22Z",
  "modified": "2019-08-24T14:15:22Z",
  "retrieved": "2019-08-24T14:15:22Z",
  "isExternal": true,
  "orderNumber": "string",
  "orderPosition": "string",
  "shippingListNumber": "string",
  "cargoNumber": "string"
}

Properties

Name Type Required Restrictions Description
id integer(int32)¦null false none Identifier set by server
uId string¦null false none User id set by server
orgId string¦null false none Organisation id set by server
taskId integer(int32) false none Id connecting invoice to task
source string¦null false none none
target string¦null false none none
customerId string¦null false none Unique identifier for customer
product string¦null false none Product name
amount integer(int32) false none Amount of units
unit number(double) false none Size of unit
price number(double) false none Price of unit
alv number(double) false none Vat percentage
sale number(double) false none Sale percentage
total number(double) false none Total cost of invoice
delivered string¦null false none ISO 8601 time when invoice was delivered
date string¦null false none ISO 8601 formated date string
vehicle VehicleForInvoiceDto false none Vehicle model in diffo system
description string¦null false none none
timeStamp string¦null false none Added by server
created string(date-time) false none Added by server
modified string(date-time) false none Added by server
retrieved string(date-time) false none Added by server
isExternal boolean false none Added by server
orderNumber string¦null false none none
orderPosition string¦null false none none
shippingListNumber string¦null false none none
cargoNumber string¦null false none none

PaginationDto<[InvoiceDto]>

{
  "data": [
    {
      "id": 0,
      "uId": "string",
      "orgId": "string",
      "taskId": 0,
      "source": "string",
      "target": "string",
      "customerId": "string",
      "product": "string",
      "amount": 0,
      "unit": 0,
      "price": 0,
      "alv": 0,
      "sale": 0,
      "total": 0,
      "delivered": "string",
      "date": "string",
      "vehicle": {
        "id": 0,
        "name": "string",
        "registerNumber": "string"
      },
      "description": "string",
      "timeStamp": "string",
      "created": "2019-08-24T14:15:22Z",
      "modified": "2019-08-24T14:15:22Z",
      "retrieved": "2019-08-24T14:15:22Z",
      "isExternal": true,
      "orderNumber": "string",
      "orderPosition": "string",
      "shippingListNumber": "string",
      "cargoNumber": "string"
    }
  ],
  "offset": 0,
  "size": 0,
  "max": 0
}

Properties

Name Type Required Restrictions Description
data [InvoiceDto]¦null true none none
offset integer(int32) true none Offset used in request
size integer(int32) true none Amount of items returned
max integer(int32) true none Amount of items in database corresponding to query

CombinationCostDto

{
  "perYear": 0,
  "perUnit": 0,
  "percentage": 0
}

Properties

Name Type Required Restrictions Description
perYear number(double) false none none
perUnit number(double) false none none
percentage number(double) false none none

InvestmentDetailsDto

{
  "category": 0,
  "vehicleClass": 0,
  "name": "string",
  "fuelCost": 0,
  "maintenanceCost": 0,
  "tyresCost": 0,
  "fuelConsumption": 0,
  "countOfTyres": 0,
  "distancePerYear": 0,
  "interestRate": 0,
  "investmentDeductions": 0,
  "vehicleTax": 0,
  "residualValue": 0,
  "insuranceAllRisk": 0,
  "insuranceVehicle": 0
}

Properties

Name Type Required Restrictions Description
category InvestmentCategory false none none
vehicleClass VehicleClassEnum false none none
name string¦null false none none
fuelCost number(double) false none none
maintenanceCost number(double) false none none
tyresCost number(double) false none none
fuelConsumption number(double) false none none
countOfTyres integer(int32) false none none
distancePerYear number(double) false none none
interestRate number(double) false none none
investmentDeductions number(double) false none none
vehicleTax number(double) false none none
residualValue number(double) false none none
insuranceAllRisk number(double) false none none
insuranceVehicle number(double) false none none

ProfitCalculationDto

{
  "variableCosts": {
    "fuelCost": 0,
    "maintenanceCost": 0,
    "tyresCost": 0,
    "wage": 0,
    "dailyAllowance": 0,
    "exportCost": 0,
    "totalCost": 0,
    "grossProfit": 0
  },
  "fixedCosts": {
    "capital": 0,
    "vehicleTax": 0,
    "insuranceVehicle": 0,
    "insuranceAllRisk": 0,
    "totalCost": 0
  }
}

Properties

Name Type Required Restrictions Description
variableCosts VariableCostsDto false none none
fixedCosts FixedCostsDto false none none

VariableCostsDto

{
  "fuelCost": 0,
  "maintenanceCost": 0,
  "tyresCost": 0,
  "wage": 0,
  "dailyAllowance": 0,
  "exportCost": 0,
  "totalCost": 0,
  "grossProfit": 0
}

Properties

Name Type Required Restrictions Description
fuelCost number(double) false none none
maintenanceCost number(double) false none none
tyresCost number(double) false none none
wage number(double) false none none
dailyAllowance number(double) false none none
exportCost number(double) false none none
totalCost number(double) false none none
grossProfit number(double) false none none

FixedCostsDto

{
  "capital": 0,
  "vehicleTax": 0,
  "insuranceVehicle": 0,
  "insuranceAllRisk": 0,
  "totalCost": 0
}

Properties

Name Type Required Restrictions Description
capital number(double) false none none
vehicleTax number(double) false none none
insuranceVehicle number(double) false none none
insuranceAllRisk number(double) false none none
totalCost number(double) false none none

TaskItemDto

{
  "id": 0,
  "uId": "string",
  "orgId": "string",
  "registerNumber": "string",
  "customerId": "string",
  "startTime": "string",
  "endTime": "string",
  "totalTime": 0,
  "startKm": 0,
  "endKm": 0,
  "totalDistance": 0,
  "price": 0,
  "estimatedCost": 0,
  "costDist": 0,
  "costHour": 0,
  "totalCosts": 0,
  "profit": 0,
  "profitPercent": 0,
  "calculationId": 0,
  "calculationName": "string",
  "timeStamp": "string",
  "created": "2019-08-24T14:15:22Z",
  "modified": "2019-08-24T14:15:22Z",
  "retrieved": "2019-08-24T14:15:22Z",
  "isExternal": true
}

Properties

Name Type Required Restrictions Description
id integer(int32)¦null true none none
uId string¦null false none none
orgId string¦null false none none
registerNumber string¦null false none none
customerId string¦null false none none
startTime string¦null false none ISO 8601 formated time
endTime string¦null false none ISO 8601 formated time
totalTime number(double) false none Time in minutes
startKm number(double) false none Alternative way to calculate total distance
endKm number(double) false none Alternative way to calculate total distance
totalDistance number(double) false none Kilometers
price number(double) false none none
estimatedCost number(double) false none none
costDist number(double) false none none
costHour number(double) false none none
totalCosts number(double) false none none
profit number(double) false none none
profitPercent number(double) false none none
calculationId integer(int32) false none none
calculationName string¦null false none none
timeStamp string¦null false none ISO 8601 formated timestamp
created string(date-time) false none none
modified string(date-time) false none none
retrieved string(date-time) false none none
isExternal boolean false none none

PaginationDto<[TaskItemDto]>

{
  "data": [
    {
      "id": 0,
      "uId": "string",
      "orgId": "string",
      "registerNumber": "string",
      "customerId": "string",
      "startTime": "string",
      "endTime": "string",
      "totalTime": 0,
      "startKm": 0,
      "endKm": 0,
      "totalDistance": 0,
      "price": 0,
      "estimatedCost": 0,
      "costDist": 0,
      "costHour": 0,
      "totalCosts": 0,
      "profit": 0,
      "profitPercent": 0,
      "calculationId": 0,
      "calculationName": "string",
      "timeStamp": "string",
      "created": "2019-08-24T14:15:22Z",
      "modified": "2019-08-24T14:15:22Z",
      "retrieved": "2019-08-24T14:15:22Z",
      "isExternal": true
    }
  ],
  "offset": 0,
  "size": 0,
  "max": 0
}

Properties

Name Type Required Restrictions Description
data [TaskItemDto]¦null true none none
offset integer(int32) true none Offset used in request
size integer(int32) true none Amount of items returned
max integer(int32) true none Amount of items in database corresponding to query

VehicleForInvoiceDto

{
  "id": 0,
  "name": "string",
  "registerNumber": "string"
}

Properties

Name Type Required Restrictions Description
id integer(int32)¦null true none none
name string¦null false none none
registerNumber string¦null false none none

RevenuePeriodEnum

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none none

Enumerated Values

Property Value Description
anonymous 0 Yearly
anonymous 1 Monthly

InvestmentCategory

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none none

Enumerated Values

Property Value Description
anonymous 0 Vehicle
anonymous 1 Machine

VehicleClassEnum

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none none

Enumerated Values

Property Value
anonymous 0 unknown
anonymous 1 Car
anonymous 2 Van
anonymous 3 Truck
anonymous 4 Tractor unit
anonymous 5 Semi trailer
anonymous 6 Full trailer
anonymous 7 HCT-combination
anonymous 8 Bus
anonymous 9 Machine

IncomeTypes

0

Properties

Name Type Required Restrictions Description
anonymous integer(int32) false none none

Enumerated Values

Property Value
anonymous 0 Not used
anonymous 1 Hour based
anonymous 2 Distance based
anonymous 3 Task based