{
  "swagger": "2.0",
  "info": {
    "title": "Automile API",
    "version": "v1"
  },
  "paths": {
    "/v1/client/api": {
      "get": {
        "tags": [
          "ClientApi"
        ],
        "summary": "Get the current API client that access the API",
        "description": "Returns the given API Client that the token is valid for",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The APIClient is returned",
            "schema": {
              "$ref": "#/definitions/APIClientModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/apiauthorizations": {
      "get": {
        "tags": [
          "ClientApiAuthorizations"
        ],
        "summary": "Get a list of user that has authorized the logged in API client for access",
        "description": "Only users that has given authorization to the given API client will be returned",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The users are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/APIAuthorizationModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/apiauthorizations/{apiAuthorizationId}": {
      "get": {
        "tags": [
          "ClientApiAuthorizations"
        ],
        "summary": "Get the details about a specific user authorization",
        "operationId": "GetByAPIAuthorizationId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "apiAuthorizationId",
            "description": "The id of the authorization",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The user details are returned",
            "schema": {
              "$ref": "#/definitions/APIAuthorizationModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this authorization",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/contracts": {
      "get": {
        "tags": [
          "ClientContracts"
        ],
        "summary": "",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/contracts/journeys": {
      "get": {
        "tags": [
          "ClientContracts"
        ],
        "summary": "",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "contractId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDate",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/contracts/confirmjourneys": {
      "post": {
        "tags": [
          "ClientContracts"
        ],
        "summary": "",
        "parameters": [
          {
            "in": "query",
            "name": "ids",
            "type": "array",
            "items": {
              "format": "int32",
              "type": "integer"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/createuser": {
      "post": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Creates Client Custom User",
        "operationId": "CreateClientCustomUser",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The custom user model",
            "schema": {
              "$ref": "#/definitions/CustomUserCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Client Custom user created",
            "schema": {
              "$ref": "#/definitions/CreatedAtRoute"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/resetpassword": {
      "post": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Reset User password",
        "operationId": "ResetPasswordClientCustom",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The reset password model",
            "schema": {
              "$ref": "#/definitions/ResetPasswordUserModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Password reset sent"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/createuserwithoutpassword": {
      "post": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Create User without password",
        "operationId": "CreateClientCustomUserWithoutPassword",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The reset password model",
            "schema": {
              "$ref": "#/definitions/CustomUserCreateWithoutPasswordModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Create User without password",
            "schema": {
              "$ref": "#/definitions/UserCreatedPasswordModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/usernametaken": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Get UserName takenmodel",
        "operationId": "UsernameTaken",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "username",
            "description": "The username",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The UserNametaken returned",
            "schema": {
              "$ref": "#/definitions/UsernameTakenModel"
            }
          },
          "500": {
            "description": "Internal server error",
            "schema": {
              "$ref": "#/definitions/UsernameTakenModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/userphonenumber": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Get User assoicated to phonenumber or username",
        "operationId": "UserPhoneNumber",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "identifier",
            "description": "username or phonenumber",
            "type": "string"
          },
          {
            "in": "query",
            "name": "region",
            "description": "Region for phonenumber",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The user returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserPhoneNumberModel"
              }
            }
          },
          "400": {
            "description": "Bad request, can happen when you supply values that are unacceptable",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "409": {
            "description": "Multiple users assoicated to the account",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/usersphonenumber": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Get user guids from phonenumber",
        "operationId": "UsernamesPhoneNumber",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "mobilePhoneNumber",
            "description": "",
            "type": "string"
          },
          {
            "in": "query",
            "name": "region",
            "description": "Region for phonenumber",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UsernamesPhoneNumberModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/existingusers": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Get user guids from identifier",
        "operationId": "ExistingUsersAccounts",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "identifier",
            "description": "",
            "type": "string"
          },
          {
            "in": "query",
            "name": "region",
            "description": "Region for phonenumber",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UsernamesPhoneNumberModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/validatephonenumber": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Check if user has the phonenumber",
        "operationId": "ValidatePhoneNumber",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "username",
            "description": "",
            "type": "string"
          },
          {
            "in": "query",
            "name": "mobilePhoneNumber",
            "description": "",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "boolean"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/deviceregistered": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Get DeviceRegistered",
        "operationId": "DeviceRegistered",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "imei",
            "description": "The Imei",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The DeviceRegistered returned",
            "schema": {
              "$ref": "#/definitions/DeviceRegisteredModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/custom/reversegeocoding": {
      "get": {
        "tags": [
          "ClientCustom"
        ],
        "summary": "Get DeviceRegistered",
        "operationId": "ReverseGeocoding",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "latitude",
            "description": "The latitude",
            "type": "number",
            "format": "double"
          },
          {
            "in": "query",
            "name": "longitude",
            "description": "The longitude",
            "type": "number",
            "format": "double"
          }
        ],
        "responses": {
          "200": {
            "description": "The DeviceRegistered returned",
            "schema": {
              "$ref": "#/definitions/ReverseGeocodingResult"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/onboarding/vehiclemakes": {
      "get": {
        "tags": [
          "ClientOnboarding"
        ],
        "summary": "Get vehicle makes",
        "operationId": "VehicleMakes",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "region",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "List of makes returned",
            "schema": {
              "$ref": "#/definitions/VehickeMakesModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/onboarding/vehiclemodels": {
      "get": {
        "tags": [
          "ClientOnboarding"
        ],
        "summary": "Get vehicle models",
        "operationId": "VehicleModels",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "make",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of models returned",
            "schema": {
              "$ref": "#/definitions/VehicleModelsModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/order/pro": {
      "post": {
        "tags": [
          "ClientOrder"
        ],
        "summary": "Creates a pro order",
        "operationId": "CreateClientOrder",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The pro order model",
            "schema": {
              "$ref": "#/definitions/ProOrderModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A pro order is created"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/order/propricing": {
      "get": {
        "tags": [
          "ClientOrder"
        ],
        "summary": "Get Pro PriceModel",
        "operationId": "GetProPricingClientCustom",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "countryCode",
            "type": "string"
          },
          {
            "in": "query",
            "name": "numberOfUnits",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The pro price details returned",
            "schema": {
              "$ref": "#/definitions/ApiPriceModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/textmessages/createpin": {
      "post": {
        "tags": [
          "ClientTextMessage"
        ],
        "summary": "Create and send pin code to login with",
        "operationId": "CreatePinCode",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "$ref": "#/definitions/CreatePinModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The Pin code have been sent"
          },
          "400": {
            "description": "Format error on phonenumber, To many SMS or no match on phonenumber",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/textmessages/validatepin": {
      "post": {
        "tags": [
          "ClientTextMessage"
        ],
        "summary": "Validate Pin Code",
        "operationId": "ValidatePinCode",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "$ref": "#/definitions/ValidatePinModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "User logged in/User created and a user token returned in response",
            "schema": {
              "$ref": "#/definitions/TokenResponse"
            }
          },
          "400": {
            "description": "Can't assoicate given username to a user",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Too many password attempts",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/users": {
      "get": {
        "tags": [
          "ClientUsers"
        ],
        "summary": "Get the users that belongs to contacts that the current user is associated with",
        "description": "Get the users that the current user is associated through companies",
        "operationId": "GetClientUsers",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The Users are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ClientUsers"
        ],
        "summary": "Creates a new user including a contact with basic information",
        "operationId": "CreateClientUser",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The create user model",
            "schema": {
              "$ref": "#/definitions/UserCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created users"
          },
          "400": {
            "description": "Bad request, can happen when you supply values that are unacceptable",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/client/users/{userId}": {
      "get": {
        "tags": [
          "ClientUsers"
        ],
        "summary": "Get the specific user",
        "operationId": "GetClientUserByUserId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "description": "The user id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The Users are returned",
            "schema": {
              "$ref": "#/definitions/UserModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this user",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/echo/validatetoken": {
      "get": {
        "tags": [
          "Echo"
        ],
        "summary": "Validates a given token",
        "description": "Simple operation to test that a valid OAuth2 Bearer token has been supplied",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/": {
      "get": {
        "tags": [
          "Home"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "token",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/o2c": {
      "get": {
        "tags": [
          "Home"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "token",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/login": {
      "get": {
        "tags": [
          "Login"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "client_id",
            "type": "string"
          },
          {
            "in": "query",
            "name": "scope",
            "type": "string"
          },
          {
            "in": "query",
            "name": "redirect_uri",
            "type": "string"
          },
          {
            "in": "query",
            "name": "state",
            "type": "string"
          },
          {
            "in": "query",
            "name": "response_type",
            "type": "string",
            "default": "token"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "post": {
        "tags": [
          "Login"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "UserName",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "Password",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "ClientId",
            "type": "string"
          },
          {
            "in": "query",
            "name": "Scopes",
            "type": "string"
          },
          {
            "in": "query",
            "name": "RedirectUri",
            "type": "string"
          },
          {
            "in": "query",
            "name": "State",
            "type": "string"
          },
          {
            "in": "query",
            "name": "ResponseType",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/OAuth2/Token": {
      "post": {
        "tags": [
          "OAuth"
        ],
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "in": "formData",
            "name": "grant_type",
            "required": true,
            "type": "string"
          },
          {
            "in": "formData",
            "name": "client_id",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "client_secret",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "username",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "password",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "scope",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "refresh_token",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "azure_access_token",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "azure_tenant_id",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/v1/integration/order": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Creates a new order",
        "operationId": "CreateOrder",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The CreateOrderModel",
            "schema": {
              "$ref": "#/definitions/CreateOrderModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Creates new order"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/maskedphonenumber/inboundvoice": {
      "get": {
        "tags": [
          "Phone"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "type": "string"
          },
          {
            "in": "query",
            "name": "to",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/maskedphonenumber/inboundtext": {
      "get": {
        "tags": [
          "Phone"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "type": "string"
          },
          {
            "in": "query",
            "name": "to",
            "type": "string"
          },
          {
            "in": "query",
            "name": "body",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/v1/resourceowner/companies": {
      "get": {
        "tags": [
          "ResourceOwnerCompany"
        ],
        "summary": "Get a list of all companies that user is associated with",
        "description": "Only companies that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerCompanies",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The companies are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CompanyModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerCompany"
        ],
        "summary": "Creates a new company and associates it with the user",
        "operationId": "CreateResourceOwnerCompany",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/CompanyCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created company"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companies/{companyId}": {
      "get": {
        "tags": [
          "ResourceOwnerCompany"
        ],
        "summary": "Get a company by id",
        "description": "The user only has access to contacts that it is associated with through the company",
        "operationId": "GetByCompanyId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyId",
            "description": "The Id of the company",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company details are returned",
            "schema": {
              "$ref": "#/definitions/CompanyDetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerCompany"
        ],
        "summary": "Updates the given company id",
        "description": "This will update the company contact with the new model.",
        "operationId": "EditResourceOwnerCompany",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/CompanyEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The company was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerCompany"
        ],
        "summary": "Removes the given company",
        "description": "This will delete the given company contact.",
        "operationId": "DeleteResourceOwnerCompany",
        "parameters": [
          {
            "in": "path",
            "name": "companyId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company has been deleted"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companycontact": {
      "get": {
        "tags": [
          "ResourceOwnerCompanyContacts"
        ],
        "summary": "Get a list of all company contacts that user is associated with",
        "description": "Only company contacts that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerCompanyContacts",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The company contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CompanyContactDetailModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerCompanyContacts"
        ],
        "summary": "Creates a new company contact and associates it with user",
        "description": "The user only has access to contacts that it is associated with through the company",
        "operationId": "CreateResourceOwnerCompanyContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company contact model",
            "schema": {
              "$ref": "#/definitions/CompanyContactCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created company contact"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to companies you are not associated with",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companycontact/{companyContactId}": {
      "get": {
        "tags": [
          "ResourceOwnerCompanyContacts"
        ],
        "summary": "Get the company contact relationship",
        "description": "Only company contcats that the user has access to are accessible.",
        "operationId": "GetResourceOwnerCompanyContact",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyContactId",
            "description": "The company contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company contact model is returned",
            "schema": {
              "$ref": "#/definitions/CompanyContactDetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this company vehicle relationship",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companycontact/{companyContactIdToEdit}": {
      "put": {
        "tags": [
          "ResourceOwnerCompanyContacts"
        ],
        "summary": "Updates the given companycontact id",
        "description": "This will update the company contact with the new model.",
        "operationId": "EditResourceOwnerCompanyContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyContactIdToEdit",
            "description": "The company contact that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new company contact model",
            "schema": {
              "$ref": "#/definitions/CompanyContactEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The company contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the company contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companycontact/{companyContactIdToDelete}": {
      "delete": {
        "tags": [
          "ResourceOwnerCompanyContacts"
        ],
        "summary": "Removes the given company contact",
        "description": "This will delete the given company contact.",
        "operationId": "DeleteResourceOwnerCompanyContact",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyContactIdToDelete",
            "description": "The company contact id to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company contact has been deleted"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the company contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The company contact that you tried to remove doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companyvehicle": {
      "get": {
        "tags": [
          "ResourceOwnerCompanyVehicles"
        ],
        "summary": "Get a list of all company vehicles that user is associated with",
        "description": "Only company vehicles that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerCompanyVehicles",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "companyId",
            "description": "Filter on company id",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CompanyVehicleModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerCompanyVehicles"
        ],
        "summary": "Creates a new company vehicle and associates it with user through the company",
        "description": "The user only has access to contacts that it is associated with through the company",
        "operationId": "CreateResourceOwnerCompanyVehicle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company contact model",
            "schema": {
              "$ref": "#/definitions/CompanyVehicleCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created company vehicle"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to companies you are not associated with",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The company that you tried to use doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companyvehicle/{companyVehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerCompanyVehicles"
        ],
        "summary": "Get the company vehicle relationship",
        "description": "Only company vehicle that the user has access to are accessible.",
        "operationId": "GetResourceOwnerCompanyVehicle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyVehicleId",
            "description": "The company vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company vehicle model is returned",
            "schema": {
              "$ref": "#/definitions/CompanyVehicleModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this company vehicle relationship",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companyvehicle/{companyVehicleIdToEdit}": {
      "put": {
        "tags": [
          "ResourceOwnerCompanyVehicles"
        ],
        "summary": "Updates the given company vehicle id",
        "description": "This will update the company vehicle with the new model.",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyVehicleIdToEdit",
            "description": "The vehicle contact that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new company vehicle model",
            "schema": {
              "$ref": "#/definitions/CompanyVehicleEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The company vehicle was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to companies you are not associated with",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The company, the vehicle or the company vehicle that you tried to update doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/companyvehicle/{companyVehicleIdToDelete}": {
      "delete": {
        "tags": [
          "ResourceOwnerCompanyVehicles"
        ],
        "summary": "Removes the given company vehicle",
        "description": "This will delete the given company contact.",
        "operationId": "DeleteResourceOwnerCompanyVehicle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "companyVehicleIdToDelete",
            "description": "The company vehicle id to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The company vehicle was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the company vehicle",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The company vehicle that you tried to remove doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts": {
      "get": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Get a list of all contacts that user is associated with",
        "description": "Only contacts that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerContacts",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Creates a new contact",
        "operationId": "CreateResourceOwnerContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The contact model",
            "schema": {
              "$ref": "#/definitions/ContactCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created company"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate the contact you are not associated with",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts/{contactId}": {
      "get": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Get a contact by id",
        "operationId": "GetResourceOwnerContact",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact are returned",
            "schema": {
              "$ref": "#/definitions/ContactDetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact",
            "schema": {
              "$ref": "#/definitions/ContactDetailModel"
            }
          },
          "404": {
            "description": "Contact does not exist",
            "schema": {
              "$ref": "#/definitions/ContactDetailModel"
            }
          },
          "500": {
            "description": "Internal server error",
            "schema": {
              "$ref": "#/definitions/ContactDetailModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Updates the given contact id",
        "operationId": "EditResourceOwnerContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The contact model",
            "schema": {
              "$ref": "#/definitions/ContactEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "The contact that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Removes the given contact",
        "operationId": "DeleteResourceOwnerContact",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact has been deleted"
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The contact that you tried to remove doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Request is bad, You can't delete a contact that is bound to a user"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts/me": {
      "get": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Get the contact representing myself",
        "operationId": "GetResourceOwnerContactMe",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contact are returned",
            "schema": {
              "$ref": "#/definitions/ContactDetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Contact does not exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts/me/updatedefaultvehicle/{vehicleId}": {
      "put": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Updates the default vehicle",
        "description": "This will update the default vehicle",
        "operationId": "MeUpdateDefaultVehicle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "the default vehicle on contact saved"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts/updatedefaultvehicle/{vehicleId}": {
      "put": {
        "tags": [
          "ResourceOwnerContact"
        ],
        "summary": "Updates the default vehicle",
        "description": "This will update the default vehicle",
        "operationId": "UpdateResourceOwnerContactDefaultVehicle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Tthe default vehicle on contact saved"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2": {
      "get": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Get a list of all contacts that user is associated with",
        "description": "Only companies that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerContacts2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Contact2Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Creates a new contact",
        "operationId": "CreateResourceOwnerContact2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The contact model",
            "schema": {
              "$ref": "#/definitions/Contact2CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created contact"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate the contact you are not associated with",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/{contactId}": {
      "get": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Get a contact by id",
        "description": "The user only has access to companies that it is associated with",
        "operationId": "GetResourceOwnerContact2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact is returned",
            "schema": {
              "$ref": "#/definitions/Contact2DetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Contact does not exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Updates the given contact id",
        "description": "This will update the contact with the new model.",
        "operationId": "EditResourceOwnerContact2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new contact model",
            "schema": {
              "$ref": "#/definitions/Contact2EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contact was saved"
          },
          "404": {
            "description": "The contact that you tried to update doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Removes the given contact",
        "operationId": "DeleteResourceOwnerContact2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact has been deleted"
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The contact that you tried to remove doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Request is bad, You can't delete a contact that is bound to a user"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/me": {
      "get": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Get the contact representing myself",
        "operationId": "GetResourceOwnerContactMe2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contact is returned",
            "schema": {
              "$ref": "#/definitions/Contact2DetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Contact does not exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/me/image": {
      "get": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Get contact profile image",
        "description": "This will get the contact profile image, image data is returned in the response content",
        "operationId": "GetImage",
        "parameters": [
          {
            "in": "query",
            "name": "imageType",
            "description": "enum ApiImageType",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/me/uploadimage": {
      "post": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Upload contact profile image",
        "description": "This updates the contact profile image",
        "operationId": "MeUploadImage",
        "consumes": [
          "multipart/form-data"
        ],
        "parameters": [
          {
            "in": "formData",
            "name": "ContentType",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "ContentDisposition",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "Headers",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "Length",
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "formData",
            "name": "Name",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "FileName",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Profile image was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "406": {
            "description": "Request is not properly formatted"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/me/removeimage": {
      "put": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Removes the users profile image\"",
        "description": "This removes the contact profile image",
        "operationId": "MeRemoveImage",
        "responses": {
          "200": {
            "description": "The profile image has been deleted"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/update-rfid": {
      "post": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "operationId": "UpdateRfidResourceOwnerContact2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/Contact2UpdateRfidModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/me/updatedefaultvehicle/{vehicleId}": {
      "put": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Updates the default vehicle",
        "description": "This will update the default vehicle",
        "operationId": "MeUpdateDefaultVehicle2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The default vehicle on contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/updatedefaultvehicle/{vehicleId}": {
      "put": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Updates the default vehicle",
        "description": "This will update the default vehicle",
        "operationId": "UpdateResourceOwnerContactDefaultVehicle2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The default vehicle on contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/customcategory": {
      "post": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Add and remove custom categories",
        "operationId": "ResourceOwnerContact2CustomCategory",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The contact model",
            "schema": {
              "$ref": "#/definitions/CustomCategoryPostModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/{contactId}/customcategories/{customCategoryId}": {
      "get": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Get a custom category",
        "description": "",
        "operationId": "GetCustomCategoryResourceOwnerContacts2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "customCategoryId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CustomCategoryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts2/{contactId}/customcategories": {
      "get": {
        "tags": [
          "ResourceOwnerContact2"
        ],
        "summary": "Get a all custom categories",
        "description": "",
        "operationId": "GetCustomCategoriesResourceOwnerContacts2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CustomCategoryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get a list of all contacts that user is associated with",
        "description": "Only companies that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerContacts3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Contact3Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Creates a new contact",
        "operationId": "CreateResourceOwnerContact3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The contact model",
            "schema": {
              "$ref": "#/definitions/Contact3CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created contact"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate the contact you are not associated with"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/{contactId}": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get a contact by id",
        "description": "The user only has access to companies that it is associated with",
        "operationId": "GetResourceOwnerContact3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact is returned",
            "schema": {
              "$ref": "#/definitions/Contact3DetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Contact does not exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Updates the given contact id",
        "description": "This will update the contact with the new model.",
        "operationId": "EditResourceOwnerContact3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new contact model",
            "schema": {
              "$ref": "#/definitions/Contact3EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The contact that you tried to update doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Removes the given contact",
        "operationId": "DeleteResourceOwnerContact3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact has been deleted"
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Request is bad, You can't delete a contact that is bound to a user"
          },
          "404": {
            "description": "The contact that you tried to remove doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/me": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get the contact representing myself",
        "operationId": "GetResourceOwnerContactMe3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contact is returned",
            "schema": {
              "$ref": "#/definitions/Contact3DetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Contact does not exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/me/image": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get contact profile image",
        "description": "This will get the contact profile image, image data is returned in the response content",
        "operationId": "GetImage3",
        "parameters": [
          {
            "in": "query",
            "name": "imageType",
            "description": "enum ApiImageType",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/me/uploadimage": {
      "post": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Upload contact profile image",
        "description": "This updates the contact profile image",
        "operationId": "MeUploadImage3",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "formData",
            "name": "image",
            "type": "file"
          }
        ],
        "responses": {
          "200": {
            "description": "Profile image was saved"
          },
          "406": {
            "description": "Request is not properly formatted",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/me/removeimage": {
      "put": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Removes the users profile image",
        "description": "This removes the contact profile image",
        "operationId": "MeRemoveImage3",
        "responses": {
          "200": {
            "description": "The profile image has been deleted"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/me/updatedefaultvehicle/{vehicleId}": {
      "put": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Updates the default vehicle",
        "description": "This will update the default vehicle",
        "operationId": "MeUpdateDefaultVehicle3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The default vehicle on contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/updatedefaultvehicle/{vehicleId}": {
      "put": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Updates the default vehicle",
        "description": "This will update the default vehicle",
        "operationId": "UpdateResourceOwnerContactDefaultVehicle3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The default vehicle on contact was saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/customcategory": {
      "post": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Add and remove custom categories",
        "operationId": "ResourceOwnerContact3CustomCategory",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The contact model",
            "schema": {
              "$ref": "#/definitions/CustomCategoryPostModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/{contactId}/customcategories/{customCategoryId}": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get a custom category",
        "description": "",
        "operationId": "GetCustomCategoryResourceOwnerContacts3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "customCategoryId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CustomCategoryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/{contactId}/customcategories": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get a all custom categories",
        "description": "",
        "operationId": "GetCustomCategoriesResourceOwnerContacts3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CustomCategoryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contacts3/getwebsocketauthenticationtoken": {
      "get": {
        "tags": [
          "ResourceOwnerContact3"
        ],
        "summary": "Get an encrypted token to be used for header authentication to Web Socket API. The response\r\nwill also contain for how long the token is valid.",
        "operationId": "GetWebSocketAuthenticationToken",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ContactWebSocketAuthenticationTokenModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contactsetting/{contactId}": {
      "get": {
        "tags": [
          "ResourceOwnerContactSetting"
        ],
        "summary": "Get a list of all settings available for a contact",
        "operationId": "contactsetting_GetSettingList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactSettingModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerContactSetting"
        ],
        "summary": "Edit a setting for the user",
        "operationId": "contactsetting_EditSetting",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactId",
            "description": "The contact id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The setting to edit and its new value (null = remove)",
            "schema": {
              "$ref": "#/definitions/ContactSettingModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The setting was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contactsetting/settingkeylist": {
      "get": {
        "tags": [
          "ResourceOwnerContactSetting"
        ],
        "summary": "Get a list of all settings available to set on a contact",
        "operationId": "contactsetting_GetSettingKeyList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contactvehicle": {
      "get": {
        "tags": [
          "ResourceOwnerContactVehicle"
        ],
        "summary": "Get all vehicles that the logged in user has access to",
        "description": "Only vehicles that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerContactVehicles",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicelse are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactVehicleDetailModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerContactVehicle"
        ],
        "summary": "Creates a new vehicle contact and associates it with user",
        "operationId": "CreateResourceOwnerContactVehicle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle contact model",
            "schema": {
              "$ref": "#/definitions/ContactVehicleCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle contact"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to companies you are not associated with",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contactvehicle/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerContactVehicle"
        ],
        "summary": "Get contacts by vehicle id",
        "description": "The user only has access to contacts that it is associated with through the company",
        "operationId": "GetResourceOwnerContactVehicleContactsBasedOnVehicleId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ContactModel"
              }
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this vehicle",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The vehicle that you tried to update doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contactvehicle/{contactVehicleIdToEdit}": {
      "put": {
        "tags": [
          "ResourceOwnerContactVehicle"
        ],
        "summary": "Updates the given contact vehicle id",
        "operationId": "EditResourceOwnerContactVehicle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactVehicleIdToEdit",
            "description": "The contact vehicle that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new contact vehicle model",
            "schema": {
              "$ref": "#/definitions/ContactVehicleEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ContactVehicle saved"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the contact vehicle",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The contact vehicle that you tried to update doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/contactvehicle/{contactVehicleIdToDelete}": {
      "delete": {
        "tags": [
          "ResourceOwnerContactVehicle"
        ],
        "summary": "Removes the given vehicle contact",
        "description": "This will delete the given vehicle contact.",
        "operationId": "DeleteResourceOwnerContactVehicle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "contactVehicleIdToDelete",
            "description": "The vehicle contact id to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle contact has been deleted"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the vehicle contact",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "The vehicle contact that you tried to remove doesn't exist",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/content/upload": {
      "post": {
        "tags": [
          "ResourceOwnerContent"
        ],
        "summary": "Upload binary file",
        "description": "Upload attachment image and returns url",
        "operationId": "ResourceOwnerContentController_Upload",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "formData",
            "name": "ContentType",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "ContentDisposition",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "Headers",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "Length",
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "formData",
            "name": "Name",
            "type": "string"
          },
          {
            "in": "formData",
            "name": "FileName",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ContentUploadResponseModel"
            }
          },
          "400": {
            "description": "Missing or invalid data",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "406": {
            "description": "Request is not properly formatted",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "201": {
            "description": "Successfully uploaded"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/content/download/{guid}": {
      "get": {
        "tags": [
          "ResourceOwnerContent"
        ],
        "summary": "Get a binary file content",
        "operationId": "ResourceOwnerContentController_Get",
        "parameters": [
          {
            "in": "path",
            "name": "guid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The binary file is returned"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport3": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Get a list of expense reports",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReport3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "tripId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense reports are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExpenseReportModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Create an expense reports",
        "description": "This will create expense report",
        "operationId": "CreateExpenseReport3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ExpenseReportCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport3/{expenseReportId}": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Get an expense reports",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "GetResourceOwnerExpenseReportId3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Updates the given expense report",
        "description": "This will update the given expense report id with a new model.",
        "operationId": "EditResourceOwnerExpenseReport3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "description": "The expense report id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new expense report model",
            "schema": {
              "$ref": "#/definitions/ExpenseReportEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Removes the given expense report",
        "operationId": "DeleteResourceOwnerExpenseReport3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "description": "The expense report id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report has been deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "Not found, the expense report you tried to remove can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport3/export/{expenseReportId}": {
      "post": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Export an expense report in pdf format",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "CreateExpenseReportEmailExport3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/EmailExpenseReportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report is created and sent to the email address"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport3/export": {
      "post": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Export an expense report in pdf format",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "CreateExpenseReportsEmailExport35",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/EmailExpenseReportsModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report is created and sent to the email address"
          },
          "404": {
            "description": "No expense reports could be found with the given parameter values and access rights",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport3/{expenseReportId}/expenseReportItems": {
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReport3V2"
        ],
        "summary": "Removes the given expense report rows",
        "operationId": "DeleteResourceOwnerExpenseReportRows3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "description": "The expense report id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "All expense report rows have been deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "Not found, the expense report you tried to remove can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrow3/{expenseReportRowId}": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportRow3V2"
        ],
        "summary": "Get expense report row",
        "description": "Only expense report row that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReportRow3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerExpenseReportRow3V2"
        ],
        "summary": "Updates the given expense report row",
        "description": "This will update the given expense report row id with a new model.",
        "operationId": "EditResourceOwnerExpenseReportRow3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new expense report row model",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReportRow3V2"
        ],
        "summary": "Removes the given expense report row",
        "operationId": "DeleteResourceOwnerExpenseReportRow3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row has been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrow3": {
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportRow3V2"
        ],
        "summary": "Create an expense report row",
        "description": "",
        "operationId": "CreateExpenseReportRow3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrowcontent3/{expenseReportRowContentId}": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportRowContent3V2"
        ],
        "summary": "Get expense report row content",
        "description": "Only expense report row content that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReportRowContent3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowContentId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row content is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerExpenseReportRowContent3V2"
        ],
        "summary": "Updates the given expense report row content",
        "description": "This will update the given expense report row content id with a new model.",
        "operationId": "EditResourceOwnerExpenseReportRowContent3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowContentId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new expense report row model",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row content was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReportRowContent3V2"
        ],
        "summary": "Removes the given expense report row content",
        "operationId": "DeleteResourceOwnerExpenseReportRowContent3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowContentId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrowcontent3": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportRowContent3V2"
        ],
        "summary": "Get all expense report row content belonging to a expense report row",
        "description": "Only expense report row content that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReportRowContentById3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "expenseReportRowId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of expense report row content is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportRowContent3V2"
        ],
        "summary": "Create an expense report row",
        "description": "",
        "operationId": "CreateExpenseReportRowContent3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrowcontent/{expenseReportRowContentId}": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportRowContentV2"
        ],
        "summary": "Get expense report row content",
        "description": "Only expense report row content that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReportRowContent",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowContentId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row content is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerExpenseReportRowContentV2"
        ],
        "summary": "Updates the given expense report row content",
        "description": "This will update the given expense report row content id with a new model.",
        "operationId": "EditResourceOwnerExpenseReportRowContent",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowContentId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new expense report row model",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row content was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReportRowContentV2"
        ],
        "summary": "Removes the given expense report row content",
        "operationId": "DeleteResourceOwnerExpenseReportRowContent",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowContentId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrowcontent": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportRowContentV2"
        ],
        "summary": "Get all expense report row content belonging to a expense report row",
        "description": "Only expense report row content that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReportRowContentById",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "expenseReportRowId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of expense report row content is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportRowContentV2"
        ],
        "summary": "Create an expense report row",
        "description": "",
        "operationId": "CreateExpenseReportRowContent",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowContentCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrow/{expenseReportRowId}": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportRowV2"
        ],
        "summary": "Get expense report row",
        "description": "Only expense report row that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReportRow",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerExpenseReportRowV2"
        ],
        "summary": "Updates the given expense report row",
        "description": "This will update the given expense report row id with a new model.",
        "operationId": "EditResourceOwnerExpenseReportRow",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new expense report row model",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReportRowV2"
        ],
        "summary": "Removes the given expense report row",
        "operationId": "DeleteResourceOwnerExpenseReportRow",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportRowId",
            "description": "The expense report row id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report row has been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report row you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereportrow": {
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportRowV2"
        ],
        "summary": "Create an expense report row",
        "description": "",
        "operationId": "CreateExpenseReportRow",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ExpenseReportRowCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Get a list of expense reports",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "GetResourceExpenseReport",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "tripId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense reports are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExpenseReportModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Create an expense reports",
        "description": "This will create expense report",
        "operationId": "CreateExpenseReport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ExpenseReportCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport/{expenseReportId}": {
      "get": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Get an expense reports",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "GetResourceOwnerExpenseReportId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "expenseReportId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report is returned",
            "schema": {
              "$ref": "#/definitions/ExpenseReportModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Updates the given expense report",
        "description": "This will update the given expense report id with a new model.",
        "operationId": "EditResourceOwnerExpenseReport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "description": "The expense report id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new expense report model",
            "schema": {
              "$ref": "#/definitions/ExpenseReportEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Removes the given expense report",
        "operationId": "DeleteResourceOwnerExpenseReport",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "description": "The expense report id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report has been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport/export/{expenseReportId}": {
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Export an expense report in pdf format",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "CreateExpenseReportEmailExport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/EmailExpenseReportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report is created and sent to the email address"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport/export": {
      "post": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Export an expense report in pdf format",
        "description": "Only expense reports that the user has access to are accessible.",
        "operationId": "CreateExpenseReportsEmailExport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/EmailExpenseReportsModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The expense report is created and sent to the email address"
          },
          "404": {
            "description": "No expense reports could be found with the given parameter values and access rights",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/expensereport/{expenseReportId}/expenseReportItems": {
      "delete": {
        "tags": [
          "ResourceOwnerExpenseReportV2"
        ],
        "summary": "Removes the given expense report rows",
        "operationId": "DeleteResourceOwnerExpenseReportRows",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "expenseReportId",
            "description": "The expense report id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "All expense report rows have been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the expense report you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/geofence": {
      "get": {
        "tags": [
          "ResourceOwnerGeofence"
        ],
        "summary": "Get a list of geofencese user is associated with",
        "description": "Only geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerGeofences",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/GeofenceModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerGeofence"
        ],
        "summary": "Creates a new geofence",
        "description": "This will create a new geofence and associate it with a vehicle.",
        "operationId": "CreateResourceOwnerGeofence",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The geofence model",
            "schema": {
              "$ref": "#/definitions/GeofenceCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created geofence"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/geofence/{geofenceId}": {
      "get": {
        "tags": [
          "ResourceOwnerGeofence"
        ],
        "summary": "Get geofence",
        "description": "Only geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerGeofence",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "$ref": "#/definitions/GeofenceModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this geofence"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerGeofence"
        ],
        "summary": "Updates the given geofence with new model",
        "description": "This will update the given geofence id with a new model.",
        "operationId": "EditResourceOwnerGeofence",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new geofence model",
            "schema": {
              "$ref": "#/definitions/GeofenceEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The geofence was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the geofence you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerGeofence"
        ],
        "summary": "Removes the given geofence",
        "operationId": "DeleteResourceOwnerGeofence",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofence has been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the geofence you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/geofence2": {
      "get": {
        "tags": [
          "ResourceOwnerGeofence2"
        ],
        "summary": "Get a list of geofencese user is associated with",
        "description": "Only geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerGeofences2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Geofence2Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerGeofence2"
        ],
        "summary": "Creates a new geofence",
        "description": "This will create a new geofence and associate it with  vehicles.",
        "operationId": "CreateResourceOwnerGeofence2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The geofence model",
            "schema": {
              "$ref": "#/definitions/Geofence2CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created geofence"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/geofence2/{geofenceId}": {
      "get": {
        "tags": [
          "ResourceOwnerGeofence2"
        ],
        "summary": "Get geofence",
        "description": "Only geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerGeofence2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "$ref": "#/definitions/Geofence2Model"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this geofence"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerGeofence2"
        ],
        "summary": "Updates the given geofence with new model",
        "description": "This will update the given geofence id with a new model.",
        "operationId": "EditResourceOwnerGeofence2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new geofence model",
            "schema": {
              "$ref": "#/definitions/Geofence2EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The geofence was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the geofence you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/geofence3": {
      "get": {
        "tags": [
          "ResourceOwnerGeofence3"
        ],
        "summary": "Get a list of geofencese organization is associated with",
        "description": "Only geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerGeofences3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/GeofenceModel3"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerGeofence3"
        ],
        "summary": "Creates a new geofence",
        "description": "This will create a new geofence and associate it with a vehicle.",
        "operationId": "CreateResourceOwnerGeofence3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The geofence model",
            "schema": {
              "$ref": "#/definitions/Geofence3CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created geofence"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/geofence3/{geofenceId}": {
      "get": {
        "tags": [
          "ResourceOwnerGeofence3"
        ],
        "summary": "Get geofence",
        "description": "Only geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerGeofence3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "$ref": "#/definitions/GeofenceModel3"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this geofence",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerGeofence3"
        ],
        "summary": "Updates the given geofence with new model",
        "description": "This will update the given geofence id with a new model.",
        "operationId": "EditResourceOwnerGeofence3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new geofence model",
            "schema": {
              "$ref": "#/definitions/Geofence3EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The geofence was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the geofence you tried to update can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerGeofence3"
        ],
        "summary": "Removes the given geofence",
        "operationId": "DeleteResourceOwnerGeofence3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "geofenceId",
            "description": "The geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofence has been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "404": {
            "description": "Not found, the geofence you tried to remove can't be found",
            "schema": {
              "$ref": "#/definitions/ProblemDetails"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice": {
      "delete": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "operationId": "HoursOfServiceDeleteCycles",
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/cycles": {
      "get": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Parse Hours Of Service duty statuses to cycles and work shiftsS \r\nor ended in the date interval",
        "operationId": "HoursOfServiceGetCycles",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "description": "Query on from date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "Query on to date",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "The settings is returned, null if no settings exist",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceCycles"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/statuses": {
      "get": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Get the Hours of Service statuses that started in the date interval \r\nor ended in the date interval",
        "operationId": "HoursOfServiceGetStatuses",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "description": "Query on from date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "Query on to date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "hoursOfServiceLogId",
            "description": "Query on id",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "Get statuses for a contact",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Get statuses for a vehicle",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "notes",
            "description": "Query on notes",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The settings is returned, null if no settings exist",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceDutyStatusesModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/synch": {
      "get": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Get the Hours of Service statuses that have beend added, updated or deleted",
        "operationId": "HoursOfServiceGetSynch",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "lastSynchDate",
            "description": "Query on status that have been created, modified or deleted",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "Get statuses for a contact",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The settings is returned, null if no settings exist",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceStatusSynchModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/status": {
      "post": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Creates Hours Of Service duty status entry",
        "operationId": "HoursOfSerivceCreateStatus",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The settings model",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceStatusPostModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly resource"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/settings": {
      "get": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Get the current user Hours of Service settings",
        "operationId": "HoursOfServiceGetSettings",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "contactHoursOfServiceSettingsId",
            "description": "",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The settings is returned, null if no settings exist",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceSettingsModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Creates Hours Of Service Settings",
        "operationId": "HoursOfSerivceCreateSettings",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The settings model",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceSettingsCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly resource"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/export": {
      "post": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Export Hours Of Service Log",
        "operationId": "HoursOfSerivceExport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The export model",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceExportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A mail is sent to the email address"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofservice/exportpdf": {
      "post": {
        "tags": [
          "ResourceOwnerHoursOfService"
        ],
        "summary": "Export Hours Of Service Log as a PDF",
        "operationId": "HoursOfSerivceExportExportPDF",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The export model",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceExportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A mail is sent to the email address"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/hoursofserviceviolations": {
      "get": {
        "tags": [
          "ResourceOwnerHoursOfServiceViolations"
        ],
        "summary": "Get the Hours of Service Violations",
        "operationId": "HoursOfServiceGetViolations",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "description": "Query on from date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "Query on to date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "hourOfServiceViolationId",
            "description": "Query on to id",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "Get statuses for a contact",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Get statuses for a vehicle",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "notes",
            "description": "Query on notes",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The settings is returned, null if no settings exist",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/HoursOfServiceDutyStatusModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerHoursOfServiceViolations"
        ],
        "summary": "Creates Hours Of Service Violation",
        "operationId": "HoursOfSerivceCreateViolation",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The settings model",
            "schema": {
              "$ref": "#/definitions/HoursOfServiceViolationCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly resource"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeiconfigs": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIConfig"
        ],
        "summary": "Get all imeis(devices) that the logged in user has access to",
        "description": "Only vehicles that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerImeiConfigs",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "includeDeviceType",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The Imeis are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/IMEIConfigModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerIMEIConfig"
        ],
        "summary": "Creates a new IMEIConfig and associates it with vehicle",
        "operationId": "CreateResourceOwnerIMEIConfig",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The IMEI Config model",
            "schema": {
              "$ref": "#/definitions/IMEIConfigCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created ImeiConfig"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to add an IMEI that already exists or if it is not available in our systems. In addition, if the serialnumber to the IMEI device is incorrect"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeiconfigs/{imeiConfigId}": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIConfig"
        ],
        "summary": "Get IMEIconfig by IMEIconfigId",
        "description": "The user only has access to IMEIconfig that it is associated with through the companies or directly thorugh vehicles",
        "operationId": "GetResourceOwnerIMEIConfigsBasedOnVehicleId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiConfigId",
            "description": "The IMEIconfig id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "includeDeviceType",
            "description": "",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The Imeis are returned",
            "schema": {
              "$ref": "#/definitions/IMEIConfigDetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this IMEIconfig"
          },
          "404": {
            "description": "The IMEIconfig that you tried to get doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerIMEIConfig"
        ],
        "summary": "Updates the given IMEIConfig id",
        "operationId": "EditResourceOwnerIMEIConfig",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiConfigId",
            "description": "The IMEIConfig id that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The IMEIConfig model",
            "schema": {
              "$ref": "#/definitions/IMEIConfigEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The IMEIConfig was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "The IMEIConfig that you tried to update doesn't exist"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to add an IMEI that already exists or if it is not available in our systems. In addition, if the serialnumber to the IMEI device is incorrect"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerIMEIConfig"
        ],
        "summary": "Removes the given IMEI config",
        "description": "This will delete the given IMEIConfig.",
        "operationId": "DeleteResourceOwnerIMEIConfig",
        "parameters": [
          {
            "in": "path",
            "name": "imeiConfigId",
            "description": "The imeiConfigId id to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The IMEI config has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "The IMEIConfig that you tried to remove doesn't exist"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the IMEIConfig"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeiconfigs3": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIConfig3"
        ],
        "summary": "Get all imeis(devices) that the logged in user has access to",
        "description": "Only vehicles that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerImeiConfigs3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "includeDeviceType",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The Imeis are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/IMEIConfig3Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerIMEIConfig3"
        ],
        "summary": "Creates a new IMEIConfig and associates it with vehicle",
        "operationId": "CreateResourceOwnerIMEIConfig3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The IMEI Config model",
            "schema": {
              "$ref": "#/definitions/IMEIConfigCreate3Model"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created ImeiConfig"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to add an IMEI that already exists or if it is not available in our systems. In addition, if the serialnumber to the IMEI device is incorrect"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeiconfigs3/{imeiConfigId}": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIConfig3"
        ],
        "summary": "Get IMEIconfig by IMEIconfigId",
        "description": "The user only has access to IMEIconfig that it is associated with through the companies or directly thorugh vehicles",
        "operationId": "GetResourceOwnerIMEIConfigsBasedOnVehicleId3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiConfigId",
            "description": "The IMEIconfig id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "includeDeviceType",
            "description": "",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The Imeis are returned",
            "schema": {
              "$ref": "#/definitions/IMEIConfigDetail3Model"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this IMEIconfig"
          },
          "404": {
            "description": "The IMEIconfig that you tried to get doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerIMEIConfig3"
        ],
        "summary": "Updates the given IMEIConfig id",
        "operationId": "EditResourceOwnerIMEIConfig3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiConfigId",
            "description": "The IMEIConfig id that should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The IMEIConfig model",
            "schema": {
              "$ref": "#/definitions/IMEIConfigEdit3Model"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The IMEIConfig was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "The IMEIConfig that you tried to update doesn't exist"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to add an IMEI that already exists or if it is not available in our systems. In addition, if the serialnumber to the IMEI device is incorrect"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeievents": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIEvent"
        ],
        "summary": "Get a list of all IMEIEvents that user is associated with",
        "description": "Only IMEIEvents that the user is associated with will be returned by this operation.",
        "operationId": "GetResourceOwnerImeiEvents",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The IMEIEvents are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/IMEIEventModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeievents/mil/{imeiEventId}": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIEvent"
        ],
        "summary": "Gets MILIMEIevent for given imeiEventId",
        "description": "The user only has access to IMEIEvents that it is associated with",
        "operationId": "GetResourceOwnerMilEvent",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiEventId",
            "description": "The id to IMEIevent",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The IMEIEventMILs are returned",
            "schema": {
              "$ref": "#/definitions/IMEIEventMILModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, you are using the wrong URI to retrieve this EMEIEvent"
          },
          "403": {
            "description": ">Request is forbidden, this could occur if you are not associated with the IMEIEvent"
          },
          "404": {
            "description": "The IMEIEvent that you tried to get doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeievents/dtc/{imeiEventId}": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIEvent"
        ],
        "summary": "Gets DTCIMEIevent for given imeiEventId",
        "description": "The user only has access to IMEIEvents that it is associated with",
        "operationId": "GetResourceOwnerDTCEvent",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiEventId",
            "description": "The id to IMEIevent",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The DTCIMEIevents are returned",
            "schema": {
              "$ref": "#/definitions/IMEIEventDTCModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, you are using the wrong URI to retrieve this EMEIEvent"
          },
          "403": {
            "description": ">Request is forbidden, this could occur if you are not associated with the IMEIEvent"
          },
          "404": {
            "description": "The IMEIEvent that you tried to get doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/imeievents/status/{imeiEventId}": {
      "get": {
        "tags": [
          "ResourceOwnerIMEIEvent"
        ],
        "summary": "Gets StatusIMEIevent for given imeiEventId",
        "description": "The user only has access to IMEIEvents that it is associated with",
        "operationId": "GetResourceOwnerStatusEvent",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "imeiEventId",
            "description": "The id to IMEIevent",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The StatusIMEIevents are returned",
            "schema": {
              "$ref": "#/definitions/IMEIEventStatusModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, you are using the wrong URI to retrieve this EMEIEvent"
          },
          "403": {
            "description": ">Request is forbidden, this could occur if you are not associated with the IMEIEvent"
          },
          "404": {
            "description": "The IMEIEvent that you tried to get doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Integration Configuration",
        "description": "",
        "operationId": "ResourceOwnerIntegrationController_GetIntegrationConfiguration",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Successful retrieval of integration settings",
            "schema": {
              "$ref": "#/definitions/IntegrationConfigurationModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Update integration configuration",
        "description": "If you want to update one integration but not the rest you can exclude them from the model.",
        "operationId": "ResourceOwnerIntegrationController_UpdateIntegrationSettings",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/IntegrationConfigurationModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Integration configuration successfully retrieved",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "403": {
            "description": "User have no organization or is not authorized to this organization"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/alphabet": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Information",
        "description": "Run this once before running Alphabet login. The flag LoginRequired will say if login to Alphabet is required to run (e.g. user has changed password in Alphabet) then this method should be run again after login.",
        "operationId": "ResourceOwnerIntegrationController_GetAlphabetInformation",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "List with active vehicles and available month to send in mileagelog report for is returned",
            "schema": {
              "$ref": "#/definitions/AlphabetInformationModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/alphabet/login": {
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Alphabet login",
        "description": "This is only needed if Alphabet information returned the required login flag set to true. User credentials are stored for future requests.",
        "operationId": "ResourceOwnerIntegrationController_AlphabetLogin",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "username",
            "type": "string"
          },
          {
            "in": "query",
            "name": "password",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Login succeeded",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "400": {
            "description": "Alphabet returned an error, this will usually be caused by entering wrong username or password"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/alphabet/mileagelog/{vehicleId}/{year}/{month}": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Get Alphabet mileage log",
        "description": "Run this with vehicle id and period returned from Alphabet information. Data model contains odometer values and business km from the first day to the last day of sent in month.",
        "operationId": "ResourceOwnerIntegrationController_GetAlphabetMileageLog",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Mileage log data for previewing purpose is returned",
            "schema": {
              "$ref": "#/definitions/AlphabetMileageLogModel"
            }
          },
          "400": {
            "description": "Invalid parameter values"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Send Alphabet mileage log",
        "description": "GET must be run before POST",
        "operationId": "ResourceOwnerIntegrationController_SendAlphabetMileageLog",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Model received from GET",
            "schema": {
              "$ref": "#/definitions/AlphabetMileageLogModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mileage log report was sent",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "400": {
            "description": "Invalid parameter values"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/autoplan": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "AutoPlan Information (Legacy)\r\nThis endpoint uses the old AutoPlan API which requires username/password authentication. Please migrate to the new /autoplan/v2/information endpoint which uses certificate-based authentication.",
        "description": "Run this once before running AutoPlan login. The flag LoginRequired will say if login to AutoPlan is required to run (e.g. user has changed password in AutoPlan) then this method should be run again after login.",
        "operationId": "ResourceOwnerIntegrationController_GetAutoplanInformation",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "List with active vehicles and available month to send in mileagelog report for is returned",
            "schema": {
              "$ref": "#/definitions/AutoplanInformationModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/autoplan/v2/information": {
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Get AutoPlan V2 Information",
        "description": "Personal identity number must be provided in the request body.",
        "operationId": "ResourceOwnerIntegrationController_GetAutoPlanV2Information",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Request containing personal identity number (12 digits in format YYYYMMDDNNNN)",
            "schema": {
              "$ref": "#/definitions/AutoPlanV2InformationRequestModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of vehicles with available periods for driving journal and odometer readings",
            "schema": {
              "$ref": "#/definitions/AutoPlanV2InformationModel"
            }
          },
          "400": {
            "description": "Invalid personal identity number"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/autoplan/login": {
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "AutoPlan login (Legacy)\r\nThis endpoint uses the old AutoPlan API which requires username/password authentication.",
        "description": "This is only needed if AutoPlan wizard returned the required login flag set to true. User credentials are stored for future requests.",
        "operationId": "ResourceOwnerIntegrationController_AutoplanLogin",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "username",
            "type": "string"
          },
          {
            "in": "query",
            "name": "password",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Login succeeded",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "400": {
            "description": "Autoplan returned an error, this will usually be caused by entering wrong username or password"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/autoplan/mileagelog/{vehicleId}/{year}/{month}": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Get AutoPlan mileage log (Legacy)",
        "description": "Run this with vehicle id and period returned from Autoplan wizard. Data model contains odometer values and business km from the first day to the last day of sent in month.",
        "operationId": "ResourceOwnerIntegrationController_GetAutoplanMileageLog",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Mileage log data for previewing purpose is returned",
            "schema": {
              "$ref": "#/definitions/AutoplanMileageLogModel"
            }
          },
          "400": {
            "description": "Invalid parameter values"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Send AutoPlan mileage log (Legacy)",
        "description": "GET must be run before POST",
        "operationId": "ResourceOwnerIntegrationController_SendAutoplanMileageLog",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Model received from GET",
            "schema": {
              "$ref": "#/definitions/AutoplanMileageLogModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mileage log report was sent",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "400": {
            "description": "Invalid parameter values"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/autoplan/v2/drivingjournal/{vehicleId}/{year}/{month}": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Get AutoPlan V2 Driving Journal Preview",
        "description": "Get driving journal data for preview before sending. Contains odometer values and business km for the specified period. This is the NEW API endpoint that replaces GET /autoplan/mileagelog (legacy).",
        "operationId": "ResourceOwnerIntegrationController_GetAutoPlanV2DrivingJournal",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of the period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of the period",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Driving journal data for preview",
            "schema": {
              "$ref": "#/definitions/AutoPlanV2DrivingJournalModel"
            }
          },
          "400": {
            "description": "Invalid parameters"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Send AutoPlan V2 Driving Journal",
        "description": "Send driving journal to AutoPlan V2 API. GET endpoint must be called first to retrieve the data to send. Note: Incoming odometer is automatically calculated from previous period's outgoing value per API specification. This is the NEW API endpoint that replaces POST /autoplan/mileagelog (legacy).",
        "operationId": "ResourceOwnerIntegrationController_SendAutoPlanV2DrivingJournal",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of the period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of the period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Request containing Personal identity number (12 digits YYYYMMDDNNNN format) and Driving journal data from GET endpoint",
            "schema": {
              "$ref": "#/definitions/AutoPlanV2SendDrivingJournalRequestModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Driving journal successfully sent",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "400": {
            "description": "Invalid parameters or data mismatch"
          },
          "401": {
            "description": "Not all trips in period are approved"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/bilreda": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Bilreda Information",
        "description": "Currently in the period list the month previous to today will always have the selected flag set to true.",
        "operationId": "ResourceOwnerIntegrationController_GetBilredaInformation",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Active vehicle with a list of available months to send in mileagelog report for is returned",
            "schema": {
              "$ref": "#/definitions/BilredaInformationModel"
            }
          },
          "400": {
            "description": "User may not have activated any Bilreda integration"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/integration/bilreda/mileagelog/{vehicleId}/{year}/{month}": {
      "get": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Get Bilreda mileage log",
        "description": "Run this with vehicle id and period returned from Bilreda wizard. Data model contains odometer values and business km from the first day to the last day of sent in month.",
        "operationId": "ResourceOwnerIntegrationController_GetBilredaMileageLog",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Mileage log data for previewing purpose is returned",
            "schema": {
              "$ref": "#/definitions/BilredaMileageLogModel"
            }
          },
          "400": {
            "description": "Invalid parameter values"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerIntegration"
        ],
        "summary": "Send Bilreda mileage log",
        "description": "GET must be run before POST",
        "operationId": "ResourceOwnerIntegrationController_SendBilredaMileageLog",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "year",
            "description": "Year of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "month",
            "description": "Month of from date in period",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Model received from GET",
            "schema": {
              "$ref": "#/definitions/BilredaMileageLogModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mileage log report was sent",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "400": {
            "description": "Invalid parameter values"
          },
          "403": {
            "description": "You are not authorized to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/lead": {
      "post": {
        "tags": [
          "ResourceOwnerLead"
        ],
        "summary": "Creates or updates lead",
        "operationId": "ResourceOwnerLeadController_CreateLead",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Lead information",
            "schema": {
              "$ref": "#/definitions/CreateLeadModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ok"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/organization": {
      "get": {
        "tags": [
          "ResourceOwnerOrganization"
        ],
        "summary": "Get a the details of the organizationt he user is assoicates with",
        "operationId": "GetResourceOwnerOrganization",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The organization model is returned",
            "schema": {
              "$ref": "#/definitions/OrganizationModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerOrganization"
        ],
        "summary": "Updates the organization",
        "description": "This will update the organization with the new model.",
        "operationId": "EditResourceOwnerOrganization",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The organization model containing the changes",
            "schema": {
              "$ref": "#/definitions/OrganizationEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The organization was saved",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "You are not authorized to edit the organization"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/organization/hierarchy": {
      "get": {
        "tags": [
          "ResourceOwnerOrganization"
        ],
        "summary": "Get the organization hierarchy",
        "operationId": "GetResourceOrganizationHierarchy",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The organization hierarchy is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/OrganizationNodeModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this contact"
          },
          "404": {
            "description": "Contact does not exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/place": {
      "get": {
        "tags": [
          "ResourceOwnerPlace"
        ],
        "summary": "Get places",
        "description": "Only places that the user has access to are accessible.",
        "operationId": "GetResourceOwnerPlaces",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The places are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PlaceModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerPlace"
        ],
        "summary": "Creates a new place",
        "description": "This will create a new place and associate it with a vehicle.",
        "operationId": "CreateResourceOwnerPlace",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The place model",
            "schema": {
              "$ref": "#/definitions/PlaceCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created place"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/place/{placeId}": {
      "get": {
        "tags": [
          "ResourceOwnerPlace"
        ],
        "summary": "Get place",
        "description": "Only places that the user has access to are accessible.",
        "operationId": "GetResourceOwnerPlace",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The places id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The place details are returned",
            "schema": {
              "$ref": "#/definitions/PlaceModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this places"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerPlace"
        ],
        "summary": "Updates the given place with new model",
        "description": "This will update the given place id with a new model.",
        "operationId": "EditResourceOwnerPlace",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new place model",
            "schema": {
              "$ref": "#/definitions/PlaceEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The given place was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerPlace"
        ],
        "summary": "Removes the given company",
        "description": "Removes the given place.",
        "operationId": "DeleteResourceOwnerPlace",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The place id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The place has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "Not found, the place you tried to remove can't be found"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/place2": {
      "post": {
        "tags": [
          "ResourceOwnerPlace2"
        ],
        "summary": "Creates a new place",
        "description": "This will create a new place and associate it with a number of vehicles.\r\n            Only vehicles authorized for edit will be added to the place.",
        "operationId": "CreateResourceOwnerPlace2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The place model",
            "schema": {
              "$ref": "#/definitions/Place2CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created place"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/place2/{placeId}": {
      "put": {
        "tags": [
          "ResourceOwnerPlace2"
        ],
        "summary": "Updates the given place with new model",
        "description": "This will update information on an already existing place, as well as its vehicle connections.\r\n            Vehicle connections to the place will be updated/added from the VehicleIds list if user has edit authorization to the vehicles.\r\n            Already existing vehicle connections be removed if excluded in the VehicleIds list (if authorized to be edited).\r\n            This will update the given place id with a new model.",
        "operationId": "EditResourceOwnerPlace2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The place id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The place model",
            "schema": {
              "$ref": "#/definitions/Place2EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The given place was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/place3": {
      "get": {
        "tags": [
          "ResourceOwnerPlace3"
        ],
        "summary": "Gets all places for organization",
        "operationId": "GetResourceOwnerPlaces3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PlaceModel3"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerPlace3"
        ],
        "summary": "Creates a new place for organization",
        "description": "This will create a new place and associate it with a number of vehicles.\r\n            Only vehicles authorized for edit will be added to the place.",
        "operationId": "CreateResourceOwnerPlace3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The place model",
            "schema": {
              "$ref": "#/definitions/Place3CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created place"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/place3/{placeId}": {
      "get": {
        "tags": [
          "ResourceOwnerPlace3"
        ],
        "summary": "Gets place by placeid",
        "operationId": "GetResourceOwnerPlace3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The Id of the place",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The place details are returned",
            "schema": {
              "$ref": "#/definitions/PlaceModel3"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this place"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerPlace3"
        ],
        "summary": "Updates the given place with new model",
        "description": "This will update information on an already existing place, as well as its vehicle connections.\r\n            Vehicle connections to the place will be updated/added from the VehicleIds list if user has edit authorization to the vehicles.\r\n            Already existing vehicle connections be removed if excluded in the VehicleIds list (if authorized to be edited).\r\n            This will update the given place id with a new model.",
        "operationId": "EditResourceOwnerPlace3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The place id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The place model",
            "schema": {
              "$ref": "#/definitions/Place3EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The given place was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerPlace3"
        ],
        "summary": "Removes the given place",
        "description": "This will remove the given trigger including all historic message belonging to this trigger.",
        "operationId": "DeleteResourceOwnerPlace3",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The place has been deleted"
          },
          "403": {
            "description": "Request is forbidden, this could occur if the user is not associated with the place"
          },
          "404": {
            "description": "The place that you tried to remove doesn't exist"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Get all publish subscribe records the user has created",
        "description": "Only publish subscribe records that the user has access to are accessible.",
        "operationId": "GetPublishSubscribe",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The publish subscribe records is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PublishSubscribeModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Create an a publish subscribe record",
        "description": "",
        "operationId": "CreatePublishSubscribe",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/PublishSubscribeCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A header link containing the URL to the newly created resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Get the publish subscribe by record id",
        "description": "Only publis subscribe records that the user has access to are accessible.",
        "operationId": "GetPublishSubscribeById",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The publish subscribe details is returned",
            "schema": {
              "$ref": "#/definitions/PublishSubscribeModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Updates the given publish subscribe record",
        "description": "This will update the given publish subscribe record id with a new model.",
        "operationId": "EditPublishSubscribe",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new publish subscribe model",
            "schema": {
              "$ref": "#/definitions/PublishSubscribeEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The publish subscribe record was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Removes the given publish subscribe record",
        "operationId": "DeletePublishSubscribeRecord",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The publish subscribe record been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe records you tried to remove can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testtripstart": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes a test trip start to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "The vehicle id that has existing trip, last trip will be fetched",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip start was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testtripend": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes a test trip end to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "The vehicle id that has existing trip, last trip will be fetched",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testvehiclecreated": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes a created vehicled to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "The vehicle id that has existing trip, last trip will be fetched",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testvehiclemodified": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes a modified vehicled to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "The vehicle id that has existing trip, last trip will be fetched",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testcontactcreated": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes a created driver / contact to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "The vehicle id that has existing trip, last trip will be fetched",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testcontactmodified": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes a modified contact to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "The vehicle id that has existing trip, last trip will be fetched",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testdeviceconnected": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes vehicle information similar to when a device is connected to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "The vehicle id",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/publishsubscribe/{publishSubscribeId}/testdevicedisconnected": {
      "get": {
        "tags": [
          "ResourceOwnerPublishSubscribe"
        ],
        "summary": "Publishes vehicle information similar to when a device is disconnected to the publish subscribe endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "publishSubscribeId",
            "description": "The publish subscribe record id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "The vehicle id",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The contact end was published to your publish subscribe record endpoint"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the publish subscribe record you tried couldn't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/quotes": {
      "get": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Retrieve a list of quotes and their containing attachments, items and notes",
        "description": "If no time is set on the \"to\" parameter, then it's assumed all entries on the date should be included, and the time part will be set to 11:59:59 PM",
        "operationId": "ResourceOwnerQuote_ListQuotes",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "description": "Filter on Created to be on or after from date (default is 30 days prior to todays date)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "to",
            "description": "Filter on Created to be on or after to date (default is todays date)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "quoteStatus",
            "description": "Status on quote (Incomplete = 0, Created = 1, SentToCustomerForApproval = 2, Approved = 3, ConvertedToWorkOrder = 4, Declined = 5) (default is all)",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ]
          },
          {
            "in": "query",
            "name": "includeDeleted",
            "description": "Include deleted quote (default is false)",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/QuoteModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Create a new Quote",
        "operationId": "ResourceOwnerQuote_CreateQuote",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Quote model",
            "schema": {
              "$ref": "#/definitions/QuoteModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created quote."
          },
          "500": {
            "description": "Internal server error."
          },
          "400": {
            "description": "Bad request, could occur for various cases, see returned message."
          },
          "403": {
            "description": "Request is forbidden, could occur for various reasons, see returned message."
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Update or create one or many quotes",
        "description": "For quotes, items, attachments and notes with an id is updated. When id is not provided new objects is created. If an \r\n            item, attachment or note is missing on an existing quote that item, attachment or note is removed.",
        "operationId": "ResourceOwnerWorkOrder_SaveQuoteList",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "List of quotes",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/QuoteModelSyncPUT"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful update",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/QuoteModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error."
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/quotes/{quoteId}": {
      "get": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Get a Quote",
        "operationId": "ResourceOwnerQuote_GetQuote",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "quoteId",
            "description": "Quote Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/QuoteModelGET"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Updates a quote",
        "operationId": "ResourceOwnerQuote_UpdateQuote",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "quoteId",
            "description": "Quote Id that needs to be udpated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Quote edit model",
            "schema": {
              "$ref": "#/definitions/QuoteModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Soft deletes the Quote",
        "operationId": "ResourceOwnerQuote_DeleteQuote",
        "parameters": [
          {
            "in": "path",
            "name": "quoteId",
            "description": "Quote Id that needs to be deleted",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/quotes/{quoteId}/status": {
      "put": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Update status of a quote",
        "operationId": "ResourceOwnerQuote_UpdateStatus",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "quoteId",
            "description": "The quote which the satus should be updated on",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Quote status",
            "schema": {
              "$ref": "#/definitions/QuoteStatusModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful update"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/quotes/referenceId": {
      "get": {
        "tags": [
          "ResourceOwnerQuote"
        ],
        "summary": "Get a new reference id for a quote (not unique)",
        "operationId": "ResourceOwnerQuote_GetNextQuoteId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "string"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/registeredtoll": {
      "get": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Get list of registered tolls",
        "operationId": "ResourceOwnerRegisteredTollController_GetRegisteredTollList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "description": "Registered tolls from this timestamp (default: 60 days back)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "to",
            "description": "Registered tolls until this timestamp (default: current timestamp)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "If set, only list tolls registered for this specific vehicle (default: all accessible vehicles)",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "driverContactId",
            "description": "If set, only list tolls registered for this specific driver (default: all drivers)",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Registered toll list successfully fetched",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RegisteredTollModelGET"
              }
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Register a toll passage",
        "operationId": "ResourceOwnerRegisteredTollController_SaveRegisteredToll",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Toll fee to register",
            "schema": {
              "$ref": "#/definitions/RegisteredTollModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Successfully created"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/registeredtoll/multi-update": {
      "put": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Update multiple toll passage registrations",
        "operationId": "ResourceOwnerRegisteredTollController_UpdateRegisteredTollList",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Toll fee registration list",
            "schema": {
              "$ref": "#/definitions/RegisteredTollBatchUpdateModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/registeredtoll/{registeredTollId}": {
      "put": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Update a toll passage",
        "operationId": "ResourceOwnerRegisteredTollController_UpdateRegisteredToll",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "registeredTollId",
            "description": "Which toll fee to edit",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Toll fee information",
            "schema": {
              "$ref": "#/definitions/RegisteredTollModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Get registered toll",
        "operationId": "ResourceOwnerRegisteredTollController_GetRegisteredToll",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "registeredTollId",
            "description": "Id of registered toll",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Registered toll list successfully fetched",
            "schema": {
              "$ref": "#/definitions/RegisteredTollModelGET"
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Delete registered toll fee",
        "operationId": "ResourceOwnerRegisteredTollController_DeleteRegisteredToll",
        "parameters": [
          {
            "in": "path",
            "name": "registeredTollId",
            "description": "The id for the registered toll to delete",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Registered toll list successfully deleted"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/registeredtoll/tollzone": {
      "get": {
        "tags": [
          "ResourceOwnerRegisteredTollV2"
        ],
        "summary": "Get the list of toll zones",
        "operationId": "ResourceOwnerRegisteredTollController_GetTollZoneList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Toll zone list successfully fetched",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TollZoneModelGET"
              }
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/trips-report": {
      "post": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Trips report",
        "description": "Max date interval is 16 days",
        "operationId": "GetTripReport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/TripsReportRequestModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle summary report is returned",
            "schema": {
              "$ref": "#/definitions/TripsReportResponse"
            }
          },
          "400": {
            "description": "Exceeded date range allowed"
          },
          "401": {
            "description": "Not authorized to all supplied vehicles"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/vehicle-summary": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Vehicle summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation.\r\n            400 bad request is returned if the date period parameter is not in a correct format",
        "operationId": "GetVehicleSummary",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "description": "Period from date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "Period to date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "page",
            "description": "First page = 1, page size 20",
            "type": "integer",
            "format": "int32",
            "default": 1
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Filter on vehicleId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle summary report is returned",
            "schema": {
              "$ref": "#/definitions/VehiclesSummaryReportModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/tripsummary/{dateperiod}": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Get a trip summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetTripSummaryReport",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip summary report are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripSummaryReportModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/tripsummary/{dateperiod}/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Get a trip summary report filtered by vehicle",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetTripSummaryReporByVehicleId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Report will be filtered on vehicle Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip summary report are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripSummaryReportModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/vehiclesummary/{dateperiod}/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Get a vehicle summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetVehicleSummaryReportByVehicleId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Report will be filtered on vehicle Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle summary report returned",
            "schema": {
              "$ref": "#/definitions/VehicleSummaryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/vehiclessummary/{dateperiod}": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Get vehicles summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetVehiclesSummaryReport",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles summary report is returned",
            "schema": {
              "$ref": "#/definitions/VehiclesSummaryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/emailtripreport": {
      "post": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Email a trip journal report to a desired email address",
        "description": "Only vehicles that the user is associated will be allowed",
        "operationId": "EmailTripReport",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/EmailTripReportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Email with trip journal has been sent"
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "ISO 639 language code does not exist"
          },
          "403": {
            "description": "Not allowed to vehicle"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/emailtripreport/periods": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Get available vehicles and periods for an email trip journal",
        "operationId": "EmailTripReportPeriods",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "List with active vehicles and available month to send in email trip journal for is returned",
            "schema": {
              "$ref": "#/definitions/EmailTripReportPeriodListModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/geofencelog": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "",
        "operationId": "GetGeofenceLog",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "vehicleId",
            "description": "",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "geofenceId",
            "description": "",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDate",
            "description": "",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/GeofenceReportModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports/exporttrips": {
      "get": {
        "tags": [
          "ResourceOwnerReports"
        ],
        "summary": "Export trips to Excel or PDF",
        "description": "Only trips that the user is associated with will be returned by this operation.",
        "operationId": "ExportTrips",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "fromDate",
            "description": "From date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "To date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "reportType",
            "description": "Excel or PDF",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          },
          {
            "in": "query",
            "name": "apiTripType",
            "description": "Filter on trip type",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Filter on vehicle",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/HttpResponseMessage"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports3/tripsummary/{dateperiod}": {
      "get": {
        "tags": [
          "ResourceOwnerReports3"
        ],
        "summary": "Get a trip summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetTripSummaryReport3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip summary report are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripSummaryReportModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports3/tripsummary/{dateperiod}/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerReports3"
        ],
        "summary": "Get a trip summary report filtered by vehicle",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetTripSummaryReporByVehicleId3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Report will be filtered on vehicle Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip summary report are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripSummaryReportModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports3/vehiclesummary/{dateperiod}/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerReports3"
        ],
        "summary": "Get a vehicle summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetVehicleSummaryReportByVehicleId3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Report will be filtered on vehicle Id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle summary report returned",
            "schema": {
              "$ref": "#/definitions/VehicleSummaryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports3/vehiclessummary/{dateperiod}": {
      "get": {
        "tags": [
          "ResourceOwnerReports3"
        ],
        "summary": "Get vehicles summary report",
        "description": "Only vehicles that the user is associated with will be returned by this operation. 400 bad request is returend if the date period parameter is not in a correct format",
        "operationId": "GetVehiclesSummaryReport3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles summary report is returned",
            "schema": {
              "$ref": "#/definitions/VehiclesSummaryModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports3/emailtripreport": {
      "post": {
        "tags": [
          "ResourceOwnerReports3"
        ],
        "summary": "Email a trip journal report to a desired email address",
        "description": "Only vehicles that the user is associated will be allowed",
        "operationId": "EmailTripReport3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/EmailTripReportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Email with trip journal has been sent"
          },
          "500": {
            "description": "Internal server error"
          },
          "404": {
            "description": "ISO 639 language code does not exist"
          },
          "403": {
            "description": "Not allowed to vehicle"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/reports3/geofencelog": {
      "get": {
        "tags": [
          "ResourceOwnerReports3"
        ],
        "summary": "",
        "operationId": "GetGeofenceLog3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "vehicleId",
            "description": "",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "geofenceId",
            "description": "",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDate",
            "description": "",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "description": "",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/GeofenceReportModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/routes": {
      "get": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "summary": "Get routes associated with the user",
        "description": "Only routes that is either shared with the user or owned by the calling user is returned.\r\n            <br /><br />\r\n            Location Status enum values:<br />\r\n            *NotStarted = 0*<br />\r\n            *Done = 1*<br />\r\n            *Cancelled = 3*<br /><br />\r\n            MissionStatus enum values: <br />\r\n            *Not Started = 0 (All route locations NotStarted)*<br />\r\n            *Ongoing = 1 (Any route location Done OR route mission started)*<br />\r\n            *Done = 2 (All route locations Done)*<br />\r\n            *Cancelled = 3 (Route mission Cancelled)*",
        "operationId": "ResourceOwnerRoutePlanner_GetRouteMissionsByDriverId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The routes associated with the user is returned.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RoutePlannerMissionModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/route/shorturlid/{shortUrlId}": {
      "get": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "operationId": "ResourceOwnerRoutePlanner_GetMissionByShortUrlId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "shortUrlId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RoutePlannerMissionModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/route/{routeId}": {
      "get": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "operationId": "ResourceOwnerRoutePlanner_GetMissionByRouteAndDriverId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "routeId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RoutePlannerMissionModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "summary": "Update a route state",
        "description": "Only tasks that belongs to the user has access to will be returned.",
        "operationId": "ResourceOwnerRoutePlanner_UpdateMission",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "routeId",
            "description": "The routeId to update",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The stop location update model",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UpdateStopModel"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The stop was updated"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/routes/routeandsave": {
      "post": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "operationId": "ResourceOwnerRoutePlanner_routeandsave",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/RouteRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": { }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/route/{routeId}/cancel": {
      "put": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "summary": "Set Route Status to Cancelled.",
        "description": "If a cancelled trip later gets 'uncancelled' the cancelling notes will be cleared",
        "operationId": "ResourceOwnerRoutePlanner_CancelMission",
        "parameters": [
          {
            "in": "path",
            "name": "routeId",
            "description": "The routeId to update",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "notes",
            "description": "Reason for cancelling",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/route/{routeId}/start": {
      "put": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "summary": "Set Route Status to Started.",
        "operationId": "ResourceOwnerRoutePlanner_StartMission",
        "parameters": [
          {
            "in": "path",
            "name": "routeId",
            "description": "The routeId to update",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner": {
      "get": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "summary": "Get routes associated with the user",
        "description": "*OBSOLETE* Only routes that is either shared with the user or owned by the calling user is returned.",
        "operationId": "ResourceOwnerRoutePlanner_GetRouteMissions",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The routes associated with the user is returned.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RoutePlannerMissionModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/routeplanner/{routeId}": {
      "get": {
        "tags": [
          "ResourceOwnerRoutePlanner"
        ],
        "summary": "",
        "description": "*OBSOLETE*",
        "operationId": "ResourceOwnerRoutePlanner_GetRouteMission",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "routeId",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RoutePlannerMissionModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/task/contacts": {
      "get": {
        "tags": [
          "ResourceOwnerTask"
        ],
        "summary": "Get all contacts to message with",
        "operationId": "GetResourceOwnerTaskContact",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaskContactModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/task": {
      "get": {
        "tags": [
          "ResourceOwnerTask"
        ],
        "summary": "Get all tasks open and closed",
        "description": "Only tasks that belongs to the user has access to will be returned.",
        "operationId": "GetResourceOwnerTask",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The tasks are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaskModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerTask"
        ],
        "summary": "Create a task",
        "description": "Creates a task",
        "operationId": "CreateResourceOwnerTaskDetails",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/TaskCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created task"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTask"
        ],
        "summary": "Update a task",
        "description": "Only tasks that belongs to the user has access to will be returned.",
        "operationId": "EditResourceOwnerTaskOld",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "taskId",
            "description": "The task id",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The task model",
            "schema": {
              "$ref": "#/definitions/TaskEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The task was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": ">Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/task/{taskId}": {
      "get": {
        "tags": [
          "ResourceOwnerTask"
        ],
        "summary": "Get task details",
        "operationId": "GetResourceOwnerTaskDetails",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "description": "The Id of the company",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The tasks are returned",
            "schema": {
              "$ref": "#/definitions/TaskDetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTask"
        ],
        "summary": "Update a task",
        "description": "Only tasks that belongs to the user has access to will be returned.",
        "operationId": "EditResourceOwnerTask",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "description": "The task id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The task model",
            "schema": {
              "$ref": "#/definitions/TaskEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The task was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": ">Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/task3/contacts": {
      "get": {
        "tags": [
          "ResourceOwnerTask3"
        ],
        "summary": "Get all contacts to message with",
        "operationId": "GetResourceOwnerTaskContact3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The contacts are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaskContactModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/task3": {
      "get": {
        "tags": [
          "ResourceOwnerTask3"
        ],
        "summary": "Get all tasks open and closed",
        "description": "Only tasks that belongs to the user has access to will be returned.",
        "operationId": "GetResourceOwnerTask3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The tasks are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TaskModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerTask3"
        ],
        "summary": "Create a task",
        "description": "Creates a task",
        "operationId": "CreateResourceOwnerTaskDetails3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/TaskCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created task"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/task3/{taskId}": {
      "get": {
        "tags": [
          "ResourceOwnerTask3"
        ],
        "summary": "Get task details",
        "operationId": "GetResourceOwnerTaskDetails3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "description": "The Id of the company",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The tasks are returned",
            "schema": {
              "$ref": "#/definitions/TaskDetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTask3"
        ],
        "summary": "Update a task",
        "description": "Only tasks that belongs to the user has access to will be returned.",
        "operationId": "EditResourceOwnerTask3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskId",
            "description": "The task id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The task model",
            "schema": {
              "$ref": "#/definitions/TaskEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The task was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": ">Not authorized to task"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/taskmessage/{taskMessageId}": {
      "get": {
        "tags": [
          "ResourceOwnerTaskMessage"
        ],
        "summary": "Get a task message",
        "operationId": "GetResourceOwnerTaskMessage",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskMessageId",
            "description": "The Id of the task message",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The task message details are returned",
            "schema": {
              "$ref": "#/definitions/TaskMessageModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTaskMessage"
        ],
        "summary": "Update a task message",
        "description": "Only tasks that belongs to the user has access can be updated.",
        "operationId": "UpdateResourceOwnerTaskMessage",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskMessageId",
            "description": "The task id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The task model",
            "schema": {
              "$ref": "#/definitions/TaskMessageEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The task was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/taskmessage": {
      "post": {
        "tags": [
          "ResourceOwnerTaskMessage"
        ],
        "summary": "Create a task message",
        "operationId": "CreateResourceOwnerTaskMessage",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The TaskMessageCreateModel",
            "schema": {
              "$ref": "#/definitions/TaskMessageCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created task message"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/taskmessage3/{taskMessageId}": {
      "get": {
        "tags": [
          "ResourceOwnerTaskMessage3"
        ],
        "summary": "Get a task message",
        "operationId": "GetResourceOwnerTaskMessage3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskMessageId",
            "description": "The Id of the task message",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The task message details are returned",
            "schema": {
              "$ref": "#/definitions/TaskMessageModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTaskMessage3"
        ],
        "summary": "Update a task message",
        "description": "Only tasks that belongs to the user has access can be updated.",
        "operationId": "UpdateResourceOwnerTaskMessage3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "taskMessageId",
            "description": "The task id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The task model",
            "schema": {
              "$ref": "#/definitions/TaskMessageEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The task was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/taskmessage3": {
      "post": {
        "tags": [
          "ResourceOwnerTaskMessage3"
        ],
        "summary": "Create a task message",
        "operationId": "CreateResourceOwnerTaskMessage3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The TaskMessageCreateModel",
            "schema": {
              "$ref": "#/definitions/TaskMessageCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created task message"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Not authorized to task message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List all tracked assets that the user has access to",
        "description": "Only returns tracked assets that the user have access to",
        "operationId": "TrackedAsset_GetTrackedAssetList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filterAssetType",
            "description": "The asset type to list (All types = null, Vehicle = 0, Trailer = 1, ATV = 2, \r\n            Boat = 3, Excavator = 4, Cargo = 5). Default is all types.",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              255
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The tracked assets are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TrackedAssetModelGet"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/{trackedAssetId}": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Get a tracked asset",
        "operationId": "TrackedAsset_GetTrackedAsset",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "The tracked asset id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The tracked asset is returned",
            "schema": {
              "$ref": "#/definitions/TrackedAssetModelGet"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Update a tracked asset",
        "operationId": "TrackedAsset_UpdateTrackedAsset",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "The tracked asset id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Tracked asset model",
            "schema": {
              "$ref": "#/definitions/TrackedAssetModelEdit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/{trackedAssetId}/sleep": {
      "put": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Put a tracked asset to  sleep",
        "operationId": "TrackedAsset_SleepAsset",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "The tracked asset id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Model describing sleep configuration",
            "schema": {
              "$ref": "#/definitions/TrackedAssetSleepConfigurationModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully put to sleep"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/{trackedAssetId}/track": {
      "put": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Start tracking a asset",
        "operationId": "TrackedAsset_TrackAsset",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "The tracked asset id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Model describing tracking configuration",
            "schema": {
              "$ref": "#/definitions/TrackedAssetTrackConfigurationModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully started tracking"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/{trackedAssetId}/shutdown": {
      "put": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Shutdown a device that is tracking a asset",
        "operationId": "TrackedAsset_Shutdown",
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "The tracked asset id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully shut down device"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/{trackedAssetId}/history": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List tracked asset history",
        "operationId": "TrackedAsset_ListHistory",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "Id of tracked asset",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "lastNumberOfDays",
            "description": "Last number of days to get trips for (default = 60)",
            "type": "integer",
            "format": "int32",
            "default": 10
          },
          {
            "in": "query",
            "name": "historyType",
            "description": "Bitmask to filter and only list specific history types. 1 = Move Alert, 2 = Temperature, \r\n            4 = Battery Alert, 8 = Heartbeat, 16 = Battery Level, 32 = External Power Voltage, 64 = Operating Time, 128 = Shutdown Pending, 256 = Shutdown, 512 = Offline, 1024 = Humidity (default = all types) \r\n            [Example: 7 = Move alert, temperature and battery alerts]",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              4,
              8,
              16,
              32,
              64,
              128,
              256,
              512,
              1024
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The history list returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TrackedAssetHistoryModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/{trackedAssetId}/externaldevices": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List external devices by asset",
        "operationId": "GetExternalDeviceListByAsset",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "trackedAssetId",
            "description": "Id of tracked asset",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The external device list is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExternalDeviceModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/externaldevices": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List external devices",
        "operationId": "GetExternalDeviceList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The external device list is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExternalDeviceModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/externaldevice/{externalDeviceId}": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "External device",
        "operationId": "GetExternalDevice",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "externalDeviceId",
            "description": "Id of external device",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The external device is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExternalDeviceModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Update an external device asset",
        "operationId": "UpdateExternalDevice",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "externalDeviceId",
            "description": "The external device id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "External device model",
            "schema": {
              "$ref": "#/definitions/ExternalDeviceModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/externaldevice/{externalDeviceId}/history": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List external device history",
        "operationId": "GetExternalDeviceHistoryList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "externalDeviceId",
            "description": "Id of tracked asset",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "lastNumberOfDays",
            "description": "Last number of days to get history for (default = 10)",
            "type": "integer",
            "format": "int32",
            "default": 10
          },
          {
            "in": "query",
            "name": "groupHistory",
            "description": "Group history items on the same day into one item (default = false)",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "The history list returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExternalDeviceHistoryModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/externaldevices/updateintervals": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List available update intervals in seconds",
        "operationId": "GetAvailableUpdateIntervalList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The update interval list is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ExternalDeviceUpdateIntervalModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/sleepinterval": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Lists available sleep intervals in minutes",
        "operationId": "TrackedAsset_GetAvailableSleepIntervalList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The sleep intervals in minutes",
            "schema": {
              "$ref": "#/definitions/TrackedAssetSleepIntervalModelGET"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/updateinterval": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "Lists available update intervals in seconds",
        "operationId": "TrackedAsset_GetAvailableAssetUpdateIntervalList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The sleep intervals in minutes",
            "schema": {
              "$ref": "#/definitions/TrackedAssetUpdateIntervalModelGET"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trackedasset/enum": {
      "get": {
        "tags": [
          "ResourceOwnerTrackedAsset"
        ],
        "summary": "List all enumerations used on this endpoint",
        "operationId": "TrackedAsset_GetEnumList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The notifications are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EnumTypeModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggermessageshistory": {
      "get": {
        "tags": [
          "ResourceOwnerTriggerMessages"
        ],
        "summary": "Get all trigger messages that the logged in user has access to",
        "description": "Only trigger messages that belongs to vehicles that the user has access to will be returned.",
        "operationId": "GetResourceOwnerTriggerMessagesHistory",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The trigger messages are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TriggerMessageHistoryModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggermessageshistory/{triggerId}": {
      "get": {
        "tags": [
          "ResourceOwnerTriggerMessages"
        ],
        "summary": "Get trigger messages by trigger id",
        "description": "Only trigger messages that belongs to vehicles that the user has access to will be returned.",
        "operationId": "GetResourceOwnerTriggerMessageHistory",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The Id of the company",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger messages are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TriggerMessageHistoryModel"
              }
            }
          },
          "404": {
            "description": "The trigger message that you tried to get doesn't exist"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers": {
      "get": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Get all triggers",
        "description": "Only triggers that the user has access to will be returned by this operation.",
        "operationId": "GetResourceOwnerTriggers",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The triggers are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TriggerModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Creates a new trigger",
        "operationId": "CreateResourceOwnerTrigger",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/TriggerCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created trigger"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to other users than yourself"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers/{triggerId}": {
      "get": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Get a trigger by id",
        "description": "Will only return the trigger if the user has access to it",
        "operationId": "GetResourceOwnerTrigger",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The Id of the company",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger details are returned",
            "schema": {
              "$ref": "#/definitions/TriggerDetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this notification config"
          },
          "404": {
            "description": "The notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Updates the given trigger",
        "description": "This will update the trigger with the new model.",
        "operationId": "EditResourceOwnerTrigger",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The  trigger hat should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new  notification config model",
            "schema": {
              "$ref": "#/definitions/TriggerEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Removes the given trigger",
        "description": "This will remove the given trigger including all historic message belonging to this trigger.",
        "operationId": "DeleteResourceOwnerTrigger",
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger has been deleted"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to remove doesn't exist"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers/batch": {
      "post": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Creates a new triggers",
        "operationId": "CreateResourceOwnerTriggerBatch",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/TriggerCreateBatchModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to other users than yourself"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers/mute/{triggerId}": {
      "put": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Updates how long the trigger should be muted",
        "description": "This will update how long the trigger should be muted",
        "operationId": "EditResourceOwnerTriggerMute",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The trigger that should be muted",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "How long the trigger should be muted in seconds from now",
            "schema": {
              "$ref": "#/definitions/TriggerEditMutedUntilModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers/unmute/{triggerId}": {
      "put": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Unmutes a trigger",
        "description": "This will unmute a trigger",
        "operationId": "EditResourceOwnerTriggerUnMute",
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The trigger to unmute",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers/movepush": {
      "post": {
        "tags": [
          "ResourceOwnerTriggers"
        ],
        "summary": "Move all users push triggers to userdevice",
        "operationId": "ResourceOwnerTriggerMovePush",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "$ref": "#/definitions/MovePushTriggers"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All push triggers moved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to other users than yourself"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers3": {
      "get": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Get all triggers",
        "description": "Only triggers that the user has access to will be returned by this operation.",
        "operationId": "GetResourceOwnerTriggers3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The triggers are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Trigger3Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Creates a new trigger",
        "operationId": "CreateResourceOwnerTrigger3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/Trigger3CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created trigger"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to other users than yourself"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers3/{triggerId}": {
      "get": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Get a trigger by id",
        "description": "Will only return the trigger if the user has access to it",
        "operationId": "GetResourceOwnerTrigger3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The Id of the trigger",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger details are returned",
            "schema": {
              "$ref": "#/definitions/Trigger3DetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you dont' have access to this notification config"
          },
          "404": {
            "description": "The notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Updates the given trigger",
        "description": "This will update the trigger with the new model.",
        "operationId": "EditResourceOwnerTrigger3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The  trigger hat should be updated",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new  notification config model",
            "schema": {
              "$ref": "#/definitions/Trigger3EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Removes the given trigger",
        "description": "This will remove the given trigger including all historic message belonging to this trigger.",
        "operationId": "DeleteResourceOwnerTrigger3",
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The company id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger has been deleted"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to remove doesn't exist"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers3/mute/{triggerId}": {
      "put": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Updates how long the trigger should be muted",
        "description": "This will update how long the trigger should be muted",
        "operationId": "EditResourceOwnerTriggerMute3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The trigger that should be muted",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "How long the trigger should be muted in seconds from now",
            "schema": {
              "$ref": "#/definitions/TriggerEditMutedUntilModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers3/unmute/{triggerId}": {
      "put": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Unmutes a trigger",
        "description": "This will unmute a trigger",
        "operationId": "EditResourceOwnerTriggerUnMute3",
        "parameters": [
          {
            "in": "path",
            "name": "triggerId",
            "description": "The trigger to unmute",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trigger was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you are not associated with the notification config"
          },
          "404": {
            "description": "The  notification config that you tried to update doesn't exist"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/triggers3/movepush": {
      "post": {
        "tags": [
          "ResourceOwnerTriggers3"
        ],
        "summary": "Move all users push triggers to userdevice",
        "operationId": "ResourceOwnerTriggerMovePush3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "",
            "schema": {
              "$ref": "#/definitions/MovePushTriggers"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All push triggers moved"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, this could occur if you try to associate to other users than yourself"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get all trips that the user has access to",
        "description": "Only returns trips that the user have access to",
        "operationId": "GetResourceOwnerTrips2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "lastNumberOfDays",
            "description": "Optional enter last number of days to get trips for",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Optional vehicle id to get trips for",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "synchronized",
            "description": "Optional include synchronized trips (defaults to true)",
            "type": "boolean",
            "default": true
          },
          {
            "in": "query",
            "name": "fromUtc",
            "description": "Retrieve trips from this date. (Can't be used if lastNumberOfDays is specified)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toUtc",
            "description": "Retrieve trips to this date. (Can't be used if lastNumberOfDays is specified)",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Trip2Model"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the details about the trip",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerTripDetail2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip details are returned",
            "schema": {
              "$ref": "#/definitions/Trip2DetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Updates the given trip with a trip type (category) and trip tags",
        "description": "This operation would only update the trip type and trip tags if authorized for this trip.",
        "operationId": "EditResourceOwnerTrip2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id to update",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The triptype and triptags to update",
            "schema": {
              "$ref": "#/definitions/Trip2EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trip was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/geostartend": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the trip start and stop geo locations",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerGeoStartStop2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The Start and stop geo locations details are returned",
            "schema": {
              "$ref": "#/definitions/Trip2StartEndGeoModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/speed": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the vehicle speed if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation. Is reported in km/h.",
        "operationId": "GetResourceOwnerTripSpeed2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle speeds are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleSpeed2Model"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/rpm": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the vehicle engine rpm if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation.",
        "operationId": "GetResourceOwnerTripRPM2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle engine rpm are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RPM2Model"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/ambienttemperature": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the vehicle ambient (outside) temperature if it's reported by the vehiclee",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation. The result is in celsius.",
        "operationId": "GetResourceOwnerTripAmbientTemperature2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Te list of all ambient temperatures are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/AmbientAirTemperatureModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/fuellevelinput": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the vehicle current fuel level if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation. The result is in percentage of total 100",
        "operationId": "GetResourceOwnerTripFuelLevelInput2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The recorded fuel level details are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FuelLevelInput2Model"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/enginecoolanttemperature": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the engine coolant temperature if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation",
        "operationId": "GetResourceOwnerTripEngineCoolantTemperature2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The engine coolant temperature are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EngineCoolantTemperature2Model"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/pid/{pidId}": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "This will get the raw PID data if the vehicle has reported that it is being recorded",
        "description": "The data array will contain a sub-array of integers representing the raw data",
        "operationId": "GetResourceOwnerTripPid2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "pidId",
            "description": "The PID id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "ThePID data are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PID2Model"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/geo": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the gps locations for the vehicle, includes position and heading",
        "description": "This operation would require compression enabled by the client.",
        "operationId": "GetResourceOwnerTripGeo2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "everyNthRecord",
            "description": "Optional if you wish to limit to n:th number of records",
            "type": "integer",
            "format": "int32",
            "default": 1
          },
          {
            "in": "query",
            "name": "snapToRoad",
            "description": "",
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "200": {
            "description": "The Geo data are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Trip2GeoModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/googleurltostaticmapencodedpolyline": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Gets Google static map URL with the trip route as a polyline",
        "operationId": "GetGoogleurlToStaticMapEncodedPolyline2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "height",
            "description": "Height of the map",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "width",
            "description": "Width of the map",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The Google Map Url are returned",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad request, this operation explicitly require gzip compression by the client"
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/setdriverontrip": {
      "put": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Updates the given trip with given contactid",
        "description": "This operation would only update the driver if authorized for this trip.",
        "operationId": "SetDriverOnTrip2",
        "parameters": [
          {
            "in": "query",
            "name": "tripId",
            "description": "The trip to update",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "The contact id for the driver",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/details": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the details about the trip including driving events, speeding and idling",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerTripDetailConcat2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip details are returned",
            "schema": {
              "$ref": "#/definitions/TripConcatenationModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/{tripId}/advanced": {
      "get": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Get the advanced details about the trip including driving events, speeding, idling, speed and rpm data series",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerTripAdvanced2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip advanced data are returned",
            "schema": {
              "$ref": "#/definitions/TripConcatenationModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips3/batch/triptype": {
      "put": {
        "tags": [
          "ResourceOwnerTrip3V2"
        ],
        "summary": "Updates a list of trip id's with the provided trip type",
        "description": "This operation only updates the trip types if authorized to all trips in list.",
        "operationId": "ResourceOwnerTrip3Controller_TripTypeBatchUpdate",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The trip type and trips to update",
            "schema": {
              "$ref": "#/definitions/TripTypeBatchUpdateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trips was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripapproval/unsubmitted/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripApprovalV2"
        ],
        "summary": "List all trips which you as a user may submit for approval",
        "description": "Only returns tracked assets that the user have access to",
        "operationId": "ResourceOwnerTripApprovalController_GetUnsubmittedTripList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Show only trips for this vehicleId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "from",
            "description": "Show only trips from this date (default = 30 days back)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "to",
            "description": "Show only trips to this date, including the date (default = today)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "tripType",
            "description": "Show only trips with this category. 0 = Business, 2 = Other. (default = any type)",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The list of trips is returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripModelGET"
              }
            }
          },
          "403": {
            "description": "Missing permission to access vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripapproval/submit": {
      "post": {
        "tags": [
          "ResourceOwnerTripApprovalV2"
        ],
        "summary": "Submit trips for approval",
        "operationId": "ResourceOwnerTripApprovalController_SubmitTripList",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Trip approval request information",
            "schema": {
              "$ref": "#/definitions/TripApprovalSubmitModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripModelGET"
              }
            }
          },
          "201": {
            "description": "Request successfully created"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripapproval/request/{tripApprovalRequestId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripApprovalV2"
        ],
        "summary": "Get a trip approval request",
        "operationId": "ResourceOwnerTripApprovalController_GetTripApprovalRequest",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripApprovalRequestId",
            "description": "Trip approval request id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip approval request is returned",
            "schema": {
              "$ref": "#/definitions/TripApprovalRequestModelGET"
            }
          },
          "403": {
            "description": "No access to request"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripapproval/request": {
      "get": {
        "tags": [
          "ResourceOwnerTripApprovalV2"
        ],
        "summary": "List all requests for trip approval which is submitted",
        "operationId": "ResourceOwnerTripApprovalController_GetSubmittedTripApprovalRequestList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "description": "Show only requests submited from this date (default = 30 days back)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "to",
            "description": "Show only requests submited to this date (default = today)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Show only trips for this vehicleId (default = all vehicles submitted for)",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "statusType",
            "description": "Status on request, SentForApproval = 0, Declined = 1, Approved = 2 (default = any status)",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The submitted requests are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripApprovalRequestModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripapproval/{tripApprovalRequestId}/response": {
      "put": {
        "tags": [
          "ResourceOwnerTripApprovalV2"
        ],
        "summary": "Approve or decline a trip approval request",
        "operationId": "ResourceOwnerTripApprovalController_Response",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripApprovalRequestId",
            "description": "Trip approval request id to approve",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Approval information",
            "schema": {
              "$ref": "#/definitions/TripApprovalResponseModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The response has been successfully stored"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripapproval/{tripApprovalRequestId}/revoke": {
      "put": {
        "tags": [
          "ResourceOwnerTripApprovalV2"
        ],
        "summary": "Revoke a trip approval request",
        "description": "Only allowed by the user who requested the approval and if no one has approved/declined the request",
        "operationId": "ResourceOwnerTripApprovalController_RevokeRequest",
        "parameters": [
          {
            "in": "path",
            "name": "tripApprovalRequestId",
            "description": "Trip approval request id to decline",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has been successfully revoked"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripmerge": {
      "post": {
        "tags": [
          "ResourceOwnerTripMergeV2"
        ],
        "summary": "Merge trips",
        "description": "Url is returned as location in header",
        "operationId": "ResourceOwnerTripMergeController_MergeTrips",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Model containing which and how trips should be mereged",
            "schema": {
              "$ref": "#/definitions/TripMergeModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Trips successfully merged"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripmerge/{tripId}/unmerge": {
      "put": {
        "tags": [
          "ResourceOwnerTripMergeV2"
        ],
        "summary": "Unmerge trips",
        "operationId": "ResourceOwnerTripMergeController_UnmergeTrips",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "Trip id of merged trip",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripModel"
              }
            }
          },
          "201": {
            "description": "Trips successfully unmerged"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripmerge/{tripId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripMergeV2"
        ],
        "summary": "Get all trips within a merged trip",
        "operationId": "ResourceOwnerTripMergeController_GetTripList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "Trip id on merged trip",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "List containing all trips within the merged trip",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripModel"
              }
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripscore/drivingscore/{driverContactId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripScore"
        ],
        "summary": "Get latest driving score for a driver",
        "description": "This is a BETA feature, under development and may change. <br /> \r\n            Reduction types are \"HarshAcceleration\", \"HarshBrake\", \"HarshTurn\", \"Idling\" or \"Speeding\". <br />\r\n            Returns latest driving score with points lost, weaknesses and strengths",
        "operationId": "GetResourceOwnerLatestDrivingScore",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "driverContactId",
            "description": "Contact id to get driving score for",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DrivingScoreModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripscore/summary/{driverContactId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripScore"
        ],
        "summary": "Get trip score summary for a driver",
        "description": "This is a BETA feature, under development and may change. <br /> \r\n            Reduction types are \"HarshAcceleration\", \"HarshBrake\", \"HarshTurn\", \"Idling\" or \"Speeding\". <br />\r\n            Returns summary for previous month and current month.",
        "operationId": "GetResourceOwnerTripScoreSummary",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "driverContactId",
            "description": "Contact id to get trip score for",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripScoreSummaryModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripscore/chartdata/{driverContactId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripScore"
        ],
        "summary": "Get trip score chart data for a driver",
        "description": "This is a BETA feature, under development and may change.",
        "operationId": "GetResourceOwnerTripScoreChartData",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "driverContactId",
            "description": "Contact id to get chart for",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/TripScoreChartDataListModel"
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/tripscore/triplist/{driverContactId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripScore"
        ],
        "summary": "Get list of trips with trip score for a driver",
        "description": "This is a BETA feature, under development and may change. <br /> \r\n            Max return count is 100 trips.",
        "operationId": "GetResourceOwnerTripScoreTripList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "driverContactId",
            "description": "Contact id to get trip score for",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "skip",
            "description": "Optional skip number of trips",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripScoreTripModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get all trips that the user has access to",
        "description": "Only returns trips that the user have access to. If more then 60 days are requested it defaults to 30 days.",
        "operationId": "GetResourceOwnerTrips",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "lastNumberOfDays",
            "description": "Optional enter last number of days to get trips for. Only supports up to 60 days back. If not speficied or more then 60 days are entered it searches 30 days back.",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "description": "Optional vehicle id to get trips for",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "synchronized",
            "description": "Optional include synchronized trips (defaults to true)",
            "type": "boolean",
            "default": true
          },
          {
            "in": "query",
            "name": "fromUtc",
            "description": "Retrieve trips from this date. (Can't be used if lastNumberOfDays is specified)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toUtc",
            "description": "Retrieve trips to this date. (Can't be used if lastNumberOfDays is specified)",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the details about the trip",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerTrip",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip details are returned",
            "schema": {
              "$ref": "#/definitions/TripDetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Updates the given trip with a trip type (category) and trip tags",
        "description": "This operation would only update the trip type and trip tags if authorized for this trip.",
        "operationId": "EditResourceOwnerTrip",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id to update",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The triptype and triptags to update",
            "schema": {
              "$ref": "#/definitions/TripEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trip was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/geostartend": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the trip start and stop geo locations",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerGeoStartStop",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The Start and stop geo locations details are returned",
            "schema": {
              "$ref": "#/definitions/TripStartEndGeoModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/speed": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the vehicle speed if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation. Is reported in km/h.",
        "operationId": "GetResourceOwnerTripSpeed",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle speeds are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleSpeedModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/rpm": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the vehicle engine rpm if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation.",
        "operationId": "GetResourceOwnerTripRPM",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle engine rpm are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RPMModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/ambienttemperature": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the vehicle ambient (outside) temperature if it's reported by the vehiclee",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation. The result is in celsius.",
        "operationId": "GetResourceOwnerTripAmbientTemperature",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Te list of all ambient temperatures are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/AmbientAirTemperatureModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/fuellevelinput": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the vehicle current fuel level if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation. The result is in percentage of total 100",
        "operationId": "GetResourceOwnerTripFuelLevelInput",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The recorded fuel level details are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FuelLevelInputModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/enginecoolanttemperature": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the engine coolant temperature if it's reported by the vehicle",
        "description": "This is a quick method, instead of retrieving raw data with the pid operation",
        "operationId": "GetResourceOwnerTripEngineCoolantTemperature",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The engine coolant temperature are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EngineCoolantTemperatureModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/pid/{pidId}": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "This will get the raw PID data if the vehicle has reported that it is being recorded",
        "description": "The data array will contain a sub-array of integers representing the raw data",
        "operationId": "GetResourceOwnerTripPid",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "path",
            "name": "pidId",
            "description": "The PID id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "ThePID data are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PIDModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/geo": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the gps locations for the vehicle, includes position and heading",
        "description": "This operation would require compression enabled by the client.",
        "operationId": "GetResourceOwnerTripGeo",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "everyNthRecord",
            "description": "Optional if you wish to limit to n:th number of records",
            "type": "integer",
            "format": "int32",
            "default": 1
          },
          {
            "in": "query",
            "name": "snapToRoad",
            "description": "",
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "200": {
            "description": "The Geo data are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TripGeoModel"
              }
            }
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/googleurltostaticmapencodedpolyline": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Gets Google static map URL with the trip route as a polyline",
        "operationId": "GetGoogleurlToStaticMapEncodedPolyline",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "height",
            "description": "Height of the map",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "width",
            "description": "Width of the map",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The Google Map Url are returned",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad request, this operation explicitly require gzip compression by the client"
          },
          "501": {
            "description": "Not implemented, meaning the PID is not supported or is not recorded by the vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/addnotestolasttrip": {
      "put": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Updates the last trip with trip notes",
        "description": "This operation would only update the trip tags if authorized for this trip.",
        "operationId": "EditResourceOwnerTripAddNoteToLastTrip",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The triptags to update",
            "schema": {
              "$ref": "#/definitions/TripAddNoteModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trip was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/batch/triptype": {
      "put": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Updates a list of trip id's with the provided trip type",
        "description": "This operation only updates the trip types if authorized to all trips in list.",
        "operationId": "ResourceOwnerTripController_TripTypeBatchUpdate",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The trip type and trips to update",
            "schema": {
              "$ref": "#/definitions/TripTypeBatchUpdateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trips was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/setdriverontrip": {
      "put": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Updates the given trip with given contactid",
        "description": "This operation would only update the driver if authorized for this trip.",
        "operationId": "SetDriverOnTrip",
        "parameters": [
          {
            "in": "query",
            "name": "tripId",
            "description": "The trip to update",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "contactId",
            "description": "The contact id for the driver",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip was saved"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/synchronized": {
      "post": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Mark trips as synchronized, synchronized trips will not be returned when fetching trips",
        "description": "This operation only updates the synchronized state if authorized to all trips in list.",
        "operationId": "Synchronized",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Trips to mark as synchronized",
            "schema": {
              "$ref": "#/definitions/TripSynchronized"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/details": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the details about the trip including driving events, speeding and idling",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerTrip2",
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip details are returned"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/trips/{tripId}/advanced": {
      "get": {
        "tags": [
          "ResourceOwnerTripV2"
        ],
        "summary": "Get the advanced details about the trip including driving events, speeding, idling, speed and rpm data series",
        "description": "Only trips that are associated with the vehicles that user has relationships with are allowed.",
        "operationId": "GetResourceOwnerTripAdvanced",
        "parameters": [
          {
            "in": "path",
            "name": "tripId",
            "description": "The trip id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The trip advanced data are returned"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this trip"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/user": {
      "get": {
        "tags": [
          "ResourceOwnerUser"
        ],
        "summary": "This get's the details of the current user that you are logged in as",
        "description": "This will return the details of the current user.",
        "operationId": "GetResourceOwnerUser",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The User is returned",
            "schema": {
              "$ref": "#/definitions/UserModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/user/changepassword": {
      "put": {
        "tags": [
          "ResourceOwnerUser"
        ],
        "summary": "Change the password of the current user that you are logged in as",
        "description": "This will change the password.",
        "operationId": "ChangePasswordResourceOwnerUser",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The change password model",
            "schema": {
              "$ref": "#/definitions/ChangePasswordModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The password was saved"
          },
          "400": {
            "description": "Request is bad, the password is too short or doesn't contains at least one uppercase character, one lowercase character, one number and one complex characte that you tried to update doesn't exist"
          },
          "403": {
            "description": "Request is forbidden, meaning that the password entered is invalid"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/user/userexistingpassword": {
      "get": {
        "tags": [
          "ResourceOwnerUser"
        ],
        "summary": "Check if the user has a password set",
        "description": "This will get info if user has existing password.",
        "operationId": "UserExistingPassword",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The info is returned",
            "schema": {
              "$ref": "#/definitions/UserExistingPasswordModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/user/changeusername": {
      "put": {
        "tags": [
          "ResourceOwnerUser"
        ],
        "summary": "Change the username of the current user that you are logged in as",
        "description": "This will change the username.",
        "operationId": "ChangeUserNameResourceOwnerUser",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The change  username model",
            "schema": {
              "$ref": "#/definitions/ChangeUserNameModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The username was saved"
          },
          "400": {
            "description": "Request is bad, This username is already used"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/user/resetpassword": {
      "post": {
        "tags": [
          "ResourceOwnerUser"
        ],
        "summary": "Reset the password by SMS for the current user logged in",
        "operationId": "ResetPasswordResourceOwnerUser",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The reset password model",
            "schema": {
              "$ref": "#/definitions/ResetPasswordUserModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A reset password sms was sent"
          },
          "400": {
            "description": "Request is bad, password reset type does not exist"
          },
          "404": {
            "description": "Phone number is missing"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/user/logout": {
      "post": {
        "tags": [
          "ResourceOwnerUser"
        ],
        "summary": "Logs out the user",
        "description": "Logs out the user and the users client device id will be removed from the users available client devices. A new user client device id will be created on login.",
        "operationId": "ResourceOwnerUserController_Logout",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Model containing the users client device id",
            "schema": {
              "$ref": "#/definitions/LogoutModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful log out"
          },
          "403": {
            "description": "No access to the client device"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/userdevice": {
      "get": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Get a list of all user devices that the user is associated with",
        "description": "This will return the details of the user devices.",
        "operationId": "GetResourceOwnerUserDevices",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The devices are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserDeviceModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Creates a new user device",
        "operationId": "CreateResourceOwnerUserDevice",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The User Device Model",
            "schema": {
              "$ref": "#/definitions/UserDeviceCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created company"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/userdevice/{userDeviceId}": {
      "get": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Get a list of all user devices that the user is associated with",
        "description": "Only user devices that are associated with the user are allowed.",
        "operationId": "GetResourceOwnerUserDevice",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "userDeviceId",
            "description": "The user device id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The devices are returned",
            "schema": {
              "$ref": "#/definitions/UserDeviceModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this user device"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Updates the given user device with the new model",
        "operationId": "EditResourceOwnerUserDevice",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "userDeviceId",
            "description": "The user device id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new user device model",
            "schema": {
              "$ref": "#/definitions/UserDeviceEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The device was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Removes the given user device",
        "operationId": "DeleteResourceOwnerUserDevice",
        "parameters": [
          {
            "in": "path",
            "name": "userDeviceId",
            "description": "The user device id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The device has been deleted"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to remove can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/userdevice/adduserdeviceifnewanddefaulttriggers": {
      "put": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Add the user deivce if it isn't already exist, also adds default mobile push triggers",
        "operationId": "AddUserDeviceIfNewAndDefaultTriggers",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The user device model",
            "schema": {
              "$ref": "#/definitions/UserDeviceCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The device was added"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/userdevice/adduserdeviceifnew": {
      "put": {
        "tags": [
          "ResourceOwnerUserDevice"
        ],
        "summary": "Add the user deivce if it isn't already exist",
        "operationId": "AddUserDeviceIfNew",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The user device model",
            "schema": {
              "$ref": "#/definitions/UserDeviceCreateModel2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The device was added"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Get all vehicles that the user has access to",
        "description": "Only returns vehicles that the user have access to",
        "operationId": "GetResourceOwnerVehicles2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "companyId",
            "description": "Filter on companyId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Vehicle2Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Creates a new vehicle",
        "description": "This will create a new vehicle and make the association you set.",
        "operationId": "CreateResourceOwnerVehicle2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle model",
            "schema": {
              "$ref": "#/definitions/Vehicle2CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Get the details about the vehicle",
        "description": "Only vehicles that the user has relationships with are allowed.",
        "operationId": "GetResourceOwnerVehicle2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "$ref": "#/definitions/Vehicle2DetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Updates the given vehicle with new model",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicle2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle model",
            "schema": {
              "$ref": "#/definitions/Vehicle2EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Removes the given vehicle",
        "description": "Removes the given vehicle. If the vehicle is assoicated with a device, first move the device to another vehicle",
        "operationId": "DeleteResourceOwnerVehicle2",
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/VehicleInformation": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Returns the external information we have on the vehicle",
        "operationId": "GetVehicleInformation",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "identifier",
            "description": "Numberplate or Vin",
            "type": "string"
          },
          {
            "in": "query",
            "name": "identifierType",
            "description": "NumberPlate = 0, VehicleInformationNumber = 1",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "$ref": "#/definitions/TransportstyrelsenInfoModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/status": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Get position and status of all vehicles that the user has access to",
        "description": "Only returns vehicles that the user have access to. LastKnownFormattedAddress, LastKnownStreetAddress, LastKnownCity is only returned if vehicle is parked.",
        "operationId": "GetResourceOwnerVehiclesStatus2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleStatusModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/status/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Get position and status of specific vehicle",
        "operationId": "ResourceOwnerVehicle2Controller_GetVehicleStatus",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The status is returned",
            "schema": {
              "$ref": "#/definitions/VehicleStatusModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/checkin": {
      "post": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Check-in to a vehicle",
        "description": "This will check-in the contact specified and if left empty it will check-in the calling user into a vehicle",
        "operationId": "CheckInResourceOwnerVehicle2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle checkin model",
            "schema": {
              "$ref": "#/definitions/VehicleCheckInModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user is checked in to vehicle"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/checkout": {
      "post": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Check-out from a vehicle",
        "description": "This will check-out the calling user from a vehicle",
        "operationId": "CheckOutResourceOwnerVehicle2",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/VehicleCheckOutModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user is checked out from the vehicle"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/{vehicleId}/lasttrip": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Returns the last ongoing or ended trip for the vehicle specified",
        "description": "",
        "operationId": "GetResourceOwnerVehicleLastTrip2",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Filter on companyId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "$ref": "#/definitions/TripConcatenationModel"
            }
          },
          "404": {
            "description": "Not trip for the vehicle could be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles2/move-device": {
      "post": {
        "tags": [
          "ResourceOwnerVehicle2V2"
        ],
        "summary": "Move device to new vehicle",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "MoveDevice",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/MoveDeviceRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Get all vehicles that the user has access to",
        "description": "Only returns vehicles that the user have access to",
        "operationId": "GetResourceOwnerVehicles3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Vehicle3Model"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Creates a new vehicle",
        "description": "This will create a new vehicle and make the association you set.",
        "operationId": "CreateResourceOwnerVehicle3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle model",
            "schema": {
              "$ref": "#/definitions/Vehicle3CreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Get the details about the vehicle",
        "description": "Only vehicles that the user has relationships with are allowed.",
        "operationId": "GetResourceOwnerVehicle3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "$ref": "#/definitions/Vehicle3DetailModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Updates the given vehicle with new model",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicle3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle model",
            "schema": {
              "$ref": "#/definitions/Vehicle3EditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/VehicleInformation": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Returns the external information we have on the vehicle",
        "operationId": "GetVehicleInformation3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "identifier",
            "description": "Numberplate or Vin",
            "type": "string"
          },
          {
            "in": "query",
            "name": "identifierType",
            "description": "NumberPlate = 0, VehicleInformationNumber = 1",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "$ref": "#/definitions/TransportstyrelsenInfoModel"
            }
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/status": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Get position and status of all vehicles that the user has access to",
        "description": "Only returns vehicles that the user have access to. LastKnownFormattedAddress, LastKnownStreetAddress, LastKnownCity is only returned if vehicle is parked.",
        "operationId": "GetResourceOwnerVehiclesStatus3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleStatusModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/status/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Get position and status of specific vehicle",
        "operationId": "ResourceOwnerVehicle3Controller_GetVehicleStatus",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The status is returned",
            "schema": {
              "$ref": "#/definitions/VehicleStatusModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/checkin": {
      "post": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Check-in to a vehicle",
        "description": "This will check-in the contact specified and if left empty it will check-in the calling user into a vehicle",
        "operationId": "CheckInResourceOwnerVehicle3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle checkin model",
            "schema": {
              "$ref": "#/definitions/Vehicle3CheckInModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user is checked in to vehicle"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/checkout": {
      "post": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Check-out from a vehicle",
        "description": "This will check-out the calling user from a vehicle",
        "operationId": "CheckOutResourceOwnerVehicle3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/VehicleCheckOutModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user is checked out from the vehicle"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles3/{vehicleId}/lasttrip": {
      "get": {
        "tags": [
          "ResourceOwnerVehicle3V2"
        ],
        "summary": "Returns the last ongoing or ended trip for the vehicle specified",
        "description": "",
        "operationId": "GetResourceOwnerVehicleLastTrip3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Filter on companyId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "$ref": "#/definitions/TripConcatenationModel"
            }
          },
          "404": {
            "description": "Not trip for the vehicle could be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicledefectcomments/{vehicleDefectCommentId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleDefectComments"
        ],
        "summary": "Get all a vehicle defect comment",
        "description": "",
        "operationId": "GetResourceOwnerVehicleDefectComment",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleDefectCommentId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle defect comment is returned",
            "schema": {
              "$ref": "#/definitions/VehicleDefectCommentsModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicleDefectComments"
        ],
        "summary": "Update a vehicle defect comment",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicleDefectComment",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleDefectCommentId",
            "description": "The vehicle defect comment id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle inspection model",
            "schema": {
              "$ref": "#/definitions/VehicleDefectCommentsEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle defect comment was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle defect comment you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicledefectcomments": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleDefectComments"
        ],
        "summary": "Get all vehicle defect comments that the user has access to",
        "description": "",
        "operationId": "GetResourceOwnerVehicleDefectComments",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "vehicleDefectId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle defect comments are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleDefectCommentsModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicleDefectComments"
        ],
        "summary": "Creates a new vehicle defect comment",
        "description": "This will create a new vehicle defect comment and make the association you set.",
        "operationId": "CreateResourceOwnerVehicleDefectComment",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle defect comment",
            "schema": {
              "$ref": "#/definitions/VehicleDefectCommentsCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle defect comment"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicledefectcomments3/{vehicleDefectCommentId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleDefectComments3"
        ],
        "summary": "Get all a vehicle defect comment",
        "description": "",
        "operationId": "GetResourceOwnerVehicleDefectComment3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleDefectCommentId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle defect comment is returned",
            "schema": {
              "$ref": "#/definitions/VehicleDefectCommentsModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicleDefectComments3"
        ],
        "summary": "Update a vehicle defect comment",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicleDefectComment3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleDefectCommentId",
            "description": "The vehicle defect comment id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle inspection model",
            "schema": {
              "$ref": "#/definitions/VehicleDefectCommentsEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle defect comment was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle defect comment you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicledefectcomments3": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleDefectComments3"
        ],
        "summary": "Get all vehicle defect comments that the user has access to",
        "description": "",
        "operationId": "GetResourceOwnerVehicleDefectComments3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "vehicleDefectId",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle defect comments are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleDefectCommentsModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicleDefectComments3"
        ],
        "summary": "Creates a new vehicle defect comment",
        "description": "This will create a new vehicle defect comment and make the association you set.",
        "operationId": "CreateResourceOwnerVehicleDefectComment3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle defect comment",
            "schema": {
              "$ref": "#/definitions/VehicleDefectCommentsCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle defect comment"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicledefecttypes": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleDefectTypes"
        ],
        "summary": "Get all vehicle defect types",
        "description": "",
        "operationId": "GetResourceOwnerVehicleDefectTypes",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspections are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleDefectTypeModel"
              }
            }
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehiclegeofence/{vehicleGeofenceId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleGeofence"
        ],
        "summary": "Get vehicle geofence",
        "description": "Only vehicle geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerVehicleGeofence",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleGeofenceId",
            "description": "The vehicle geofence id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "$ref": "#/definitions/VehicleGeofenceModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this geofence"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerVehicleGeofence"
        ],
        "summary": "Removes association between a vehicle and geofence",
        "description": "This will remove the association between a geofence and a vehicle.",
        "operationId": "DeleteResourceOwnerVehicleGeofence",
        "parameters": [
          {
            "in": "path",
            "name": "vehicleGeofenceId",
            "description": "The vehicleGeofenceId association to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehcilegeofnece has been deleted"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicleGeofence"
        ],
        "summary": "Updates a vehicle geofence",
        "description": "This will update the given vehicle geofence id with a new model.",
        "operationId": "EditResourceOwnerVehicleGeofence",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleGeofenceId",
            "description": "The vehicleGeofenceId",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicleGeofence model",
            "schema": {
              "$ref": "#/definitions/VehicleGeofenceEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehiclegeofence was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehiclegeofence": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleGeofence"
        ],
        "summary": "Get vehicle geofence",
        "description": "Only vehicle geofences that the user has access to are accessible.",
        "operationId": "GetResourceOwnerVehicleGeofenceGeofenceId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "geofenceId",
            "description": "The geofence id",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The geofences are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleGeofenceModel"
              }
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this geofence"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicleGeofence"
        ],
        "summary": "Associate a vehicle with a geofence",
        "description": "This will create a new association between a geofence and a vehicle.",
        "operationId": "CreateResourceOwnerVehicleGeofence",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The company model",
            "schema": {
              "$ref": "#/definitions/VehicleGeofenceCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created geofence"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this geofence"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehiclehealth/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleHealth"
        ],
        "summary": "Get health indicators for a vehicle",
        "description": "Only vehicle that the user has access to can be queried",
        "operationId": "GetResourceOwnerVehicleHealth",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The VehicleHealths are returned",
            "schema": {
              "$ref": "#/definitions/VehicleHealth"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehiclehealth/{dateperiod}/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleHealth"
        ],
        "summary": "Get health indicators for a vehicle over a period of time",
        "description": "Only vehicle that the user has access to can be queried",
        "operationId": "GetResourceOwnerVehicleHealthPeriod",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The VehicleHealths are returned",
            "schema": {
              "$ref": "#/definitions/VehicleHealth"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehiclehealth3/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleHealth3"
        ],
        "summary": "Get health indicators for a vehicle",
        "description": "Only vehicle that the user has access to can be queried",
        "operationId": "GetResourceOwnerVehicleHealth3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The VehicleHealths are returned",
            "schema": {
              "$ref": "#/definitions/VehicleHealth"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehiclehealth3/{dateperiod}/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleHealth3"
        ],
        "summary": "Get health indicators for a vehicle over a period of time",
        "description": "Only vehicle that the user has access to can be queried",
        "operationId": "GetResourceOwnerVehicleHealthPeriod3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "dateperiod",
            "description": "Date period parameter, in the form of only year (2014), year and month (201401), or interval {201301-201401}",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The VehicleHealths are returned",
            "schema": {
              "$ref": "#/definitions/VehicleHealth"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "400": {
            "description": "Bad request, date period is not in a correct format"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleinspection/{vehicleInspectionId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleInspection"
        ],
        "summary": "Get a vehicle inspection",
        "description": "Only returns vehicle inspetions that the user have access to",
        "operationId": "GetResourceOwnerVehicleInspection",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleInspectionId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspection is returned",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicleInspection"
        ],
        "summary": "Updates the given vehicle inspection with new model",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicleInspection",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleInspectionId",
            "description": "The vehicle inspection id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle inspection model",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspection was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle inspection you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleinspection": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleInspection"
        ],
        "summary": "Get all vehicle inspections that the user has access to",
        "description": "Only returns vehicle inspetions that the user have access to",
        "operationId": "GetResourceOwnerVehicleInspections",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "vehicleInspectionId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDate",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "excludeArchived",
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspections are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleInspectionModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicleInspection"
        ],
        "summary": "Creates a new vehicle inspection",
        "description": "This will create a new vehicle inspection and make the association you set.",
        "operationId": "CreateResourceOwnerVehicleInspection",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle inspection model",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle inspection"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleinspection/export/{vehicleInspectionId}": {
      "post": {
        "tags": [
          "ResourceOwnerVehicleInspection"
        ],
        "summary": "Export a vehicle inspection in pdf format via email",
        "description": "Only vehicle inspections that the user has access rights to are accessible.",
        "operationId": "ExportResourceOwnerVehicleInspection",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleInspectionId",
            "description": "The VehicleInspectionId of the Vehicle Inspection to export",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The model containing reciving email address and language of the email",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionExportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success status if the operation was successfull and an email has been sent"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleinspection3/{vehicleInspectionId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleInspection3"
        ],
        "summary": "Get a vehicle inspection",
        "description": "Only returns vehicle inspetions that the user have access to",
        "operationId": "GetResourceOwnerVehicleInspection3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleInspectionId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspection is returned",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionModel"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicleInspection3"
        ],
        "summary": "Updates the given vehicle inspection with new model",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicleInspection3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleInspectionId",
            "description": "The vehicle inspection id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle inspection model",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspection was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "404": {
            "description": "Not found, the vehicle inspection you tried to update can't be found"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleinspection3": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleInspection3"
        ],
        "summary": "Get all vehicle inspections that the user has access to",
        "description": "Only returns vehicle inspetions that the user have access to",
        "operationId": "GetResourceOwnerVehicleInspections3",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "vehicleInspectionId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "vehicleId",
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDate",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDate",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "excludeArchived",
            "type": "boolean",
            "default": true
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle inspections are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleInspectionModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicleInspection3"
        ],
        "summary": "Creates a new vehicle inspection",
        "description": "This will create a new vehicle inspection and make the association you set.",
        "operationId": "CreateResourceOwnerVehicleInspection3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle inspection model",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle inspection"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleinspection3/export/{vehicleInspectionId}": {
      "post": {
        "tags": [
          "ResourceOwnerVehicleInspection3"
        ],
        "summary": "Export a vehicle inspection in pdf format via email",
        "description": "Only vehicle inspections that the user has access rights to are accessible.",
        "operationId": "ExportResourceOwnerVehicleInspection3",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleInspectionId",
            "description": "The VehicleInspectionId of the Vehicle Inspection to export",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The model containing reciving email address and language of the email",
            "schema": {
              "$ref": "#/definitions/VehicleInspectionExportModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success status if the operation was successfull and an email has been sent"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles/odometer/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleOdometerV2"
        ],
        "summary": "Get current odometer value",
        "description": "Only vehicles that the user has relationships with are allowed.",
        "operationId": "ResourceOwnerVehicleOdometerController_GetVehicleOdometer",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDateUtc",
            "description": "Period from-date",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDateUtc",
            "description": "Period to-date",
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle odmeter details are returned",
            "schema": {
              "$ref": "#/definitions/VehicleOdometerModelGET"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles/odometer/{vehicleId}/calculate": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleOdometerV2"
        ],
        "summary": "Calculate trips changes if odometer value changes",
        "description": "Only vehicles that the user has relationships with are allowed.",
        "operationId": "ResourceOwnerVehicleOdometerController_CalculateVehicleOdometer",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "Vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "fromDateUtc",
            "description": "Optional period from-date defaults to first day och last month",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "toDateUtc",
            "description": "Optional period from-date defaults to last day of last month",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "newOdometerValue",
            "description": "For calculating new trip values",
            "type": "number",
            "format": "double"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle odmeter details are returned",
            "schema": {
              "$ref": "#/definitions/CalculatedOdometerModelGET"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles/odometer/updateodometer": {
      "put": {
        "tags": [
          "ResourceOwnerVehicleOdometerV2"
        ],
        "summary": "Updates the given vehicle with new odometer value",
        "description": "This will update the odometer value of a vehicle. Max 5 percentage change of odometer value is permitted. Note: 23:59:59 is added to ToDateUtc.",
        "operationId": "ResourceOwnerVehicleOdometerController_SaveVehicleOdometer",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle model",
            "schema": {
              "$ref": "#/definitions/VehicleOdometerModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The odometer value was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of reasons, see return message"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleplace/{vehiclePlaceId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehiclePlace"
        ],
        "summary": "Get vehicle place",
        "description": "Only vehicle places that the user has access to are accessible.",
        "operationId": "GetResourceOwnerVehiclePlace",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehiclePlaceId",
            "description": "The vehicle place id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle places are returned",
            "schema": {
              "$ref": "#/definitions/VehiclePlaceModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this place"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehiclePlace"
        ],
        "summary": "Edit the relationship between the vehicle and the place",
        "operationId": "EditResourceOwnerVehiclePlace",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehiclePlaceId",
            "description": "The vehicle place id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle place model",
            "schema": {
              "$ref": "#/definitions/VehiclePlaceEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehiclegeofence was saved"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerVehiclePlace"
        ],
        "summary": "Removes association between a vehicle and place",
        "description": "This will remove the association between a place and a vehicle.",
        "operationId": "DeleteResourceOwnerVehiclePlace",
        "parameters": [
          {
            "in": "path",
            "name": "vehiclePlaceId",
            "description": "The vehiclePlaceId association to remove",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicleplace has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicleplace": {
      "get": {
        "tags": [
          "ResourceOwnerVehiclePlace"
        ],
        "summary": "Get vehicle place",
        "description": "Only vehicle places that the user has access to are accessible.",
        "operationId": "GetResourceOwnerVehiclePlaceId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "placeId",
            "description": "The place id",
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle places are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehiclePlaceModel"
              }
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this place"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehiclePlace"
        ],
        "summary": "Associate a vehicle with a place",
        "operationId": "CreateResourceOwnerVehiclePlace",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The model which to create the association between vehicle and place",
            "schema": {
              "$ref": "#/definitions/VehiclePlaceCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created Vehicle Place"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, could occur for a number of reasons, see returned message"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleV2"
        ],
        "summary": "Get all vehicles that the user has access to",
        "description": "Only returns vehicles that the user have access to",
        "operationId": "GetResourceOwnerVehicles",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicles are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerVehicleV2"
        ],
        "summary": "Creates a new vehicle",
        "description": "This will create a new vehicle and make the association you set.",
        "operationId": "CreateResourceOwnerVehicle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The vehicle model",
            "schema": {
              "$ref": "#/definitions/VehicleCreateModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A link in the header is returned to the newly created vehicle"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles/{vehicleId}": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleV2"
        ],
        "summary": "Get the details about the vehicle",
        "description": "Only vehicles that the user has relationships with are allowed.",
        "operationId": "GetResourceOwnerVehicle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle details are returned",
            "schema": {
              "$ref": "#/definitions/VehicleDetailModel"
            }
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerVehicleV2"
        ],
        "summary": "Updates the given vehicle with new model",
        "description": "This will update the given vehicle id with a new model.",
        "operationId": "EditResourceOwnerVehicle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The new vehicle model",
            "schema": {
              "$ref": "#/definitions/VehicleEditModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle was saved"
          },
          "500": {
            "description": "Internal server error"
          },
          "400": {
            "description": "Bad request, could occur for a number of cases, see returned message"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerVehicleV2"
        ],
        "summary": "Removes the given vehicle",
        "description": "Removes the given vehicle. If the vehicle is assoicated with a device, first move the device to another vehicle",
        "operationId": "DeleteResourceOwnerVehicle",
        "parameters": [
          {
            "in": "path",
            "name": "vehicleId",
            "description": "The vehicle id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The vehicle has been deleted"
          },
          "500": {
            "description": "Internal server error"
          },
          "403": {
            "description": "Request is forbidden, meaning you don't have access to this vehicle"
          },
          "404": {
            "description": "Not found, the vehicle you tried to update can't be found"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/vehicles/status": {
      "get": {
        "tags": [
          "ResourceOwnerVehicleV2"
        ],
        "summary": "Get position and status of all vehicles that the user has access to",
        "description": "Only returns vehicles that the user have access to. LastKnownFormattedAddress, LastKnownStreetAddress, LastKnownCity is only returned if vehicle is parked.",
        "operationId": "GetResourceOwnerVehiclesStatus",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "The vehicle details are returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VehicleStatusModel"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Retrieve a list of work orders and their containing attachments, items and notes",
        "description": "If no time is set on the \"to\" parameter, then it's assumed all entries on the date should be included, and the time part will be set to 11:59:59 PM",
        "operationId": "ResourceOwnerWorkOrder_GetWorkOrderList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "from",
            "description": "Filter on JobDate to be on or after the specified date and time (default is from now)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "to",
            "description": "Filter on JobDate to be before the specified date and time (default is no limitation)",
            "type": "string",
            "format": "date-time"
          },
          {
            "in": "query",
            "name": "jobStatus",
            "description": "Status on job (New = 0, Started = 1, Paused = 2, Completed = 3, Cancelled = 4, Invoiced = 5, Paid = 6) (default is all)",
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6
            ]
          },
          {
            "in": "query",
            "name": "includeUnassigned",
            "description": "Include unassigned jobs (default is true)",
            "type": "boolean",
            "default": true
          },
          {
            "in": "query",
            "name": "includeDeleted",
            "description": "Include deleted jobs (default is false)",
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkOrderModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Create a work order and containing attachments, items and notes",
        "operationId": "ResourceOwnerWorkOrder_CreateWorkOrder",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Work order model",
            "schema": {
              "$ref": "#/definitions/WorkOrderModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Successfully created"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Update or create one or many work orders",
        "description": "For work orders, items, attachments and notes with an id is updated. When id is not provided new objects is created. If an \r\n            item, attachment or note is missing on an existing work order that item, attachment or note is removed.",
        "operationId": "ResourceOwnerWorkOrder_SaveWorkOrderList",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "List of Work Orders",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkOrderModelSyncPUT"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful update",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkOrderModelGET"
              }
            }
          },
          "500": {
            "description": "Internal server error."
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/{workOrderId}": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Retrieve a work order",
        "operationId": "ResourceOwnerWorkOrder_GetWorkOrder",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderId",
            "description": "Work order id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "$ref": "#/definitions/WorkOrderModelGET"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Update a work order",
        "operationId": "ResourceOwnerWorkOrder_UpdateWorkOrder",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderId",
            "description": "Work order id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Work order",
            "schema": {
              "$ref": "#/definitions/WorkOrderModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful update"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Delete work order",
        "operationId": "ResourceOwnerWorkOrder_DeleteWorkOrder",
        "parameters": [
          {
            "in": "path",
            "name": "workOrderId",
            "description": "Work order id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful delete"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/getwithquoteid/{quoteId}": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Retrieve a work order by quote id",
        "operationId": "ResourceOwnerWorkOrder_GetWorkOrderByQuoteId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "quoteId",
            "description": "Quote id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "$ref": "#/definitions/WorkOrderModelGET"
            }
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/{workOrderId}/attachments": {
      "post": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Creates an attachment and adds it to an existing work order",
        "operationId": "ResourceOwnerWorkOrder_CreateAttachment",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderId",
            "description": "The work order which the attachment will be associated with",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Attachment information",
            "schema": {
              "$ref": "#/definitions/WorkOrderAttachmentModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Successfully created"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/{workOrderId}/status": {
      "put": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Update status of a work order",
        "operationId": "ResourceOwnerWorkOrder_UpdateWorkOrderStatus",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderId",
            "description": "The work order which the satus should be updated on",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Job status",
            "schema": {
              "$ref": "#/definitions/WorkOrderStatusModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful update"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/articles": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get all articles",
        "operationId": "ResourceOwnerWorkOrder_GetArticleList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkOrderArticleModelGET"
              }
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Create a article",
        "operationId": "ResourceOwnerWorkOrder_CreateArticle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Article information",
            "schema": {
              "$ref": "#/definitions/WorkOrderArticleModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Successfully created"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/articles/{workOrderArticleId}": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get a specific article",
        "operationId": "ResourceOwnerWorkOrder_GetArticle",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderArticleId",
            "description": "Work order article id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "$ref": "#/definitions/WorkOrderArticleModelGET"
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Update a article",
        "operationId": "ResourceOwnerWorkOrder_UpdateArticle",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderArticleId",
            "description": "Work order article id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Article information",
            "schema": {
              "$ref": "#/definitions/WorkOrderArticleModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Delete a article",
        "operationId": "ResourceOwnerWorkOrder_DeleteArticle",
        "parameters": [
          {
            "in": "path",
            "name": "workOrderArticleId",
            "description": "Work order article id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/categories": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get all categories",
        "operationId": "ResourceOwnerWorkOrder_GetCategoryList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkOrderCategoryModelGET"
              }
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Create a category",
        "operationId": "ResourceOwnerWorkOrder_CreateCategory",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Category information",
            "schema": {
              "$ref": "#/definitions/WorkOrderCategoryModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Successfully created"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/categories/{workOrderCategoryId}": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get a specific category",
        "operationId": "ResourceOwnerWorkOrder_GetCategory",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderCategoryId",
            "description": "Work order category id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "$ref": "#/definitions/WorkOrderCategoryModelGET"
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Delete a category",
        "operationId": "ResourceOwnerWorkOrder_DeleteCategory",
        "parameters": [
          {
            "in": "path",
            "name": "workOrderCategoryId",
            "description": "Work order category id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/customers": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get all customers",
        "operationId": "ResourceOwnerWorkOrder_GetCustomerList",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WorkOrderCustomerModelGET"
              }
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Create a customer",
        "operationId": "ResourceOwnerWorkOrder_CreateCustomer",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Customer information",
            "schema": {
              "$ref": "#/definitions/WorkOrderCustomerModelPOST"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "201": {
            "description": "Successfully created"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/customers/{workOrderCustomerId}": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get a specific customer",
        "operationId": "ResourceOwnerWorkOrder_GetCustomer",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderCustomerId",
            "description": "Work order customer id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "$ref": "#/definitions/WorkOrderCustomerModelGET"
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Update a customer",
        "operationId": "ResourceOwnerWorkOrder_UpdateCustomer",
        "consumes": [
          "application/json",
          "text/json",
          "application/*+json"
        ],
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workOrderCustomerId",
            "description": "Work order customer id",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Customer information",
            "schema": {
              "$ref": "#/definitions/WorkOrderCustomerModelPUT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated",
            "schema": {
              "$ref": "#/definitions/WorkOrderCustomerModelGET"
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Delete a customer",
        "operationId": "ResourceOwnerWorkOrder_DeleteCustomer",
        "parameters": [
          {
            "in": "path",
            "name": "workOrderCustomerId",
            "description": "Work order customer id",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted"
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    },
    "/v1/resourceowner/workorders/referenceId": {
      "get": {
        "tags": [
          "ResourceOwnerWorkOrder"
        ],
        "summary": "Get a new reference id for a work order (not unique)",
        "operationId": "ResourceOwnerWorkOrder_GetNextWorkOrderId",
        "produces": [
          "text/plain",
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Successful request",
            "schema": {
              "type": "string"
            }
          },
          "403": {
            "description": "Forbidden access to resource"
          },
          "500": {
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "oauth2": [ ]
          }
        ]
      }
    }
  },
  "definitions": {
    "APIAuthorizationModel": {
      "type": "object",
      "properties": {
        "APIAuthorizationId": {
          "format": "int32",
          "type": "integer"
        },
        "IssueDate": {
          "format": "date-time",
          "type": "string"
        },
        "APIClientId": {
          "format": "int32",
          "type": "integer"
        },
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "ScopesDelimitedBySpaces": {
          "type": "string"
        },
        "ExpirationDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "APIClientModel": {
      "type": "object",
      "properties": {
        "APIClientId": {
          "format": "int32",
          "type": "integer"
        },
        "APIClientIdentifier": {
          "type": "string"
        },
        "Name": {
          "type": "string"
        },
        "ScopesDelimitedBySpaces": {
          "type": "string"
        },
        "ClientType": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "AccountInformationModel": {
      "type": "object",
      "properties": {
        "AccountOutstandingMessage": {
          "$ref": "#/definitions/AccountOutstandingMessageModel"
        }
      },
      "additionalProperties": false
    },
    "AccountOutstandingMessageModel": {
      "type": "object",
      "properties": {
        "Title": {
          "type": "string"
        },
        "Message": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "AddressModel": {
      "required": [
        "AddressLine2",
        "City",
        "ISO3166CountryCode",
        "ZipCode"
      ],
      "type": "object",
      "properties": {
        "AddressId": {
          "format": "int32",
          "type": "integer"
        },
        "CompanyName": {
          "type": "string"
        },
        "ContactNameAtAddress": {
          "type": "string"
        },
        "AddressLine2": {
          "minLength": 1,
          "type": "string"
        },
        "AddressLine3": {
          "type": "string"
        },
        "AddressLine4": {
          "type": "string"
        },
        "ZipCode": {
          "minLength": 1,
          "type": "string"
        },
        "City": {
          "minLength": 1,
          "type": "string"
        },
        "StateOrProvince": {
          "type": "string"
        },
        "ISO3166CountryCode": {
          "minLength": 1,
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "AlphabetInformationModel": {
      "type": "object",
      "properties": {
        "LoginIsRequired": {
          "type": "boolean"
        },
        "VehicleList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IntegrationVehicleModel"
          }
        }
      },
      "additionalProperties": false
    },
    "AlphabetMileageLogModel": {
      "type": "object",
      "properties": {
        "StartOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "EndOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessKm": {
          "format": "int32",
          "type": "integer"
        },
        "IsApproved": {
          "type": "boolean"
        },
        "TotalKm": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "OtherAndPrivateKm": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "AmbientAirTemperatureModel": {
      "description": "PID70",
      "type": "object",
      "properties": {
        "TemperatureInCelsius": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ApiPriceModel": {
      "type": "object",
      "properties": {
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "IsYearlySubscription": {
          "type": "boolean"
        },
        "SubscriptionFeePerDeviceAndMonth": {
          "format": "double",
          "type": "number"
        },
        "SubscriptionFeePerDeviceAndYear": {
          "format": "double",
          "type": "number"
        },
        "NumberOfUnits": {
          "format": "double",
          "type": "number"
        },
        "UnitFee": {
          "format": "double",
          "type": "number"
        },
        "UnitTotalFee": {
          "format": "double",
          "type": "number"
        },
        "SubscriptionFee": {
          "format": "double",
          "type": "number"
        },
        "SubscriptionTotalFee": {
          "format": "double",
          "type": "number"
        },
        "ShipmentFee": {
          "format": "double",
          "type": "number"
        },
        "TotalFee": {
          "format": "double",
          "type": "number"
        },
        "SubscriptionTotalFeeDescription": {
          "type": "string"
        },
        "UnitTotalFeeDescription": {
          "type": "string"
        },
        "ShipmentFeeDescription": {
          "type": "string"
        },
        "SubscriptionFeePerDeviceAndMonthDescription": {
          "type": "string"
        },
        "SubscriptionFeePerDeviceAndYearDescription": {
          "type": "string"
        },
        "FreightForwarderUrl": {
          "type": "string"
        },
        "FreightForwarderDescription": {
          "type": "string"
        },
        "ArticlePriceIdMonthlyPlan": {
          "format": "int32",
          "type": "integer"
        },
        "ArticlePriceIdYearlyPlan": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "AssetCommandModel": {
      "type": "object",
      "properties": {
        "Command": {
          "format": "int32",
          "enum": [
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Endpoint": {
          "type": "string"
        },
        "AvailableUntil": {
          "format": "date-time",
          "type": "string"
        },
        "TrackingIntervalList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "AutoPlanV2DrivingJournalModel": {
      "type": "object",
      "properties": {
        "StartOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "EndOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessKm": {
          "format": "int32",
          "type": "integer"
        },
        "IsApproved": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "AutoPlanV2InformationModel": {
      "type": "object",
      "properties": {
        "VehicleList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AutoPlanV2VehicleInfo"
          }
        }
      },
      "additionalProperties": false
    },
    "AutoPlanV2InformationRequestModel": {
      "type": "object",
      "properties": {
        "PersonalIdentityNumber": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "AutoPlanV2PeriodInfo": {
      "type": "object",
      "properties": {
        "Year": {
          "format": "int32",
          "type": "integer"
        },
        "Month": {
          "format": "int32",
          "type": "integer"
        },
        "IsSelected": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "AutoPlanV2SendDrivingJournalRequestModel": {
      "type": "object",
      "properties": {
        "PersonalIdentityNumber": {
          "type": "string"
        },
        "JournalData": {
          "$ref": "#/definitions/AutoPlanV2DrivingJournalModel"
        }
      },
      "additionalProperties": false
    },
    "AutoPlanV2VehicleInfo": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "FriendlyName": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "IsVehicleApproved": {
          "type": "boolean"
        },
        "PeriodList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AutoPlanV2PeriodInfo"
          }
        }
      },
      "additionalProperties": false
    },
    "AutoplanInformationModel": {
      "type": "object",
      "properties": {
        "LoginIsRequired": {
          "type": "boolean"
        },
        "VehicleList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IntegrationVehicleModel"
          }
        }
      },
      "additionalProperties": false
    },
    "AutoplanMileageLogModel": {
      "type": "object",
      "properties": {
        "StartOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "EndOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessKm": {
          "format": "int32",
          "type": "integer"
        },
        "IsApproved": {
          "type": "boolean"
        },
        "TotalKm": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "OtherAndPrivateKm": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "BatteryEvent": {
      "type": "object",
      "properties": {
        "Occured": {
          "format": "date-time",
          "type": "string"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "BatteryStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "BilredaInformationModel": {
      "type": "object",
      "properties": {
        "LoginIsRequired": {
          "type": "boolean"
        },
        "VehicleList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IntegrationVehicleModel"
          }
        }
      },
      "additionalProperties": false
    },
    "BilredaMileageLogModel": {
      "type": "object",
      "properties": {
        "StartOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "EndOdometerKm": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessKm": {
          "format": "int32",
          "type": "integer"
        },
        "IsApproved": {
          "type": "boolean"
        },
        "TotalKm": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "OtherAndPrivateKm": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "TollFeeBusiness": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CO2ReportModel": {
      "type": "object",
      "properties": {
        "Period": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessCO2InGrams": {
          "format": "double",
          "type": "number"
        },
        "PersonalCO2InGrams": {
          "format": "double",
          "type": "number"
        },
        "OtherCO2InGrams": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "CalculatedOdometerModelGET": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DistanceBusiness": {
          "format": "double",
          "type": "number"
        },
        "DistancePrivate": {
          "format": "double",
          "type": "number"
        },
        "DistanceOther": {
          "format": "double",
          "type": "number"
        },
        "DistanceTotal": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "StartOdometer": {
          "format": "double",
          "type": "number"
        },
        "EndOdometer": {
          "format": "double",
          "type": "number"
        },
        "FromDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ToDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "NewDistanceBusiness": {
          "format": "double",
          "type": "number"
        },
        "NewDistancePrivate": {
          "format": "double",
          "type": "number"
        },
        "NewDistanceOther": {
          "format": "double",
          "type": "number"
        },
        "NewDistanceTotal": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "NewEndOdometer": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "ChangePasswordModel": {
      "type": "object",
      "properties": {
        "CurrentPassword": {
          "type": "string"
        },
        "NewPassword": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ChangeUserNameModel": {
      "type": "object",
      "properties": {
        "NewUserName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CompanyContactCreateModel": {
      "required": [
        "CompanyId",
        "ContactId"
      ],
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CompanyContactDetailModel": {
      "type": "object",
      "properties": {
        "CompanyContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CompanyName": {
          "type": "string"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactName": {
          "type": "string"
        },
        "Scopes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "CompanyContactEditModel": {
      "required": [
        "CompanyId",
        "ContactId"
      ],
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CompanyCreateModel": {
      "required": [
        "CreateRelationshipToContactId",
        "RegisteredCompanyName"
      ],
      "type": "object",
      "properties": {
        "RegisteredCompanyName": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "RegistrationNumber": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CreateRelationshipToContactId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CompanyDetailModel": {
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "RegisteredCompanyName": {
          "type": "string"
        },
        "RegistrationNumber": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "LastModified": {
          "format": "date-time",
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CompanyEditModel": {
      "required": [
        "RegisteredCompanyName"
      ],
      "type": "object",
      "properties": {
        "RegisteredCompanyName": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "RegistrationNumber": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CompanyModel": {
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "RegisteredCompanyName": {
          "type": "string"
        },
        "RegistrationNumber": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CompanyScopesModel": {
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "Scopes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "CompanyVehicleCreateModel": {
      "required": [
        "CompanyId",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CompanyVehicleEditModel": {
      "required": [
        "CompanyId",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CompanyVehicleModel": {
      "type": "object",
      "properties": {
        "CompanyVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "CompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Contact2CreateModel": {
      "required": [
        "CreateRelationshipToCompanyId",
        "FirstName",
        "LastName"
      ],
      "type": "object",
      "properties": {
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CreateRelationshipToCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CultureName": {
          "type": "string"
        },
        "CountryCodeIso1366": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "SubscribeToNewsLetter": {
          "type": "boolean"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "MapType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Contact2DetailModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CultureName": {
          "type": "string"
        },
        "CountryCodeIso1366": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "SubscribeToNewsLetter": {
          "type": "boolean"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "MapType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CheckedIntoVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckOutDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripTypeName": {
          "type": "string"
        },
        "CompanyRoles": {
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ],
            "type": "integer"
          }
        },
        "ProfileImageUrl": {
          "type": "string"
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        },
        "CompaniesScopes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CompanyScopesModel"
          }
        },
        "IsLocked": {
          "type": "boolean"
        },
        "CustomCategories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CustomCategoryModel"
          }
        },
        "CheckedInVehicleOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "Organization": {
          "$ref": "#/definitions/OrganizationModel"
        },
        "HoursOfServiceSettingsModel": {
          "$ref": "#/definitions/HoursOfServiceSettingsModel"
        },
        "FieldServiceEnabled": {
          "type": "boolean"
        },
        "FieldServiceEnabledWithinOrganization": {
          "type": "boolean"
        },
        "ContactMenuLayout": {
          "$ref": "#/definitions/ContactMenuLayoutModel"
        },
        "CreatedAt": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Contact2EditModel": {
      "type": "object",
      "properties": {
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CultureName": {
          "type": "string"
        },
        "CountryCodeIso1366": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "SubscribeToNewsLetter": {
          "type": "boolean"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "MapType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CheckOutDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripTypeName": {
          "type": "string"
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Contact2Model": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "ProfileImageUrl": {
          "type": "string"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedIntoVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInVehicleOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "IsManager": {
          "type": "boolean"
        },
        "LastCheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripTypeName": {
          "type": "string"
        },
        "CompanyRoles": {
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ],
            "type": "integer"
          }
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Contact2UpdateRfidModel": {
      "type": "object",
      "properties": {
        "Email": {
          "type": "string"
        },
        "Rfid": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Contact3CreateModel": {
      "required": [
        "CreateRelationshipToCompanyId",
        "FirstName",
        "LastName"
      ],
      "type": "object",
      "properties": {
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CreateRelationshipToCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CultureName": {
          "type": "string"
        },
        "CountryCodeIso1366": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "SubscribeToNewsLetter": {
          "type": "boolean"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "MapType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationPermissions": {
          "$ref": "#/definitions/OrganizationPermissionBooleans"
        }
      },
      "additionalProperties": false
    },
    "Contact3DetailModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CultureName": {
          "type": "string"
        },
        "CountryCodeIso1366": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "SubscribeToNewsLetter": {
          "type": "boolean"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "MapType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CheckedIntoVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckOutDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripTypeName": {
          "type": "string"
        },
        "CompanyRoles": {
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ],
            "type": "integer"
          }
        },
        "ProfileImageUrl": {
          "type": "string"
        },
        "OrganizationPermissions": {
          "$ref": "#/definitions/OrganizationPermissionBooleans"
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        },
        "CompaniesScopes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CompanyScopesModel"
          }
        },
        "IsLocked": {
          "type": "boolean"
        },
        "CustomCategories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CustomCategoryModel"
          }
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "Organization": {
          "$ref": "#/definitions/OrganizationModel"
        },
        "HoursOfServiceSettingsModel": {
          "$ref": "#/definitions/HoursOfServiceSettingsModel"
        },
        "FieldServiceEnabled": {
          "type": "boolean"
        },
        "FieldServiceEnabledWithinOrganization": {
          "type": "boolean"
        },
        "ContactMenuLayout": {
          "$ref": "#/definitions/ContactMenuLayoutModel"
        },
        "CreatedAt": {
          "format": "date-time",
          "type": "string",
          "readOnly": true
        },
        "AccountInformation": {
          "$ref": "#/definitions/AccountInformationModel"
        },
        "TripScoreInformation": {
          "$ref": "#/definitions/TripScoreInformationModel"
        },
        "SSO": {
          "type": "boolean"
        },
        "SSOConfig": {
          "$ref": "#/definitions/SSOConfigurationModel"
        }
      },
      "additionalProperties": false
    },
    "Contact3EditModel": {
      "type": "object",
      "properties": {
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CultureName": {
          "type": "string"
        },
        "CountryCodeIso1366": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "SubscribeToNewsLetter": {
          "type": "boolean"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "MapType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CheckOutDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripTypeName": {
          "type": "string"
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationPermissions": {
          "$ref": "#/definitions/OrganizationPermissionBooleans"
        }
      },
      "additionalProperties": false
    },
    "Contact3Model": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "ProfileImageUrl": {
          "type": "string"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedIntoVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "IsManager": {
          "type": "boolean"
        },
        "CompanyRoles": {
          "type": "array",
          "items": {
            "format": "int32",
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5
            ],
            "type": "integer"
          }
        },
        "CurrencyCode": {
          "description": "ISO 4217 Currency code",
          "type": "string"
        },
        "LastCheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripTypeName": {
          "type": "string"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationPermissions": {
          "$ref": "#/definitions/OrganizationPermissionBooleans"
        },
        "IsEditable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "ContactCreateModel": {
      "required": [
        "CreateRelationshipToCompanyId",
        "FirstName",
        "LastName"
      ],
      "type": "object",
      "properties": {
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CreateRelationshipToCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CultureName": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ContactDetailModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CultureName": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "FieldServiceEnabled": {
          "type": "boolean"
        },
        "FieldServiceEnabledWithinOrganization": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "ContactEditModel": {
      "required": [
        "FirstName",
        "LastName"
      ],
      "type": "object",
      "properties": {
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "CultureName": {
          "type": "string"
        },
        "DefaultVehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ContactMenuLayoutModel": {
      "type": "object",
      "properties": {
        "MenuLayout": {
          "type": "object",
          "additionalProperties": {
            "format": "int64",
            "enum": [
              0,
              1,
              2,
              4
            ],
            "type": "integer"
          },
          "readOnly": true
        },
        "ExpiresAtUtc": {
          "format": "date-time",
          "description": "UTC date time when menu layout cache was refreshed",
          "type": "string"
        },
        "RefreshedAtUtc": {
          "format": "date-time",
          "description": "UTC date time when menu layout cache was refreshed",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ContactModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ContactSettingModelGET": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ContactSettingModelPUT": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ContactVehicleCreateModel": {
      "required": [
        "ContactId",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ContactVehicleDetailModel": {
      "type": "object",
      "properties": {
        "ContactVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "NumberPlate": {
          "type": "string"
        },
        "MakeModelName": {
          "type": "string"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactName": {
          "type": "string"
        },
        "LastModified": {
          "format": "date-time",
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        },
        "Scopes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "ContactVehicleEditModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ContactWebSocketAuthenticationTokenModel": {
      "type": "object",
      "properties": {
        "ExpiresAtUtc": {
          "format": "date-time",
          "type": "string"
        },
        "EncryptedToken": {
          "type": "string"
        },
        "UseHeaderForAuthentication": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ContentUploadResponseModel": {
      "type": "object",
      "properties": {
        "URL": {
          "type": "string"
        },
        "GUID": {
          "format": "uuid",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CreateLeadModel": {
      "required": [
        "DeviceType",
        "Email",
        "FirstName",
        "LastName",
        "NumberOfDevices",
        "PhoneNumber"
      ],
      "type": "object",
      "properties": {
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        },
        "NumberOfDevices": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "Email": {
          "minLength": 1,
          "type": "string"
        },
        "CompanyName": {
          "type": "string"
        },
        "PhoneNumber": {
          "minLength": 1,
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CreateOrderModel": {
      "required": [
        "BillingAddress",
        "BillingAddressCountry",
        "BillingAddressState",
        "BillingAddressZipCode",
        "Company",
        "Email",
        "FirstName",
        "LastName",
        "MobilePhoneNumber",
        "NumberOfDevices",
        "OfficePhoneNumber",
        "ShippingAddress",
        "ShippingAddressCountry",
        "ShippingAddressState",
        "ShippingAddressZipCode",
        "SubscriptionCurrency"
      ],
      "type": "object",
      "properties": {
        "Company": {
          "minLength": 1,
          "type": "string"
        },
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "Email": {
          "minLength": 1,
          "type": "string"
        },
        "NumberOfDevices": {
          "format": "int32",
          "type": "integer"
        },
        "ShippingAddress": {
          "minLength": 1,
          "type": "string"
        },
        "ShippingAddressZipCode": {
          "minLength": 1,
          "type": "string"
        },
        "ShippingAddressState": {
          "minLength": 1,
          "type": "string"
        },
        "ShippingAddressCountry": {
          "minLength": 1,
          "type": "string"
        },
        "BillingAddress": {
          "minLength": 1,
          "type": "string"
        },
        "BillingAddressZipCode": {
          "minLength": 1,
          "type": "string"
        },
        "BillingAddressState": {
          "minLength": 1,
          "type": "string"
        },
        "BillingAddressCountry": {
          "minLength": 1,
          "type": "string"
        },
        "UseShippingAddressAsBillingAddress": {
          "type": "boolean"
        },
        "SubscriptionCurrency": {
          "minLength": 1,
          "type": "string"
        },
        "MobilePhoneNumber": {
          "minLength": 1,
          "type": "string"
        },
        "OfficePhoneNumber": {
          "minLength": 1,
          "type": "string"
        },
        "LeadId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CreatePinModel": {
      "type": "object",
      "properties": {
        "UserName": {
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "UserGuid": {
          "format": "uuid",
          "type": "string"
        },
        "Culture": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CreatedAtRoute": {
      "type": "object",
      "properties": {
        "RouteName": {
          "type": "string",
          "readOnly": true
        },
        "RouteValues": {
          "type": "object",
          "additionalProperties": { },
          "readOnly": true
        },
        "StatusCode": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "CustomCategoryCreateModel": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "string"
        },
        "CustomCategoryType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CustomCategoryModel": {
      "type": "object",
      "properties": {
        "CustomCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "Value": {
          "type": "string"
        },
        "CustomCategoryType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CustomCategoryPostModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Added": {
          "description": "Custom categories to add",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CustomCategoryCreateModel"
          }
        },
        "Removed": {
          "description": "Custom categories to delete",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "CustomUserCreateModel": {
      "required": [
        "EmailAddress",
        "IMEI",
        "SerialNumber",
        "UserName"
      ],
      "type": "object",
      "properties": {
        "UserName": {
          "minLength": 1,
          "type": "string"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "format": "email",
          "minLength": 1,
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "Password": {
          "type": "string"
        },
        "IMEI": {
          "minLength": 1,
          "type": "string"
        },
        "SerialNumber": {
          "minLength": 1,
          "type": "string"
        },
        "Culture": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CustomUserCreateWithoutPasswordModel": {
      "required": [
        "EmailAddress",
        "UserName"
      ],
      "type": "object",
      "properties": {
        "UserName": {
          "minLength": 1,
          "type": "string"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "EmailAddress": {
          "format": "email",
          "minLength": 1,
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "Culture": {
          "type": "string"
        },
        "IMEI": {
          "type": "string"
        },
        "SerialNumber": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CustomerBillingAddressModel": {
      "type": "object",
      "properties": {
        "Street": {
          "type": "string"
        },
        "Apartment": {
          "type": "string"
        },
        "CareOf": {
          "type": "string"
        },
        "ZipCode": {
          "type": "string"
        },
        "City": {
          "type": "string"
        },
        "StateOrProvince": {
          "type": "string"
        },
        "ISO3166CountryCode": {
          "type": "string"
        },
        "Position": {
          "$ref": "#/definitions/PositionPointModel"
        }
      },
      "additionalProperties": false
    },
    "CustomerJobAddressModel": {
      "type": "object",
      "properties": {
        "Street": {
          "type": "string"
        },
        "Apartment": {
          "type": "string"
        },
        "CareOf": {
          "type": "string"
        },
        "ZipCode": {
          "type": "string"
        },
        "City": {
          "type": "string"
        },
        "StateOrProvince": {
          "type": "string"
        },
        "ISO3166CountryCode": {
          "type": "string"
        },
        "Position": {
          "$ref": "#/definitions/PositionPointModel"
        }
      },
      "additionalProperties": false
    },
    "Cycle": {
      "type": "object",
      "properties": {
        "WorkShifts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkShift"
          }
        },
        "TotalTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "OffDutyTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "OnDutyTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DrivingTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "SleeperBerthTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "NumberOfDays": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "OnDutyAndDriving": {
          "format": "double",
          "type": "number",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "DTC": {
      "type": "object",
      "properties": {
        "DTCCode": {
          "type": "string"
        },
        "FaultLocation": {
          "type": "string"
        },
        "ProbableCause": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DTCEvent": {
      "type": "object",
      "properties": {
        "Occured": {
          "format": "date-time",
          "type": "string"
        },
        "DTCEventDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DTCEventDetail"
          }
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "DTCEventDetail": {
      "type": "object",
      "properties": {
        "DTC": {
          "type": "string"
        },
        "FaultLocation": {
          "type": "string"
        },
        "ProbableCause": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DeviceRegisteredModel": {
      "type": "object",
      "properties": {
        "QueriedDeviceIMEI": {
          "type": "string"
        },
        "IsRegistered": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "DistanceReportModel": {
      "type": "object",
      "properties": {
        "Period": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessDistanceInKilometers": {
          "format": "double",
          "type": "number"
        },
        "PersonalDistanceInKilometers": {
          "format": "double",
          "type": "number"
        },
        "OtherDistanceInKilometers": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "DrivingScoreModel": {
      "type": "object",
      "properties": {
        "Date": {
          "format": "date-time",
          "type": "string"
        },
        "DrivingScore": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationScore": {
          "format": "int32",
          "type": "integer"
        },
        "Reductions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreReductionModel"
          }
        },
        "Strengths": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreReductionModel"
          }
        }
      },
      "additionalProperties": false
    },
    "DutyStatus": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DutyStatusType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "FromUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ToUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "Locations": {
          "type": "string"
        },
        "CycleRuleType": {
          "format": "int32",
          "type": "integer"
        },
        "WorkDayStartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DistanceInKm": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "EmailExpenseReportModel": {
      "type": "object",
      "properties": {
        "ToEmail": {
          "type": "string"
        },
        "ISO639LanguageCode": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "EmailExpenseReportsModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "FromDate": {
          "format": "date-time",
          "type": "string"
        },
        "ToDate": {
          "format": "date-time",
          "type": "string"
        },
        "ToEmail": {
          "type": "string"
        },
        "ISO639LanguageCode": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "EmailTripReportModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "Period": {
          "format": "int32",
          "type": "integer"
        },
        "ToEmail": {
          "type": "string"
        },
        "ISO639LanguageCode": {
          "type": "string"
        },
        "ExcludeDetailsForPersonalTrips": {
          "type": "boolean"
        },
        "ExcludeEnvironmentalAndFuelData": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "EmailTripReportPeriodListModel": {
      "type": "object",
      "properties": {
        "PeriodList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EmailTripReportPeriodModel"
          }
        }
      },
      "additionalProperties": false
    },
    "EmailTripReportPeriodModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "FromDateMonth": {
          "format": "int32",
          "type": "integer"
        },
        "FromDateYear": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "EngineCoolantTemperature2Model": {
      "type": "object",
      "properties": {
        "TemperatureInCelsius": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "EngineCoolantTemperatureModel": {
      "description": "PID05",
      "type": "object",
      "properties": {
        "TemperatureInCelsius": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "EnumTypeModelGET": {
      "type": "object",
      "properties": {
        "EnumValueList": {
          "type": "object",
          "additionalProperties": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportCreateModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "ExpenseReportDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ExpenseReportRows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseReportRowCreateModel"
          }
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportEditModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "ExpenseReportDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportModel": {
      "type": "object",
      "properties": {
        "ExpenseReportId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "ContactName": {
          "type": "string"
        },
        "ContactImageUrl": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "ExpenseReportDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ExpenseReportRows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseReportRowModel"
          }
        },
        "IsEditable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowContentCreateModel": {
      "type": "object",
      "properties": {
        "ExpenseReportRowId": {
          "format": "int32",
          "type": "integer"
        },
        "Data": {
          "type": "string"
        },
        "ContentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowContentEditModel": {
      "type": "object",
      "properties": {
        "Data": {
          "type": "string"
        },
        "ContentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowContentModel": {
      "type": "object",
      "properties": {
        "ExpenseReportRowContentId": {
          "format": "int32",
          "type": "integer"
        },
        "ExpenseReportRowId": {
          "format": "int32",
          "type": "integer"
        },
        "ContentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        },
        "ContentFileName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowContentUpdateEditModel": {
      "type": "object",
      "properties": {
        "ExpenseReportRowContentId": {
          "format": "int32",
          "type": "integer"
        },
        "ExpenseReportRowId": {
          "format": "int32",
          "type": "integer"
        },
        "Data": {
          "type": "string"
        },
        "ContentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowCreateModel": {
      "type": "object",
      "properties": {
        "ExpenseReportId": {
          "format": "int32",
          "type": "integer"
        },
        "AmountInCurrency": {
          "format": "double",
          "type": "number"
        },
        "VATInCurrency": {
          "format": "double",
          "type": "number"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "Category": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "ExpenseReportRowDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ExpenseReportRowContent": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseReportRowContentCreateModel"
          }
        },
        "CustomCategory": {
          "type": "string"
        },
        "CategoryValue": {
          "format": "double",
          "type": "number"
        },
        "Merchant": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowEditModel": {
      "type": "object",
      "properties": {
        "AmountInCurrency": {
          "format": "double",
          "type": "number"
        },
        "VATInCurrency": {
          "format": "double",
          "type": "number"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "ExpenseReportRowDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Category": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "CustomCategory": {
          "type": "string"
        },
        "ExpenseReportRowContent": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseReportRowContentUpdateEditModel"
          }
        },
        "CategoryValue": {
          "format": "double",
          "type": "number"
        },
        "Merchant": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ExpenseReportRowModel": {
      "type": "object",
      "properties": {
        "ExpenseReportRowId": {
          "format": "int32",
          "type": "integer"
        },
        "ExpenseReportId": {
          "format": "int32",
          "type": "integer"
        },
        "AmountInCurrency": {
          "format": "double",
          "type": "number"
        },
        "VATInCurrency": {
          "format": "double",
          "type": "number"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "ExpenseReportRowDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ExpenseReportRowContent": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExpenseReportRowContentModel"
          }
        },
        "Category": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "CustomCategory": {
          "type": "string"
        },
        "CategoryValue": {
          "format": "double",
          "type": "number"
        },
        "Merchant": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ExternalDeviceHistoryGroupModelGET": {
      "type": "object",
      "properties": {
        "OccuredAtUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ExternalDeviceHistoryModelGET": {
      "type": "object",
      "properties": {
        "ExternalDeviceHistoryId": {
          "format": "int32",
          "type": "integer"
        },
        "ExternalDeviceId": {
          "format": "int32",
          "type": "integer"
        },
        "OccuredAtUtc": {
          "format": "date-time",
          "type": "string"
        },
        "GroupList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExternalDeviceHistoryGroupModelGET"
          }
        },
        "HistoryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "Position": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "PropertyList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyModel"
          }
        },
        "TrackedAssetId": {
          "format": "int32",
          "type": "integer"
        },
        "TrackerName": {
          "type": "string",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "ExternalDeviceModelGET": {
      "type": "object",
      "properties": {
        "ExternalDeviceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "ExternalDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer",
          "readOnly": true
        },
        "SerialNumber": {
          "type": "string",
          "readOnly": true
        },
        "TrackedAssetId": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "TrackerName": {
          "type": "string",
          "readOnly": true
        },
        "UpdateIntervalInSeconds": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "UpdatedAtUtc": {
          "format": "date-time",
          "type": "string",
          "readOnly": true
        },
        "PropertyList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyModel"
          }
        },
        "IsConnected": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "ExternalDeviceModelPUT": {
      "type": "object",
      "properties": {
        "ExternalDeviceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "UpdateIntervalInSeconds": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ExternalDeviceUpdateIntervalModelGET": {
      "type": "object",
      "properties": {
        "UpdateIntervalInSecondsList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "FuelLevelInput2Model": {
      "type": "object",
      "properties": {
        "FuelLevelInPercentage": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "FuelLevelInputModel": {
      "description": "PID012",
      "type": "object",
      "properties": {
        "FuelLevelInPercentage": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "FuelReportModel": {
      "type": "object",
      "properties": {
        "Period": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessFuelInLiters": {
          "format": "double",
          "type": "number"
        },
        "PersonalFuelInLiters": {
          "format": "double",
          "type": "number"
        },
        "OtherFuelInLiters": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "Geofence2CreateModel": {
      "required": [
        "Name",
        "VehicleIds"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleAddModel"
          }
        }
      },
      "additionalProperties": false
    },
    "Geofence2EditModel": {
      "required": [
        "Name",
        "VehicleIds"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleEditModel"
          }
        }
      },
      "additionalProperties": false
    },
    "Geofence2Model": {
      "type": "object",
      "properties": {
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleModel"
          }
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "Geofence3CreateModel": {
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleAddModel"
          }
        }
      },
      "additionalProperties": false
    },
    "Geofence3EditModel": {
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleEditModel"
          }
        }
      },
      "additionalProperties": false
    },
    "GeofenceCreateModel": {
      "required": [
        "Name",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleAddModel"
          }
        }
      },
      "additionalProperties": false
    },
    "GeofenceEditModel": {
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleEditModel"
          }
        }
      },
      "additionalProperties": false
    },
    "GeofenceModel": {
      "type": "object",
      "properties": {
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleModel"
          }
        }
      },
      "additionalProperties": false
    },
    "GeofenceModel3": {
      "type": "object",
      "properties": {
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "GeofencePolygon": {
          "$ref": "#/definitions/GeofencePolygon"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Schedules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceScheduleModel"
          }
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "IsEditable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "GeofencePolygon": {
      "type": "object",
      "properties": {
        "Coordinates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeographicPosition"
          }
        }
      },
      "additionalProperties": false
    },
    "GeofenceRecordReportModel": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceName": {
          "type": "string"
        },
        "GeofenceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "IsInside": {
          "type": "boolean"
        },
        "EventDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "VehicleTinyModel": {
          "$ref": "#/definitions/VehicleTinyModel"
        }
      },
      "additionalProperties": false
    },
    "GeofenceReportModel": {
      "type": "object",
      "properties": {
        "FromDate": {
          "format": "date-time",
          "type": "string"
        },
        "ToDate": {
          "format": "date-time",
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "Result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GeofenceRecordReportModel"
          }
        }
      },
      "additionalProperties": false
    },
    "GeofenceScheduleAddModel": {
      "type": "object",
      "properties": {
        "Monday": {
          "type": "boolean"
        },
        "Tuesday": {
          "type": "boolean"
        },
        "Wednesday": {
          "type": "boolean"
        },
        "Thursday": {
          "type": "boolean"
        },
        "Friday": {
          "type": "boolean"
        },
        "Saturday": {
          "type": "boolean"
        },
        "Sunday": {
          "type": "boolean"
        },
        "StartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EndTime": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "GeofenceScheduleEditModel": {
      "type": "object",
      "properties": {
        "GeofenceScheduleId": {
          "format": "int32",
          "type": "integer"
        },
        "Monday": {
          "type": "boolean"
        },
        "Tuesday": {
          "type": "boolean"
        },
        "Wednesday": {
          "type": "boolean"
        },
        "Thursday": {
          "type": "boolean"
        },
        "Friday": {
          "type": "boolean"
        },
        "Saturday": {
          "type": "boolean"
        },
        "Sunday": {
          "type": "boolean"
        },
        "StartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EndTime": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "GeofenceScheduleModel": {
      "type": "object",
      "properties": {
        "GeofenceScheduleId": {
          "format": "int32",
          "type": "integer"
        },
        "Monday": {
          "type": "boolean"
        },
        "Tuesday": {
          "type": "boolean"
        },
        "Wednesday": {
          "type": "boolean"
        },
        "Thursday": {
          "type": "boolean"
        },
        "Friday": {
          "type": "boolean"
        },
        "Saturday": {
          "type": "boolean"
        },
        "Sunday": {
          "type": "boolean"
        },
        "StartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EndTime": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "GeographicPosition": {
      "type": "object",
      "properties": {
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceCycles": {
      "type": "object",
      "properties": {
        "Cycles": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Cycle"
          }
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceDutyStatusCreateModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DutyStatusType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "FromDateTime": {
          "format": "date-time",
          "description": "From date UTC",
          "type": "string"
        },
        "ToDateTime": {
          "format": "date-time",
          "description": "To date UTC",
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "Location": {
          "type": "string"
        },
        "ExternalId": {
          "format": "uuid",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceDutyStatusModel": {
      "type": "object",
      "properties": {
        "HoursOfServiceLogId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DutyStatusType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "FromDateTime": {
          "format": "date-time",
          "description": "From date UTC",
          "type": "string"
        },
        "ToDateTime": {
          "format": "date-time",
          "description": "To date UTC",
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "Location": {
          "type": "string"
        },
        "CycleRuleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "WorkDayStartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DistanceInKm": {
          "format": "double",
          "type": "number"
        },
        "CreatedDateTime": {
          "format": "date-time",
          "description": "Created UTC",
          "type": "string"
        },
        "ModifiedDateTime": {
          "format": "date-time",
          "description": "Modified UTC",
          "type": "string"
        },
        "ExternalId": {
          "format": "uuid",
          "type": "string"
        },
        "IsDeleted": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceDutyStatusesModel": {
      "type": "object",
      "properties": {
        "LastSynchDate": {
          "format": "date-time",
          "type": "string",
          "readOnly": true
        },
        "DutyStatuses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HoursOfServiceDutyStatusModel"
          }
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceExportModel": {
      "type": "object",
      "properties": {
        "FromDate": {
          "format": "date-time",
          "type": "string"
        },
        "ToDate": {
          "format": "date-time",
          "type": "string"
        },
        "EmailAddress": {
          "description": "Recipient of the report",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceSettingsCreateModel": {
      "type": "object",
      "properties": {
        "TimeZoneType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "WorkDayStartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "CycleRuleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "CargoTypeType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "RestartRuleType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "RestBreakRuleType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "ShortHaulExceptionType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "OdometerUnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "WellSiteRuleType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "CarrierInfo": {
          "$ref": "#/definitions/AddressModel"
        },
        "IsEnabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceSettingsModel": {
      "type": "object",
      "properties": {
        "TimeZoneType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "WorkDayStartTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "CycleRuleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "CargoTypeType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "RestartRuleType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "RestBreakRuleType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "ShortHaulExceptionType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "OdometerUnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "WellSiteRuleType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "CarrierInfo": {
          "$ref": "#/definitions/AddressModel"
        },
        "IsEnabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceStatusPostModel": {
      "type": "object",
      "properties": {
        "Added": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HoursOfServiceDutyStatusCreateModel"
          }
        },
        "Updated": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HoursOfServiceDutyStatusModel"
          }
        },
        "LastSynchDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceStatusSynchModel": {
      "type": "object",
      "properties": {
        "LastSynchDate": {
          "format": "date-time",
          "type": "string",
          "readOnly": true
        },
        "Added": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HoursOfServiceDutyStatusModel"
          }
        },
        "Updated": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HoursOfServiceDutyStatusModel"
          }
        }
      },
      "additionalProperties": false
    },
    "HoursOfServiceViolationCreateModel": {
      "type": "object",
      "properties": {
        "HoursOfServiceLogId": {
          "format": "int32",
          "type": "integer"
        },
        "ViolationType": {
          "format": "int32",
          "type": "integer"
        },
        "RequiredActionType": {
          "format": "int32",
          "type": "integer"
        },
        "StartDateTime": {
          "format": "date-time",
          "description": "UTC",
          "type": "string"
        },
        "EndDateTime": {
          "format": "date-time",
          "description": "UTC",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "HttpContent": {
      "type": "object",
      "properties": {
        "Headers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StringStringIEnumerableKeyValuePair"
          },
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "HttpMethod": {
      "type": "object",
      "properties": {
        "Method": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "HttpRequestMessage": {
      "type": "object",
      "properties": {
        "Version": {
          "$ref": "#/definitions/Version"
        },
        "VersionPolicy": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Content": {
          "$ref": "#/definitions/HttpContent"
        },
        "Method": {
          "$ref": "#/definitions/HttpMethod"
        },
        "RequestUri": {
          "format": "uri",
          "type": "string"
        },
        "Headers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StringStringIEnumerableKeyValuePair"
          },
          "readOnly": true
        },
        "Properties": {
          "type": "object",
          "additionalProperties": { },
          "readOnly": true
        },
        "Options": {
          "type": "object",
          "additionalProperties": { },
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "HttpResponseMessage": {
      "type": "object",
      "properties": {
        "Version": {
          "$ref": "#/definitions/Version"
        },
        "Content": {
          "$ref": "#/definitions/HttpContent"
        },
        "StatusCode": {
          "format": "int32",
          "enum": [
            100,
            101,
            102,
            103,
            200,
            201,
            202,
            203,
            204,
            205,
            206,
            207,
            208,
            226,
            300,
            301,
            302,
            303,
            304,
            305,
            306,
            307,
            308,
            400,
            401,
            402,
            403,
            404,
            405,
            406,
            407,
            408,
            409,
            410,
            411,
            412,
            413,
            414,
            415,
            416,
            417,
            421,
            422,
            423,
            424,
            426,
            428,
            429,
            431,
            451,
            500,
            501,
            502,
            503,
            504,
            505,
            506,
            507,
            508,
            510,
            511
          ],
          "type": "integer"
        },
        "ReasonPhrase": {
          "type": "string"
        },
        "Headers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StringStringIEnumerableKeyValuePair"
          },
          "readOnly": true
        },
        "TrailingHeaders": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StringStringIEnumerableKeyValuePair"
          },
          "readOnly": true
        },
        "RequestMessage": {
          "$ref": "#/definitions/HttpRequestMessage"
        },
        "IsSuccessStatusCode": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "IMEIConfig3Model": {
      "type": "object",
      "properties": {
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        },
        "OrganizationId": {
          "format": "int32",
          "type": "integer"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigCreate3Model": {
      "type": "object",
      "properties": {
        "IMEI": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "SerialNumber": {
          "type": "string"
        },
        "IMEIDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            255
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigCreateModel": {
      "type": "object",
      "properties": {
        "IMEI": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "SerialNumber": {
          "type": "string"
        },
        "IMEIDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigDetail3Model": {
      "type": "object",
      "properties": {
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigDetailModel": {
      "type": "object",
      "properties": {
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigEdit3Model": {
      "required": [
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigEditModel": {
      "required": [
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIConfigModel": {
      "type": "object",
      "properties": {
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIEventDTCModel": {
      "type": "object",
      "properties": {
        "Description": {
          "type": "string"
        },
        "TimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "TimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "EventType": {
          "type": "string"
        },
        "PositionLongitude": {
          "format": "double",
          "type": "number"
        },
        "PositionLatitude": {
          "format": "double",
          "type": "number"
        },
        "PositionFormattedAddress": {
          "type": "string"
        },
        "CellTower": {
          "format": "int32",
          "type": "integer"
        },
        "CellTowerTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "IMEI": {
          "type": "string"
        },
        "DeviceSerialNumber": {
          "type": "string"
        },
        "Dtcs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DTC"
          }
        }
      },
      "additionalProperties": false
    },
    "IMEIEventMILModel": {
      "type": "object",
      "properties": {
        "Description": {
          "type": "string"
        },
        "TimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "TimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "EventType": {
          "type": "string"
        },
        "PositionLongitude": {
          "format": "double",
          "type": "number"
        },
        "PositionLatitude": {
          "format": "double",
          "type": "number"
        },
        "PositionFormattedAddress": {
          "type": "string"
        },
        "CellTower": {
          "format": "int32",
          "type": "integer"
        },
        "CellTowerTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "IMEI": {
          "type": "string"
        },
        "DeviceSerialNumber": {
          "type": "string"
        },
        "MilStatus": {
          "type": "boolean"
        },
        "NumberOfDTCs": {
          "format": "int32",
          "type": "integer"
        },
        "MILDistance": {
          "format": "int32",
          "type": "integer"
        },
        "CLRDistance": {
          "format": "int32",
          "type": "integer"
        },
        "TripDistance": {
          "format": "int32",
          "type": "integer"
        },
        "MILTime": {
          "format": "int32",
          "type": "integer"
        },
        "CLRTime": {
          "format": "int32",
          "type": "integer"
        },
        "TripTime": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IMEIEventModel": {
      "type": "object",
      "properties": {
        "IMEIEventId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "EventType": {
          "type": "string"
        },
        "TimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "IMEIEventStatusModel": {
      "type": "object",
      "properties": {
        "Description": {
          "type": "string"
        },
        "TimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "TimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "EventType": {
          "type": "string"
        },
        "PositionLongitude": {
          "format": "double",
          "type": "number"
        },
        "PositionLatitude": {
          "format": "double",
          "type": "number"
        },
        "PositionFormattedAddress": {
          "type": "string"
        },
        "CellTower": {
          "format": "int32",
          "type": "integer"
        },
        "CellTowerTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "IMEI": {
          "type": "string"
        },
        "DeviceSerialNumber": {
          "type": "string"
        },
        "Status": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "IdleTimeReportModel": {
      "type": "object",
      "properties": {
        "Period": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessIdleTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "PersonalIdleTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "OtherIdleTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IntegrationConfigurationModel": {
      "type": "object",
      "properties": {
        "AutoPlanActive": {
          "type": "boolean"
        },
        "AlphabetActive": {
          "type": "boolean"
        },
        "BilredaActive": {
          "type": "boolean"
        },
        "BilredaVehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "IntegrationPeriodModel": {
      "type": "object",
      "properties": {
        "Year": {
          "format": "int32",
          "type": "integer"
        },
        "Month": {
          "format": "int32",
          "type": "integer"
        },
        "IsSelected": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "IntegrationVehicleModel": {
      "type": "object",
      "properties": {
        "FriendlyName": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "IsVehicleApproved": {
          "type": "boolean"
        },
        "PeriodList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IntegrationPeriodModel"
          }
        }
      },
      "additionalProperties": false
    },
    "LogoutModel": {
      "required": [
        "UserDeviceId"
      ],
      "type": "object",
      "properties": {
        "UserDeviceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "MILEvent": {
      "type": "object",
      "properties": {
        "Occured": {
          "format": "date-time",
          "type": "string"
        },
        "MILStatus": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "MILDistance": {
          "format": "int32",
          "type": "integer"
        },
        "CLRDistanceUntilToday": {
          "format": "double",
          "type": "number"
        },
        "NumberOfDTCs": {
          "format": "int32",
          "type": "integer"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "MoveDeviceRequest": {
      "type": "object",
      "properties": {
        "FromVehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "LicensePlate": {
          "type": "string"
        },
        "Nickname": {
          "type": "string"
        },
        "Odometer": {
          "format": "int32",
          "type": "integer"
        },
        "OdometerDate": {
          "format": "date-time",
          "type": "string"
        },
        "DeviceMoveDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "MovePushTriggers": {
      "type": "object",
      "properties": {
        "ToUserDeviceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "OrganizationEditModel": {
      "type": "object",
      "properties": {
        "OrganizationName": {
          "type": "string"
        },
        "LegalIdentificationNumber": {
          "type": "string"
        },
        "VATNumber": {
          "type": "string"
        },
        "BillingAddress": {
          "$ref": "#/definitions/AddressModel"
        },
        "ShipmentAddress": {
          "$ref": "#/definitions/AddressModel"
        },
        "Culture": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "OrganizationModel": {
      "type": "object",
      "properties": {
        "OrganizationName": {
          "type": "string"
        },
        "LegalIdentificationNumber": {
          "type": "string"
        },
        "VATNumber": {
          "type": "string"
        },
        "BillingAddress": {
          "$ref": "#/definitions/AddressModel"
        },
        "ShipmentAddress": {
          "$ref": "#/definitions/AddressModel"
        },
        "Culture": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "IsHierarchyEnabled": {
          "type": "boolean"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "OrganizationId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "OrganizationNodeModel": {
      "type": "object",
      "properties": {
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "ParentOrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OrganizationNodeModel"
          }
        },
        "HasChildren": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "OrganizationPermissionBooleans": {
      "type": "object",
      "properties": {
        "OrganizationNodeViewVehicle": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditVehicle": {
          "type": "boolean"
        },
        "OrganizationNodeViewGeofence": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditGeofence": {
          "type": "boolean"
        },
        "OrganizationNodeViewPOI": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditPOI": {
          "type": "boolean"
        },
        "OrganizationNodeViewTrigger": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditTrigger": {
          "type": "boolean"
        },
        "OrganizationNodeViewTrip": {
          "type": "boolean"
        },
        "OrganizationNodeEditTrip": {
          "type": "boolean"
        },
        "OrganizationNodeViewTripIfDriver": {
          "type": "boolean"
        },
        "OrganizationNodeEditTripIfDriver": {
          "type": "boolean"
        },
        "OrganizationNodeView": {
          "type": "boolean"
        },
        "OrganizationNodeViewContact": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditContact": {
          "type": "boolean"
        },
        "OrganizationNodeViewSchedule": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditSchedule": {
          "type": "boolean"
        },
        "OrganizationNodeViewExpense": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditExpense": {
          "type": "boolean"
        },
        "OrganizationView": {
          "type": "boolean"
        },
        "OrganizationCreateEditDelete": {
          "type": "boolean"
        },
        "OrganizationNodeCreateEditDelete": {
          "type": "boolean"
        },
        "OrganizationNodeViewExcludePrivateTrips": {
          "type": "boolean"
        },
        "OrganizationNodeViewLive": {
          "type": "boolean"
        },
        "OrganizationNodeViewTripSpeed": {
          "type": "boolean"
        },
        "OrganizationNodeEditOdometer": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "PID2Model": {
      "type": "object",
      "properties": {
        "Data": {
          "format": "byte",
          "type": "string"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "Value": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "PIDModel": {
      "type": "object",
      "properties": {
        "Data": {
          "format": "byte",
          "type": "string"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "Value": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "Place2CreateModel": {
      "required": [
        "Name",
        "PositionPoint",
        "Radius",
        "VehicleIds"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Place2EditModel": {
      "required": [
        "Name",
        "PositionPoint",
        "Radius",
        "VehicleIds"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Place3CreateModel": {
      "required": [
        "Name",
        "PositionPoint",
        "Radius"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Place3EditModel": {
      "required": [
        "Name",
        "PositionPoint",
        "Radius"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "PlaceCreateModel": {
      "required": [
        "Name",
        "PositionPoint",
        "Radius",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "PlaceEditModel": {
      "required": [
        "Name",
        "PositionPoint"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "minLength": 1,
          "type": "string"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        }
      },
      "additionalProperties": false
    },
    "PlaceModel": {
      "type": "object",
      "properties": {
        "PlaceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "VehicleIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "PlaceModel3": {
      "type": "object",
      "properties": {
        "PlaceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "PositionPoint": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "PositionModel": {
      "type": "object",
      "properties": {
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "PositionPointModel": {
      "type": "object",
      "properties": {
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "ProOrderModel": {
      "required": [
        "CompanyName",
        "Email",
        "FirstName",
        "LastName",
        "MobilePhoneNumber"
      ],
      "type": "object",
      "properties": {
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "NumberOfUnits": {
          "format": "int32",
          "type": "integer"
        },
        "NonOBDUnits": {
          "type": "boolean"
        },
        "ExtensionCables": {
          "type": "boolean"
        },
        "NumberOfExtensionCords": {
          "format": "int32",
          "type": "integer"
        },
        "CompanyName": {
          "minLength": 1,
          "type": "string"
        },
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "Email": {
          "minLength": 1,
          "type": "string"
        },
        "MobilePhoneNumber": {
          "minLength": 1,
          "type": "string"
        },
        "ShippingAddress": {
          "$ref": "#/definitions/AddressModel"
        },
        "UseShippingAddressForBillingAddress": {
          "type": "boolean"
        },
        "BillingAddress": {
          "$ref": "#/definitions/AddressModel"
        }
      },
      "additionalProperties": false
    },
    "ProblemDetails": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "detail": {
          "type": "string"
        },
        "instance": {
          "type": "string"
        }
      },
      "additionalProperties": { }
    },
    "PropertyModel": {
      "type": "object",
      "properties": {
        "PropertyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16
          ],
          "type": "integer"
        },
        "PropertyName": {
          "type": "string"
        },
        "ValueType": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "Unit": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "PublishSubscribeCreateModel": {
      "type": "object",
      "properties": {
        "PublishToUrl": {
          "type": "string"
        },
        "PublishType": {
          "format": "int32",
          "enum": [
            0
          ],
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "AuthenticationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AuthenticationData": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "PublishSubscribeEditModel": {
      "type": "object",
      "properties": {
        "PublishToUrl": {
          "type": "string"
        },
        "PublishType": {
          "format": "int32",
          "enum": [
            0
          ],
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "AuthenticationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AuthenticationData": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "PublishSubscribeModel": {
      "type": "object",
      "properties": {
        "PublishSubscribeId": {
          "format": "int32",
          "type": "integer"
        },
        "PublishToUrl": {
          "type": "string"
        },
        "PublishType": {
          "format": "int32",
          "enum": [
            0
          ],
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "AuthenticationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AuthenticationData": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "QuoteAttachmentModelGET": {
      "required": [
        "AttachmentType",
        "URL"
      ],
      "type": "object",
      "properties": {
        "URL": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "QuoteAttachmentId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "QuoteAttachmentModelPOST": {
      "required": [
        "AttachmentType",
        "URL"
      ],
      "type": "object",
      "properties": {
        "URL": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteAttachmentModelPUT": {
      "required": [
        "AttachmentType",
        "URL"
      ],
      "type": "object",
      "properties": {
        "URL": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "QuoteAttachmentId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteItemModelGET": {
      "required": [
        "Quantity",
        "WorkOrderArticleId"
      ],
      "type": "object",
      "properties": {
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "DiscountInPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "ArticleName": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "QuoteItemId": {
          "format": "int32",
          "type": "integer"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "QuoteItemModelPOST": {
      "required": [
        "Quantity",
        "WorkOrderArticleId"
      ],
      "type": "object",
      "properties": {
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "DiscountInPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "ArticleName": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteItemModelPUT": {
      "required": [
        "Quantity",
        "WorkOrderArticleId"
      ],
      "type": "object",
      "properties": {
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "DiscountInPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "ArticleName": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "QuoteItemId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteModelGET": {
      "required": [
        "WorkOrderCustomerId"
      ],
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "EstimatedTotal": {
          "format": "double",
          "type": "number"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "QuoteId": {
          "format": "int32",
          "type": "integer"
        },
        "IsDeleted": {
          "type": "boolean"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        },
        "RequestedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "StatusHistory": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteStatusHistoryModelGET"
          }
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteNoteModelGET"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteItemModelGET"
          }
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteAttachmentModelGET"
          }
        }
      },
      "additionalProperties": false
    },
    "QuoteModelPOST": {
      "required": [
        "WorkOrderCustomerId"
      ],
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "EstimatedTotal": {
          "format": "double",
          "type": "number"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteAttachmentModelPOST"
          }
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteNoteModelPOST"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteItemModelPOST"
          }
        }
      },
      "additionalProperties": false
    },
    "QuoteModelPUT": {
      "required": [
        "WorkOrderCustomerId"
      ],
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "EstimatedTotal": {
          "format": "double",
          "type": "number"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteAttachmentModelPUT"
          }
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteNoteModelPUT"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteItemModelPUT"
          }
        }
      },
      "additionalProperties": false
    },
    "QuoteModelSyncPUT": {
      "required": [
        "WorkOrderCustomerId"
      ],
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "EstimatedTotal": {
          "format": "double",
          "type": "number"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteAttachmentModelPUT"
          }
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteNoteModelPUT"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/QuoteItemModelPUT"
          }
        },
        "QuoteId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteNoteModelGET": {
      "required": [
        "Note"
      ],
      "type": "object",
      "properties": {
        "Note": {
          "minLength": 1,
          "type": "string"
        },
        "QuoteNoteId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "QuoteNoteModelPOST": {
      "required": [
        "Note"
      ],
      "type": "object",
      "properties": {
        "Note": {
          "minLength": 1,
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "QuoteNoteModelPUT": {
      "required": [
        "Note"
      ],
      "type": "object",
      "properties": {
        "Note": {
          "minLength": 1,
          "type": "string"
        },
        "QuoteNoteId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteStatusHistoryModelGET": {
      "type": "object",
      "properties": {
        "OccuredAt": {
          "format": "date-time",
          "type": "string"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "QuoteStatusModelPUT": {
      "type": "object",
      "properties": {
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "RPM2Model": {
      "type": "object",
      "properties": {
        "RPMValue": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "RPMModel": {
      "description": "PID012",
      "type": "object",
      "properties": {
        "RPMValue": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "RegisteredTollBatchUpdateModelPUT": {
      "type": "object",
      "properties": {
        "RegisteredTollList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RegisteredTollMultiEditModelPUT"
          }
        }
      },
      "additionalProperties": false
    },
    "RegisteredTollModelGET": {
      "type": "object",
      "properties": {
        "TimestampUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Fee": {
          "format": "double",
          "type": "number"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "TollZoneId": {
          "format": "int32",
          "type": "integer"
        },
        "PriceAfterDiscount": {
          "format": "double",
          "type": "number"
        },
        "TollZoneName": {
          "type": "string"
        },
        "RegisteredTollId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleUserFriendlyName": {
          "type": "string"
        },
        "VehicleMake": {
          "type": "string"
        },
        "VehicleModel": {
          "type": "string"
        },
        "VehicleNumberPlate": {
          "type": "string"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "DriverImageUrl": {
          "type": "string"
        },
        "DriverName": {
          "type": "string"
        },
        "CurrencyISO4271": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "RegisteredTollModelPOST": {
      "type": "object",
      "properties": {
        "TimestampUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Fee": {
          "format": "double",
          "type": "number"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "TollZoneId": {
          "format": "int32",
          "type": "integer"
        },
        "PriceAfterDiscount": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "RegisteredTollModelPUT": {
      "type": "object",
      "properties": {
        "TimestampUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Fee": {
          "format": "double",
          "type": "number"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "TollZoneId": {
          "format": "int32",
          "type": "integer"
        },
        "PriceAfterDiscount": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "RegisteredTollMultiEditModelPUT": {
      "type": "object",
      "properties": {
        "TimestampUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Fee": {
          "format": "double",
          "type": "number"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "TollZoneId": {
          "format": "int32",
          "type": "integer"
        },
        "PriceAfterDiscount": {
          "format": "double",
          "type": "number"
        },
        "RegisteredTollId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ResetPasswordUserModel": {
      "type": "object",
      "properties": {
        "Email": {
          "type": "string"
        },
        "ResetPasswordType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "ReverseGeocodingResult": {
      "type": "object",
      "properties": {
        "FormattedAddress": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "RoutePlannerMissionLocationModel": {
      "type": "object",
      "properties": {
        "DistanceInKilometers": {
          "format": "double",
          "type": "number"
        },
        "DurationInSeconds": {
          "format": "double",
          "type": "number"
        },
        "Address": {
          "type": "string"
        },
        "Note": {
          "type": "string"
        },
        "RouteStopId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            3
          ],
          "type": "integer"
        },
        "DriverNotes": {
          "type": "string"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "RoutePlannerMissionModel": {
      "type": "object",
      "properties": {
        "DistanceInKilometers": {
          "format": "double",
          "type": "number"
        },
        "DurationInSeconds": {
          "format": "double",
          "type": "number"
        },
        "RouteId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "IsDeparture": {
          "type": "boolean"
        },
        "OccuredAt": {
          "format": "date-time",
          "type": "string"
        },
        "MissionStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "RouteStartedAtUTC": {
          "format": "date-time",
          "type": "string"
        },
        "RouteStartedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "RouteEndedAtUTC": {
          "format": "date-time",
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "CreatedUTC": {
          "format": "date-time",
          "type": "string"
        },
        "Locations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RoutePlannerMissionLocationModel"
          }
        }
      },
      "additionalProperties": false
    },
    "RouteRequest": {
      "type": "object",
      "properties": {
        "RouteName": {
          "type": "string"
        },
        "TimeConstraint": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "When": {
          "format": "date-time",
          "type": "string"
        },
        "UtcOffset": {
          "format": "int64",
          "type": "integer"
        },
        "UserUnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "FullAddresses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Strategy": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "AvoidTollRoads": {
          "type": "boolean"
        },
        "AvoidHighways": {
          "type": "boolean"
        },
        "AvoidFerries": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "SSOConfigurationModel": {
      "type": "object",
      "properties": {
        "ClientId": {
          "type": "string"
        },
        "TenantId": {
          "type": "string"
        },
        "Scopes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "StringStringIEnumerableKeyValuePair": {
      "type": "object",
      "properties": {
        "Key": {
          "type": "string"
        },
        "Value": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "TaskContactModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "ProfileImageUrl": {
          "type": "string"
        },
        "IsCheckedIn": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TaskCreateModel": {
      "type": "object",
      "properties": {
        "TaskType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "ToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "TaskMessageText": {
          "type": "string"
        },
        "Position": {
          "$ref": "#/definitions/PositionModel"
        },
        "Title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TaskDetailModel": {
      "type": "object",
      "properties": {
        "TaskId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactName": {
          "type": "string"
        },
        "TaskAcquiredByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "TaskAcquiredByContactName": {
          "type": "string"
        },
        "TaskMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaskMessageModel"
          }
        },
        "Title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TaskEditModel": {
      "type": "object",
      "properties": {
        "TaskStatusType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "Title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TaskMessageCreateModel": {
      "type": "object",
      "properties": {
        "TaskId": {
          "format": "int32",
          "type": "integer"
        },
        "MessageText": {
          "type": "string"
        },
        "Position": {
          "$ref": "#/definitions/PositionModel"
        }
      },
      "additionalProperties": false
    },
    "TaskMessageEditModel": {
      "type": "object",
      "properties": {
        "IsRead": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TaskMessageModel": {
      "type": "object",
      "properties": {
        "TaskMessageId": {
          "format": "int32",
          "type": "integer"
        },
        "SentByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "ToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "MessageText": {
          "type": "string"
        },
        "MessageSentAtUtc": {
          "format": "date-time",
          "type": "string"
        },
        "SentByContactName": {
          "type": "string"
        },
        "ToContactName": {
          "type": "string"
        },
        "MessageIsRead": {
          "type": "boolean"
        },
        "Position": {
          "$ref": "#/definitions/PositionModel"
        }
      },
      "additionalProperties": false
    },
    "TaskModel": {
      "type": "object",
      "properties": {
        "TaskId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactName": {
          "type": "string"
        },
        "TaskAcquiredByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "TaskAcquiredByContactName": {
          "type": "string"
        },
        "LastMessageSentByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "LastMessageSentByContactName": {
          "type": "string"
        },
        "LastMessageShortText": {
          "type": "string"
        },
        "LastMessageDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "LastMessageIsRead": {
          "type": "boolean"
        },
        "CreatedByContactImageUrl": {
          "type": "string"
        },
        "TaskAcquiredByContactImageUrl": {
          "type": "string"
        },
        "TaskStatusType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "TaskType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "UnreadTaskMessages": {
          "format": "int32",
          "type": "integer"
        },
        "Title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TimeSpan": {
      "type": "object",
      "properties": {
        "Ticks": {
          "format": "int64",
          "type": "integer"
        },
        "Days": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Hours": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Milliseconds": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Microseconds": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Nanoseconds": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Minutes": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Seconds": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "TotalDays": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "TotalHours": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "TotalMilliseconds": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "TotalMicroseconds": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "TotalNanoseconds": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "TotalMinutes": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "TotalSeconds": {
          "format": "double",
          "type": "number",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "TokenResponse": {
      "description": "The token response",
      "type": "object",
      "properties": {
        "UserName": {
          "type": "string"
        },
        "AccessToken": {
          "type": "string"
        },
        "ExpiresInSeconds": {
          "format": "double",
          "type": "number"
        },
        "IssuedUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ExpiresUtc": {
          "format": "date-time",
          "type": "string"
        },
        "RefreshToken": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TollGeofenceModelGET": {
      "type": "object",
      "properties": {
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TollZoneModelGET": {
      "type": "object",
      "properties": {
        "TollZoneId": {
          "format": "int32",
          "type": "integer"
        },
        "Name": {
          "type": "string"
        },
        "TollGeofenceList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TollGeofenceModelGET"
          }
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetHistoryModelGET": {
      "type": "object",
      "properties": {
        "TrackedAssetHistoryId": {
          "format": "int32",
          "type": "integer"
        },
        "OccuredAt": {
          "format": "date-time",
          "type": "string"
        },
        "HistoryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "Position": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "IsNew": {
          "type": "boolean"
        },
        "PropertyList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyModel"
          }
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetModelEdit": {
      "required": [
        "AssetType"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "ImageUrl": {
          "type": "string"
        },
        "DefaultSleepTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "AssetType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "UpdateIntervalInSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "IsBluetoothDiscoverable": {
          "type": "boolean"
        },
        "IsRegistrationModeOn": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetModelGet": {
      "required": [
        "AssetType"
      ],
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "ImageUrl": {
          "type": "string"
        },
        "DefaultSleepTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "AssetType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "UpdateIntervalInSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "IsBluetoothDiscoverable": {
          "type": "boolean"
        },
        "IsRegistrationModeOn": {
          "type": "boolean"
        },
        "TrackedAssetId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            255
          ],
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "LastLocation": {
          "$ref": "#/definitions/PositionPointModel"
        },
        "LastLocationTimestamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastContact": {
          "format": "date-time",
          "type": "string"
        },
        "NumberOfUnreadNotifications": {
          "format": "int32",
          "type": "integer"
        },
        "PropertyList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyModel"
          }
        },
        "AvailableCommandList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AssetCommandModel"
          }
        },
        "LastKnownFormattedAddress": {
          "type": "string"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "ExternalDevices": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExternalDeviceModelGET"
          }
        },
        "MountedInCradle": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetSleepConfigurationModelPUT": {
      "required": [
        "MinutesToSleep"
      ],
      "type": "object",
      "properties": {
        "MinutesToSleep": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetSleepIntervalModelGET": {
      "type": "object",
      "properties": {
        "SleepIntervalList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetTrackConfigurationModelPUT": {
      "required": [
        "MinutesToTrack"
      ],
      "type": "object",
      "properties": {
        "MinutesToTrack": {
          "format": "int32",
          "type": "integer"
        },
        "OriginalTriggerMessageHistoryId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TrackedAssetUpdateIntervalModelGET": {
      "type": "object",
      "properties": {
        "UpdateIntervalInSecondsList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "TransportstyrelsenInfoModel": {
      "type": "object",
      "properties": {
        "HasInformation": {
          "type": "boolean"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "TransmissionType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "TrailerHitch": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TravelTimeReportModel": {
      "type": "object",
      "properties": {
        "Period": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessTravelTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "PersonalTravelTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "OtherTravelTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Trigger3CreateModel": {
      "required": [
        "DestinationData"
      ],
      "type": "object",
      "properties": {
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "TriggerTypeData3": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "minLength": 1,
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Trigger3DetailModel": {
      "type": "object",
      "properties": {
        "TriggerId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "MutedUntilDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "MutedForAdditionalSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "APIClientId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedAt": {
          "format": "date-time",
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerTypeData3": {
          "type": "string"
        },
        "TriggerDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Trigger3EditModel": {
      "required": [
        "DestinationData"
      ],
      "type": "object",
      "properties": {
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "MutedUntilDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "minLength": 1,
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerTypeData3": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Trigger3Model": {
      "type": "object",
      "properties": {
        "TriggerId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "type": "string"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "MutedUntilDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "MutedForAdditionalSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedAt": {
          "format": "date-time",
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerTypeData3": {
          "type": "string"
        },
        "TriggerDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            255
          ],
          "type": "integer"
        },
        "IsEditable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TriggerCreateBatchModel": {
      "required": [
        "DestinationData"
      ],
      "type": "object",
      "properties": {
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "minLength": 1,
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "IMEIConfigIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "TriggerTypeData3": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TriggerCreateModel": {
      "required": [
        "DestinationData",
        "IMEIConfigId"
      ],
      "type": "object",
      "properties": {
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "TriggerTypeData3": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "minLength": 1,
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TriggerDetailModel": {
      "type": "object",
      "properties": {
        "TriggerId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "MutedUntilDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "MutedForAdditionalSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "APIClientId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedAt": {
          "format": "date-time",
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "TriggerTypeData3": {
          "type": "string"
        },
        "TriggerDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TriggerEditModel": {
      "required": [
        "DestinationData",
        "IMEIConfigId"
      ],
      "type": "object",
      "properties": {
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "MutedUntilDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "minLength": 1,
          "type": "string"
        },
        "DeliveryType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TriggerTypeData3": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TriggerEditMutedUntilModel": {
      "type": "object",
      "properties": {
        "SecondsFromNow": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TriggerMessageHistoryModel": {
      "type": "object",
      "properties": {
        "TriggerMessageHistoryId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerId": {
          "format": "int32",
          "type": "integer"
        },
        "WasSentOn": {
          "format": "date-time",
          "type": "string"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "type": "string"
        },
        "MessageData1": {
          "type": "string"
        },
        "MessageData2": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TriggerModel": {
      "type": "object",
      "properties": {
        "TriggerId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEIConfigId": {
          "format": "int32",
          "type": "integer"
        },
        "TriggerType": {
          "format": "int32",
          "description": "FirmwareConfigurationUpdate = 236, Eventype 236 loggas i [IMEIPing], sättet att detektera en uppdatering är att från föregående rad se om versionen ändrats\r\nHur får vi tag i föregående rad? Första raden måste då hämta senaste inserten i databasen?....inom datatabellen som ska insertas är det inga problem gissar jag....men analysen kan inte ske rad för rad utan hela datatabellen ska med\r\n \r\nMILStatusOnOff = 154, åtefinns i Datalogger message decoder, flik event messages, kolumn f MIL status\r\n \r\nDeviceDisconnect = 136,, åtefinns i Datalogger message decoder, flik event messages\r\nDeviceStillNotConnected = 137,, åtefinns i Datalogger message decoder, flik event messages\r\n\r\n SpeedNotification, återfinns i Pid0013",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34,
            35,
            36,
            37,
            38,
            39,
            40,
            41,
            42,
            43,
            44,
            45,
            46,
            47,
            48,
            49,
            52,
            53,
            54,
            55,
            64
          ],
          "type": "integer"
        },
        "DestinationType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "type": "integer"
        },
        "DestinationData": {
          "type": "string"
        },
        "TriggerTypeData": {
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        },
        "MutedUntilDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "MutedForAdditionalSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedAt": {
          "format": "date-time",
          "type": "string"
        },
        "TriggerTypeData2": {
          "type": "string"
        },
        "TriggerTypeData3": {
          "type": "string"
        },
        "TriggerDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            255
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Trip2DetailModel": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "TripStartDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripStartTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartODOMeter": {
          "format": "int32",
          "type": "integer"
        },
        "TripNumber": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfSupportedPIDs": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "VechicleProtocol": {
          "type": "string"
        },
        "TripEndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripEndTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "TripEndODOMeter": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartFormattedAddress": {
          "type": "string"
        },
        "TripEndFormattedAddress": {
          "type": "string"
        },
        "TripStartCustomAddress": {
          "type": "string"
        },
        "TripEndCustomAddress": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTags": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "FuelInLiters": {
          "format": "double",
          "type": "number"
        },
        "TripLengthInKilometers": {
          "format": "double",
          "type": "number"
        },
        "TripLengthInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "IdleTimeInSecondsAllTrip": {
          "format": "int32",
          "type": "integer"
        },
        "IdleTimeInSecondsFromStart": {
          "format": "int32",
          "type": "integer"
        },
        "IdleRPMMax": {
          "format": "int32",
          "type": "integer"
        },
        "MaxSpeed": {
          "format": "int32",
          "type": "integer"
        },
        "MaxRPM": {
          "format": "int32",
          "type": "integer"
        },
        "CO2EmissionInGrams": {
          "format": "double",
          "type": "number"
        },
        "OdometerInKilometersAfterTripEnded": {
          "format": "double",
          "type": "number"
        },
        "AverageSpeedInKilometersPerHour": {
          "format": "double",
          "type": "number"
        },
        "TripStartOutsideTemperatureInCelsius": {
          "format": "double",
          "type": "number"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "HasDrivingEvents": {
          "type": "boolean"
        },
        "CustomCategory": {
          "type": "string"
        },
        "HideStartRoute": {
          "type": "boolean"
        },
        "HideEndRoute": {
          "type": "boolean"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "TripApprovalStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "IsMerged": {
          "type": "boolean"
        },
        "IsLocked": {
          "type": "boolean"
        },
        "HasGermanTaxRules": {
          "type": "boolean"
        },
        "BusinessContact": {
          "type": "string"
        },
        "BusinessContactCompany": {
          "type": "string"
        },
        "TripReason": {
          "type": "string"
        },
        "LockReason": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Trip2EditModel": {
      "type": "object",
      "properties": {
        "CustomCategory": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "LastEditedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessContact": {
          "type": "string"
        },
        "BusinessContactCompany": {
          "type": "string"
        },
        "TripReason": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Trip2GeoModel": {
      "type": "object",
      "properties": {
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "HeadingDegrees": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfSatellites": {
          "format": "int32",
          "type": "integer"
        },
        "HDOP": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Trip2Model": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripEndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "DistanceKilometers": {
          "format": "double",
          "type": "number"
        },
        "FuelConsumptionInLiters": {
          "format": "double",
          "type": "number"
        },
        "TripStartFormattedAddress": {
          "type": "string"
        },
        "TripEndFormattedAddress": {
          "type": "string"
        },
        "TripStartCustomAddress": {
          "type": "string"
        },
        "TripEndCustomAddress": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "HasSpeedingViolation": {
          "type": "boolean"
        },
        "HasIdlingEvent": {
          "type": "boolean"
        },
        "HasAccelerationEvent": {
          "type": "boolean"
        },
        "HasAccident": {
          "type": "boolean"
        },
        "HasTurningEvent": {
          "type": "boolean"
        },
        "HasBrakingEvent": {
          "type": "boolean"
        },
        "ParkedForMinutesUntilNextTrip": {
          "format": "int32",
          "type": "integer"
        },
        "HasDrivingEvents": {
          "type": "boolean"
        },
        "CustomCategory": {
          "type": "string"
        },
        "TripTags": {
          "type": "string"
        },
        "HideStartRoute": {
          "type": "boolean"
        },
        "HideEndRoute": {
          "type": "boolean"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "TripApprovalStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "IsMerged": {
          "type": "boolean"
        },
        "HasGermanTaxRules": {
          "type": "boolean"
        },
        "IsLocked": {
          "type": "boolean"
        },
        "LockReason": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "TripStartCountry": {
          "type": "string"
        },
        "TripStartPostalCode": {
          "type": "string"
        },
        "TripEndCountry": {
          "type": "string"
        },
        "TripEndPostalCode": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Trip2StartEndGeoModel": {
      "type": "object",
      "properties": {
        "StartLatitude": {
          "format": "double",
          "type": "number"
        },
        "StartLongitude": {
          "format": "double",
          "type": "number"
        },
        "EndLatitude": {
          "format": "double",
          "type": "number"
        },
        "EndLongitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "TripAddNoteModel": {
      "type": "object",
      "properties": {
        "TripTags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "TripApprovalRequestModelGET": {
      "type": "object",
      "properties": {
        "TripApprovalRequestId": {
          "format": "int32",
          "type": "integer"
        },
        "SubmitDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "SubmitterContactId": {
          "format": "int32",
          "type": "integer"
        },
        "SubmitterProfileImage": {
          "type": "string"
        },
        "SubmitterFullName": {
          "type": "string"
        },
        "FromUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ToUtc": {
          "format": "date-time",
          "type": "string"
        },
        "NrOfTrips": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleName": {
          "type": "string"
        },
        "TotalDistanceInKilometer": {
          "format": "double",
          "type": "number"
        },
        "TotalDuration": {
          "$ref": "#/definitions/TimeSpan"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "StatusList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripApprovalStatusModel"
          }
        }
      },
      "additionalProperties": false
    },
    "TripApprovalResponseModel": {
      "type": "object",
      "properties": {
        "Note": {
          "type": "string"
        },
        "Approved": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "TripApprovalStatusModel": {
      "type": "object",
      "properties": {
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "ApproverFullName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripApprovalSubmitModelPOST": {
      "type": "object",
      "properties": {
        "From": {
          "format": "date-time",
          "type": "string"
        },
        "To": {
          "format": "date-time",
          "type": "string"
        },
        "TripIdList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationData": {
      "type": "object",
      "properties": {
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "RecordTimeStampEpochMs": {
          "format": "int64",
          "type": "integer",
          "readOnly": true
        },
        "Value": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationEvent": {
      "type": "object",
      "properties": {
        "TripDrivingEventType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13
          ],
          "type": "integer"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "RecordTimeStampEpochMs": {
          "format": "int64",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationIdling": {
      "type": "object",
      "properties": {
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "RecordTimeStampEpochMs": {
          "format": "int64",
          "type": "integer",
          "readOnly": true
        },
        "IdleInSeconds": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationModel": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleName": {
          "type": "string"
        },
        "MergedFromTripIds": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "SpeedGroups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationSpeedGroup"
          }
        },
        "SpeedPoints": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationSpeedPoint"
          }
        },
        "RawPoints": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationPoint"
          }
        },
        "SnappedToRoadPoints": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationSimplePoint"
          }
        },
        "IdlingEvents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationIdling"
          }
        },
        "DrivingEvents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationEvent"
          }
        },
        "SpeedData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationData"
          }
        },
        "SpeedLimitData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationData"
          }
        },
        "RPMData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationData"
          }
        },
        "FuelRateData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationData"
          }
        },
        "StartDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "EndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "StartFormattedAddress": {
          "type": "string"
        },
        "EndFormattedAddress": {
          "type": "string"
        },
        "StartCustomAddress": {
          "type": "string"
        },
        "EndCustomAddress": {
          "type": "string"
        },
        "Distance": {
          "format": "double",
          "type": "number"
        },
        "FuelConsumption": {
          "format": "double",
          "type": "number"
        },
        "LengthInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "DriverName": {
          "type": "string"
        },
        "IdleRPMAverage": {
          "format": "int32",
          "type": "integer"
        },
        "IdleTimeInSecondsForAllTrip": {
          "format": "int32",
          "type": "integer"
        },
        "IdleTimeInSecondsFromStart": {
          "format": "int32",
          "type": "integer"
        },
        "CO2Emission": {
          "format": "double",
          "type": "number"
        },
        "MaxSpeed": {
          "format": "double",
          "type": "number"
        },
        "MaxRPM": {
          "format": "int32",
          "type": "integer"
        },
        "ParkedForMinutesUntilNextTrip": {
          "format": "int32",
          "type": "integer"
        },
        "StartPoint": {
          "$ref": "#/definitions/TripConcatenationStartEndPoint"
        },
        "EndPoint": {
          "$ref": "#/definitions/TripConcatenationStartEndPoint"
        },
        "Notes": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "AverageSpeedInKilometersPerHour": {
          "format": "double",
          "type": "number"
        },
        "CustomCategory": {
          "type": "string"
        },
        "HideStartRoute": {
          "type": "boolean"
        },
        "HideEndRoute": {
          "type": "boolean"
        },
        "IsImperial": {
          "type": "boolean"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "TripApprovalStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "RegisteredTollList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RegisteredTollModelGET"
          }
        },
        "HasGermanTaxRules": {
          "type": "boolean",
          "readOnly": true
        },
        "BusinessContact": {
          "type": "string",
          "readOnly": true
        },
        "BusinessContactCompany": {
          "type": "string",
          "readOnly": true
        },
        "TripReason": {
          "type": "string",
          "readOnly": true
        },
        "IsLocked": {
          "type": "boolean",
          "readOnly": true
        },
        "LockReason": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4
          ],
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationPoint": {
      "type": "object",
      "properties": {
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "RecordTimeStampEpochMs": {
          "format": "int64",
          "type": "integer",
          "readOnly": true
        },
        "Speed": {
          "format": "double",
          "type": "number"
        },
        "RPM": {
          "format": "double",
          "type": "number"
        },
        "HeadingDegress": {
          "format": "int32",
          "type": "integer"
        },
        "Hdop": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfSatellites": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationSimplePoint": {
      "type": "object",
      "properties": {
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "RecordTimeStampEpochMs": {
          "format": "int64",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationSpeedGroup": {
      "type": "object",
      "properties": {
        "SpeedGroup": {
          "format": "uuid",
          "type": "string"
        },
        "SpeedingForMoreThan30Seconds": {
          "type": "boolean"
        },
        "DistanceOfSpeeding": {
          "format": "double",
          "type": "number"
        },
        "DistanceInSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "ThresholdType": {
          "format": "int32",
          "type": "integer"
        },
        "SpeedPoints": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripConcatenationSpeedPoint"
          }
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationSpeedPoint": {
      "type": "object",
      "properties": {
        "Speed": {
          "format": "double",
          "type": "number"
        },
        "SpeedLimit": {
          "format": "double",
          "type": "number"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "RecordTimeStampEpochMs": {
          "format": "int64",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "TripConcatenationStartEndPoint": {
      "type": "object",
      "properties": {
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "TripDetailModel": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "IMEI": {
          "type": "string"
        },
        "TripStartDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripStartTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartODOMeter": {
          "format": "int32",
          "type": "integer"
        },
        "TripNumber": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfSupportedPIDs": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "VechicleProtocol": {
          "type": "string"
        },
        "TripEndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripEndTimeZone": {
          "format": "int32",
          "type": "integer"
        },
        "TripEndODOMeter": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartFormattedAddress": {
          "type": "string"
        },
        "TripEndFormattedAddress": {
          "type": "string"
        },
        "TripStartCustomAddress": {
          "type": "string"
        },
        "TripEndCustomAddress": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTags": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "FuelInLiters": {
          "format": "double",
          "type": "number"
        },
        "TripLengthInKilometers": {
          "format": "double",
          "type": "number"
        },
        "TripLengthInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "IdleTimeInSecondsAllTrip": {
          "format": "int32",
          "type": "integer"
        },
        "IdleTimeInSecondsFromStart": {
          "format": "int32",
          "type": "integer"
        },
        "IdleRPMMax": {
          "format": "int32",
          "type": "integer"
        },
        "MaxSpeed": {
          "format": "int32",
          "type": "integer"
        },
        "MaxRPM": {
          "format": "int32",
          "type": "integer"
        },
        "CO2EmissionInGrams": {
          "format": "double",
          "type": "number"
        },
        "OdometerInKilometersAfterTripEnded": {
          "format": "double",
          "type": "number"
        },
        "AverageSpeedInKilometersPerHour": {
          "format": "double",
          "type": "number"
        },
        "TripStartOutsideTemperatureInCelsius": {
          "format": "double",
          "type": "number"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "HasDrivingEvents": {
          "type": "boolean"
        },
        "CustomCategory": {
          "type": "string"
        },
        "HideStartRoute": {
          "type": "boolean"
        },
        "HideEndRoute": {
          "type": "boolean"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "TripApprovalStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "IsMerged": {
          "type": "boolean"
        },
        "HasGermanTaxRules": {
          "type": "boolean"
        },
        "BusinessContact": {
          "type": "string"
        },
        "BusinessContactCompany": {
          "type": "string"
        },
        "TripReason": {
          "type": "string"
        },
        "IsLocked": {
          "type": "boolean",
          "readOnly": true
        },
        "LockReason": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TripEditModel": {
      "type": "object",
      "properties": {
        "CustomCategory": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "LastEditedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "BusinessContact": {
          "type": "string"
        },
        "BusinessContactCompany": {
          "type": "string"
        },
        "TripReason": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripGeoModel": {
      "type": "object",
      "properties": {
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "Latitude": {
          "format": "double",
          "type": "number"
        },
        "Longitude": {
          "format": "double",
          "type": "number"
        },
        "HeadingDegrees": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfSatellites": {
          "format": "int32",
          "type": "integer"
        },
        "HDOP": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TripMergeModelPOST": {
      "type": "object",
      "properties": {
        "TripIdList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "TripModel": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripEndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "DistanceKilometers": {
          "format": "double",
          "type": "number"
        },
        "FuelConsumptionInLiters": {
          "format": "double",
          "type": "number"
        },
        "TripStartFormattedAddress": {
          "type": "string"
        },
        "TripEndFormattedAddress": {
          "type": "string"
        },
        "TripStartCustomAddress": {
          "type": "string"
        },
        "TripEndCustomAddress": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "HasSpeedingViolation": {
          "type": "boolean"
        },
        "HasIdlingEvent": {
          "type": "boolean"
        },
        "HasAccelerationEvent": {
          "type": "boolean"
        },
        "HasAccident": {
          "type": "boolean"
        },
        "HasTurningEvent": {
          "type": "boolean"
        },
        "HasBrakingEvent": {
          "type": "boolean"
        },
        "ParkedForMinutesUntilNextTrip": {
          "format": "int32",
          "type": "integer"
        },
        "HasDrivingEvents": {
          "type": "boolean"
        },
        "CustomCategory": {
          "type": "string"
        },
        "TripTags": {
          "type": "string"
        },
        "HideStartRoute": {
          "type": "boolean"
        },
        "HideEndRoute": {
          "type": "boolean"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "TripApprovalStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "IsMerged": {
          "type": "boolean"
        },
        "HasGermanTaxRules": {
          "type": "boolean"
        },
        "IsLocked": {
          "type": "boolean"
        },
        "LockReason": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "TripStartCountry": {
          "type": "string"
        },
        "TripStartPostalCode": {
          "type": "string"
        },
        "TripEndCountry": {
          "type": "string"
        },
        "TripEndPostalCode": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripModelGET": {
      "type": "object",
      "properties": {
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "Category": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripStartDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripEndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripStartAddress": {
          "type": "string"
        },
        "TripEndAddress": {
          "type": "string"
        },
        "VehicleName": {
          "type": "string"
        },
        "DistanceInKilometer": {
          "format": "double",
          "type": "number"
        },
        "Duration": {
          "$ref": "#/definitions/TimeSpan"
        },
        "Note": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripScoreChartDataListModel": {
      "type": "object",
      "properties": {
        "ContactChartDataList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreChartDataModel"
          }
        },
        "OrganizationChartDataList": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreChartDataModel"
          },
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "TripScoreChartDataModel": {
      "type": "object",
      "properties": {
        "AverageTripScore": {
          "format": "int32",
          "type": "integer"
        },
        "DrivingScore": {
          "format": "int32",
          "type": "integer"
        },
        "Date": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripScoreInformationModel": {
      "type": "object",
      "properties": {
        "CrownValue": {
          "format": "int32",
          "type": "integer"
        },
        "EmptyMessage": {
          "$ref": "#/definitions/TripScoreMessageModel"
        },
        "HelpMessage": {
          "$ref": "#/definitions/TripScoreMessageModel"
        },
        "Levels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreLevelModel"
          }
        }
      },
      "additionalProperties": false
    },
    "TripScoreLevelModel": {
      "type": "object",
      "properties": {
        "Color": {
          "type": "string"
        },
        "MinValue": {
          "format": "int32",
          "type": "integer"
        },
        "Text": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripScoreMessageModel": {
      "type": "object",
      "properties": {
        "Title": {
          "type": "string"
        },
        "Message": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripScoreReductionModel": {
      "type": "object",
      "properties": {
        "Type": {
          "format": "int32",
          "type": "integer"
        },
        "Value": {
          "format": "double",
          "type": "number"
        },
        "Text": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripScoreSummaryModel": {
      "type": "object",
      "properties": {
        "AverageTripScore": {
          "format": "int32",
          "type": "integer"
        },
        "FromDate": {
          "type": "string"
        },
        "Reductions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreReductionModel"
          }
        },
        "Strengths": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripScoreReductionModel"
          }
        },
        "ToDate": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripScoreTripModel": {
      "type": "object",
      "properties": {
        "AuthorizedToViewTrip": {
          "type": "boolean"
        },
        "TripId": {
          "format": "int32",
          "type": "integer"
        },
        "TripEndAddress": {
          "type": "string"
        },
        "TripEndDateTime": {
          "format": "date-time",
          "type": "string"
        },
        "TripScore": {
          "format": "int32",
          "type": "integer"
        },
        "TripStartAddress": {
          "type": "string"
        },
        "TripStartDateTime": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripStartEndGeoModel": {
      "type": "object",
      "properties": {
        "StartLatitude": {
          "format": "double",
          "type": "number"
        },
        "StartLongitude": {
          "format": "double",
          "type": "number"
        },
        "EndLatitude": {
          "format": "double",
          "type": "number"
        },
        "EndLongitude": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "TripSummaryReportModel": {
      "type": "object",
      "properties": {
        "ReportStartPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "ReportEndPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "DistanceInKilometers": {
          "format": "double",
          "type": "number"
        },
        "TravelTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "FuelInLiters": {
          "format": "double",
          "type": "number"
        },
        "NumberOfTrips": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "TripSynchronized": {
      "type": "object",
      "properties": {
        "Trips": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "TripTypeBatchUpdateModel": {
      "type": "object",
      "properties": {
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CustomCategory": {
          "type": "string"
        },
        "TripIdList": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "additionalProperties": false
    },
    "TripsReportModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "StartDateTime": {
          "format": "date-time",
          "description": "UTC",
          "type": "string"
        },
        "StartTimezone": {
          "format": "int32",
          "type": "integer"
        },
        "EndDateTime": {
          "format": "date-time",
          "description": "UTC",
          "type": "string"
        },
        "EndTimezone": {
          "format": "int32",
          "type": "integer"
        },
        "StartOdometer": {
          "format": "int32",
          "description": "Kilometers",
          "type": "integer"
        },
        "EndOdometer": {
          "format": "int32",
          "description": "Kilometers",
          "type": "integer"
        },
        "StartAddressName": {
          "type": "string"
        },
        "EndAddressName": {
          "type": "string"
        },
        "Distance": {
          "format": "double",
          "description": "Kilometers",
          "type": "number"
        },
        "ParkedForMinUntilNextTrip": {
          "format": "int32",
          "type": "integer"
        },
        "FuelConsumption": {
          "format": "double",
          "description": "Liters",
          "type": "number"
        },
        "Co2Emissions": {
          "format": "double",
          "description": "Grams",
          "type": "number"
        },
        "IdleTime": {
          "format": "int32",
          "description": "Seconds",
          "type": "integer"
        },
        "Notes": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "type": "integer"
        },
        "TripId": {
          "format": "int64",
          "type": "integer"
        },
        "Settings": {
          "format": "int64",
          "type": "integer"
        },
        "DriverContactId": {
          "format": "int32",
          "type": "integer"
        },
        "LicensePlate": {
          "type": "string"
        },
        "VehicleName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripsReportRequestModel": {
      "type": "object",
      "properties": {
        "VehicleIds": {
          "description": "Optional",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "FromDate": {
          "format": "date-time",
          "description": "UTC",
          "type": "string"
        },
        "ToDate": {
          "format": "date-time",
          "description": "UTC",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TripsReportResponse": {
      "type": "object",
      "properties": {
        "Request": {
          "$ref": "#/definitions/TripsReportRequestModel"
        },
        "TripsReport": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TripsReportModel"
          }
        }
      },
      "additionalProperties": false
    },
    "UpdateStopModel": {
      "type": "object",
      "properties": {
        "RouteStopId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            3
          ],
          "type": "integer"
        },
        "DriverNotes": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserCreateModel": {
      "required": [
        "EmailAddress",
        "FirstName",
        "LastName",
        "UserName"
      ],
      "type": "object",
      "properties": {
        "UserName": {
          "minLength": 1,
          "type": "string"
        },
        "FirstName": {
          "minLength": 1,
          "type": "string"
        },
        "LastName": {
          "minLength": 1,
          "type": "string"
        },
        "EmailAddress": {
          "minLength": 1,
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "Password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserCreatedPasswordModel": {
      "type": "object",
      "properties": {
        "Password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserDeviceCreateModel": {
      "type": "object",
      "properties": {
        "DeviceIdentifier": {
          "type": "string"
        },
        "DeviceToken": {
          "type": "string"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "DeviceName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserDeviceCreateModel2": {
      "type": "object",
      "properties": {
        "DeviceIdentifier": {
          "type": "string"
        },
        "DeviceToken": {
          "type": "string"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "UserDeviceCertType": {
          "format": "int32",
          "enum": [
            0,
            1,
            3,
            4
          ],
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "DeviceName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserDeviceEditModel": {
      "type": "object",
      "properties": {
        "DeviceIdentifier": {
          "type": "string"
        },
        "DeviceToken": {
          "type": "string"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "DeviceName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserDeviceModel": {
      "description": "User Device Model",
      "type": "object",
      "properties": {
        "UserDeviceId": {
          "format": "int32",
          "type": "integer"
        },
        "DeviceIdentifier": {
          "type": "string"
        },
        "DeviceToken": {
          "type": "string"
        },
        "DeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "DeviceName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "UserExistingPasswordModel": {
      "type": "object",
      "properties": {
        "HasPassword": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "UserModel": {
      "type": "object",
      "properties": {
        "UserId": {
          "format": "int32",
          "type": "integer"
        },
        "UserGuid": {
          "format": "uuid",
          "type": "string"
        },
        "UserName": {
          "type": "string"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "UserPhoneNumberModel": {
      "type": "object",
      "properties": {
        "UserName": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "UserGuid": {
          "format": "uuid",
          "type": "string"
        },
        "OrganizationId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "UsernameTakenModel": {
      "type": "object",
      "properties": {
        "Username": {
          "type": "string"
        },
        "Taken": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "UsernamesPhoneNumberModel": {
      "type": "object",
      "properties": {
        "UserName": {
          "type": "string"
        },
        "UserGuid": {
          "format": "uuid",
          "type": "string"
        },
        "MobilePhoneNumber": {
          "type": "string"
        },
        "SSO": {
          "type": "boolean"
        },
        "SSOConfig": {
          "$ref": "#/definitions/SSOConfigurationModel"
        }
      },
      "additionalProperties": false
    },
    "ValidatePinModel": {
      "type": "object",
      "properties": {
        "UserName": {
          "type": "string"
        },
        "Pin": {
          "type": "string"
        },
        "UserGuid": {
          "format": "uuid",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehickeMakesModel": {
      "type": "object",
      "properties": {
        "VehicleMakes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleMakeModel"
          }
        }
      },
      "additionalProperties": false
    },
    "Vehicle2CreateModel": {
      "required": [
        "CreateRelationshipToId",
        "VehicleRelationshipType"
      ],
      "type": "object",
      "properties": {
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CreateRelationshipToId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleRelationshipType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "DefaultPrivacyPolicyType": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "Nickname": {
          "type": "string"
        },
        "Tags": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "Vehicle2DetailModel": {
      "type": "object",
      "properties": {
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnedByName": {
          "type": "string"
        },
        "NumberOfTrips": {
          "format": "int32",
          "type": "integer"
        },
        "DistanceTravelledThisYear": {
          "format": "double",
          "type": "number"
        },
        "DistanceTravelledLastYear": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLongitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastKnownFormattedAddress": {
          "type": "string"
        },
        "LastKnownCustomAddress": {
          "type": "string"
        },
        "LastKnownSpeed": {
          "format": "double",
          "type": "number"
        },
        "LastKnownTemperature": {
          "format": "double",
          "type": "number"
        },
        "LastKnownTemperatureTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripEndLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastTripEndLongitude": {
          "format": "double",
          "type": "number"
        },
        "LastTripStartGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripEndGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "ParkedForNumberOfSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "OngoingTripId": {
          "format": "int32",
          "type": "integer"
        },
        "LastTripId": {
          "format": "int32",
          "type": "integer"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "CurrentOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "AquiredDate": {
          "format": "date-time",
          "type": "string"
        },
        "YearlyTax": {
          "format": "double",
          "type": "number"
        },
        "LastSyncUtcWithVehicleExternalInformation": {
          "format": "date-time",
          "type": "string"
        },
        "NumberOfOwners": {
          "format": "int32",
          "type": "integer"
        },
        "Status1": {
          "type": "string"
        },
        "RegisteredInISO3166CountryCode": {
          "type": "string"
        },
        "AllowAutomaticVehicleExternalInformationUpdate": {
          "type": "boolean"
        },
        "CO2Urban": {
          "format": "double",
          "type": "number"
        },
        "CO2UrbanExtra": {
          "format": "double",
          "type": "number"
        },
        "CO2Combined": {
          "format": "double",
          "type": "number"
        },
        "FrontTyre": {
          "type": "string"
        },
        "RearTyre": {
          "type": "string"
        },
        "FrontWheelRim": {
          "type": "string"
        },
        "RearWheelRim": {
          "type": "string"
        },
        "TrailerHitch": {
          "type": "boolean"
        },
        "TrailerHitchMaxLoadKgWithoutBreaks": {
          "format": "double",
          "type": "number"
        },
        "TrailerHitchMaxLoadKgWithDefaultDriversLicence": {
          "format": "double",
          "type": "number"
        },
        "TrailerHitchMaxLoadKgWithAlternativeDriversLicence": {
          "format": "double",
          "type": "number"
        },
        "InspectionPeriodStart": {
          "format": "date-time",
          "type": "string"
        },
        "InspectionPeriodEnd": {
          "format": "date-time",
          "type": "string"
        },
        "Owner": {
          "type": "string"
        },
        "OwnerType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "LeaseCompany": {
          "type": "string"
        },
        "InsuranceCompany": {
          "type": "string"
        },
        "EngineSizekW": {
          "format": "int32",
          "type": "integer"
        },
        "DisplacementCm3": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleMatureTax": {
          "format": "double",
          "type": "number"
        },
        "VehicleTax": {
          "format": "double",
          "type": "number"
        },
        "MaxNumberOfPassengers": {
          "format": "int32",
          "type": "integer"
        },
        "CurbWeightKg": {
          "format": "double",
          "type": "number"
        },
        "GrossWeightKg": {
          "format": "double",
          "type": "number"
        },
        "TaxWeightKg": {
          "format": "double",
          "type": "number"
        },
        "MaxGrossWeightWithTrailerKg": {
          "format": "double",
          "type": "number"
        },
        "IsImported": {
          "type": "boolean"
        },
        "FirstDateRegisteredInCurrentCountry": {
          "format": "date-time",
          "type": "string"
        },
        "VehicleManufacturedDate": {
          "format": "date-time",
          "type": "string"
        },
        "PaintColor": {
          "type": "string"
        },
        "AllowTripDrivingEventRecording": {
          "type": "boolean"
        },
        "InsuranceDate": {
          "format": "date-time",
          "type": "string"
        },
        "TrailerHitchMaxWeightKg": {
          "format": "double",
          "type": "number"
        },
        "LastInspectionDate": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedInContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripIdCheckedInContact": {
          "format": "int32",
          "type": "integer"
        },
        "FuelConsumptionCombinedLiters": {
          "format": "double",
          "type": "number"
        },
        "TransmissionType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "PriceExcludingEquipmentLocalCurrency": {
          "format": "double",
          "type": "number"
        },
        "AverageTripDistanceKm": {
          "format": "double",
          "type": "number"
        },
        "AverigeTripIdleTimeSeconds": {
          "format": "double",
          "type": "number"
        },
        "AverageFuelConsumptionLiter": {
          "format": "double",
          "type": "number"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "IsOdometerEditable": {
          "type": "boolean"
        },
        "TransferIntervalInSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "SampleHarshEvents": {
          "type": "boolean"
        },
        "Features": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AllowSpeedRecording": {
          "type": "boolean"
        },
        "Nickname": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "Tags": {
          "type": "string"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "Vehicle2EditModel": {
      "type": "object",
      "properties": {
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "FrontTyre": {
          "type": "string"
        },
        "RearTyre": {
          "type": "string"
        },
        "FrontWheelRim": {
          "type": "string"
        },
        "RearWheelRim": {
          "type": "string"
        },
        "TrailerHitch": {
          "type": "boolean"
        },
        "OdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "DefaultPrivacyPolicyType": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "UpdateFromTransportstyrelsen": {
          "type": "boolean"
        },
        "AllowSpeedRecording": {
          "type": "boolean"
        },
        "Nickname": {
          "type": "string"
        },
        "Tags": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "description": "Supported colors (hex value), \r\n3652794 (#37BCBA),\r\n2591227 (#2789FB),\r\n11430900 (#AE6BF4),\r\n16478657 (#FB71C1),\r\n16735053 (#FF5B4D),\r\n16752644 (#FFA004),\r\n16772393 (#FFED29),\r\n13228106 (#C9D84A),\r\n6597394 (#64AB12),\r\n12096370 (#B89372)",
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "Vehicle2Model": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CurrentOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "DefaultPrivacyPolicyType": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "CheckedInContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "IsOdometerEditable": {
          "type": "boolean"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "TransferIntervalInSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "SampleHarshEvents": {
          "type": "boolean"
        },
        "Features": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AllowSpeedRecording": {
          "type": "boolean"
        },
        "Nickname": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "Tags": {
          "type": "string"
        },
        "CheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripName": {
          "type": "string"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "LastTripDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Vehicle3CheckInModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckOutAtUtc": {
          "format": "date-time",
          "type": "string"
        },
        "UserDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "UserDeviceToken": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Vehicle3CreateModel": {
      "required": [
        "CreateRelationshipToId",
        "VehicleRelationshipType"
      ],
      "type": "object",
      "properties": {
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CreateRelationshipToId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleRelationshipType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "DefaultPrivacyPolicyType": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "Nickname": {
          "type": "string"
        },
        "Tags": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "Vehicle3DetailModel": {
      "type": "object",
      "properties": {
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnedByName": {
          "type": "string"
        },
        "NumberOfTrips": {
          "format": "int32",
          "type": "integer"
        },
        "DistanceTravelledThisYear": {
          "format": "double",
          "type": "number"
        },
        "DistanceTravelledLastYear": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLongitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastKnownFormattedAddress": {
          "type": "string"
        },
        "LastKnownCustomAddress": {
          "type": "string"
        },
        "LastKnownSpeed": {
          "format": "double",
          "type": "number"
        },
        "LastKnownTemperature": {
          "format": "double",
          "type": "number"
        },
        "LastKnownTemperatureTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripEndLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastTripEndLongitude": {
          "format": "double",
          "type": "number"
        },
        "LastTripStartGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripEndGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "ParkedForNumberOfSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "OngoingTripId": {
          "format": "int32",
          "type": "integer"
        },
        "LastTripId": {
          "format": "int32",
          "type": "integer"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "CurrentOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "AquiredDate": {
          "format": "date-time",
          "type": "string"
        },
        "YearlyTax": {
          "format": "double",
          "type": "number"
        },
        "LastSyncUtcWithVehicleExternalInformation": {
          "format": "date-time",
          "type": "string"
        },
        "NumberOfOwners": {
          "format": "int32",
          "type": "integer"
        },
        "Status1": {
          "type": "string"
        },
        "RegisteredInISO3166CountryCode": {
          "type": "string"
        },
        "AllowAutomaticVehicleExternalInformationUpdate": {
          "type": "boolean"
        },
        "CO2Urban": {
          "format": "double",
          "type": "number"
        },
        "CO2UrbanExtra": {
          "format": "double",
          "type": "number"
        },
        "CO2Combined": {
          "format": "double",
          "type": "number"
        },
        "FrontTyre": {
          "type": "string"
        },
        "RearTyre": {
          "type": "string"
        },
        "FrontWheelRim": {
          "type": "string"
        },
        "RearWheelRim": {
          "type": "string"
        },
        "TrailerHitch": {
          "type": "boolean"
        },
        "TrailerHitchMaxLoadKgWithoutBreaks": {
          "format": "double",
          "type": "number"
        },
        "TrailerHitchMaxLoadKgWithDefaultDriversLicence": {
          "format": "double",
          "type": "number"
        },
        "TrailerHitchMaxLoadKgWithAlternativeDriversLicence": {
          "format": "double",
          "type": "number"
        },
        "InspectionPeriodStart": {
          "format": "date-time",
          "type": "string"
        },
        "InspectionPeriodEnd": {
          "format": "date-time",
          "type": "string"
        },
        "Owner": {
          "type": "string"
        },
        "OwnerType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "LeaseCompany": {
          "type": "string"
        },
        "InsuranceCompany": {
          "type": "string"
        },
        "EngineSizekW": {
          "format": "int32",
          "type": "integer"
        },
        "DisplacementCm3": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleMatureTax": {
          "format": "double",
          "type": "number"
        },
        "VehicleTax": {
          "format": "double",
          "type": "number"
        },
        "MaxNumberOfPassengers": {
          "format": "int32",
          "type": "integer"
        },
        "CurbWeightKg": {
          "format": "double",
          "type": "number"
        },
        "GrossWeightKg": {
          "format": "double",
          "type": "number"
        },
        "TaxWeightKg": {
          "format": "double",
          "type": "number"
        },
        "MaxGrossWeightWithTrailerKg": {
          "format": "double",
          "type": "number"
        },
        "IsImported": {
          "type": "boolean"
        },
        "FirstDateRegisteredInCurrentCountry": {
          "format": "date-time",
          "type": "string"
        },
        "VehicleManufacturedDate": {
          "format": "date-time",
          "type": "string"
        },
        "PaintColor": {
          "type": "string"
        },
        "AllowTripDrivingEventRecording": {
          "type": "boolean"
        },
        "InsuranceDate": {
          "format": "date-time",
          "type": "string"
        },
        "TrailerHitchMaxWeightKg": {
          "format": "double",
          "type": "number"
        },
        "LastInspectionDate": {
          "format": "date-time",
          "type": "string"
        },
        "CheckedInContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripIdCheckedInContact": {
          "format": "int32",
          "type": "integer"
        },
        "FuelConsumptionCombinedLiters": {
          "format": "double",
          "type": "number"
        },
        "TransmissionType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "PriceExcludingEquipmentLocalCurrency": {
          "format": "double",
          "type": "number"
        },
        "AverageTripDistanceKm": {
          "format": "double",
          "type": "number"
        },
        "AverigeTripIdleTimeSeconds": {
          "format": "double",
          "type": "number"
        },
        "AverageFuelConsumptionLiter": {
          "format": "double",
          "type": "number"
        },
        "TransferIntervalInSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "SampleHarshEvents": {
          "type": "boolean"
        },
        "Features": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AllowSpeedRecording": {
          "type": "boolean"
        },
        "Nickname": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "Tags": {
          "type": "string"
        },
        "OrganizationId": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "Vehicle3EditModel": {
      "type": "object",
      "properties": {
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "FrontTyre": {
          "type": "string"
        },
        "RearTyre": {
          "type": "string"
        },
        "FrontWheelRim": {
          "type": "string"
        },
        "RearWheelRim": {
          "type": "string"
        },
        "TrailerHitch": {
          "type": "boolean"
        },
        "OdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "DefaultPrivacyPolicyType": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "UpdateFromTransportstyrelsen": {
          "type": "boolean"
        },
        "AllowSpeedRecording": {
          "type": "boolean"
        },
        "Nickname": {
          "type": "string"
        },
        "Tags": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "description": "Supported colors (hex value), \r\n3652794 (#37BCBA),\r\n2591227 (#2789FB),\r\n11430900 (#AE6BF4),\r\n16478657 (#FB71C1),\r\n16735053 (#FF5B4D),\r\n16752644 (#FFA004),\r\n16772393 (#FFED29),\r\n13228106 (#C9D84A),\r\n6597394 (#64AB12),\r\n12096370 (#B89372)",
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "Vehicle3Model": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "CurrentOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "UserVehicleIdentificationNumber": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AllowAutomaticUpdates": {
          "type": "boolean"
        },
        "DefaultPrivacyPolicyType": {
          "format": "int32",
          "enum": [
            1
          ],
          "type": "integer"
        },
        "CheckedInContactId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInDateTimeUtc": {
          "format": "date-time",
          "type": "string"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "Features": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "AllowSpeedRecording": {
          "type": "boolean"
        },
        "Nickname": {
          "type": "string"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "Tags": {
          "type": "string"
        },
        "OrganizationId": {
          "format": "int32",
          "type": "integer"
        },
        "OrganizationNodeId": {
          "format": "int32",
          "type": "integer"
        },
        "CheckedInTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckedInCustomTripName": {
          "type": "string"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "IsEditable": {
          "type": "boolean"
        },
        "IsOdometerEditable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "VehicleCheckInModel": {
      "type": "object",
      "properties": {
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DefaultTripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "CheckOutAtUtc": {
          "format": "date-time",
          "type": "string"
        },
        "UserDeviceType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "UserDeviceToken": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleCheckOutModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehicleCreateModel": {
      "required": [
        "CreateRelationshipToId",
        "VehicleRelationshipType"
      ],
      "type": "object",
      "properties": {
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CreateRelationshipToId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleRelationshipType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectAttachmentCreateModel": {
      "type": "object",
      "properties": {
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Data": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectAttachmentEditModel": {
      "type": "object",
      "properties": {
        "VehicleDefectAttachmentId": {
          "format": "int32",
          "type": "integer"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Data": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectAttachmentModel": {
      "type": "object",
      "properties": {
        "VehicleDefectAttachmentId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleDefectId": {
          "format": "int32",
          "type": "integer"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "AttachmentLocation": {
          "type": "string"
        },
        "AttachmentDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectCommentEditModel": {
      "type": "object",
      "properties": {
        "VehicleDefectCommentId": {
          "format": "int32",
          "type": "integer"
        },
        "Comment": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectCommentsCreateModel": {
      "type": "object",
      "properties": {
        "VehicleDefectId": {
          "format": "int32",
          "type": "integer"
        },
        "Comment": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectCommentsEditModel": {
      "type": "object",
      "properties": {
        "Comment": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectCommentsModel": {
      "type": "object",
      "properties": {
        "VehicleDefectCommentId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleDefectId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Comment": {
          "type": "string"
        },
        "CommentDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectCreateModel": {
      "type": "object",
      "properties": {
        "DefectType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31
          ],
          "type": "integer"
        },
        "Notes": {
          "type": "string"
        },
        "VehicleDefectStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectStatusCreateModel"
          }
        },
        "VehicleDefectAttachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectAttachmentCreateModel"
          }
        },
        "VehicleDefectComments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectCommentsCreateModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectEditModel": {
      "type": "object",
      "properties": {
        "VehicleDefectId": {
          "format": "int32",
          "type": "integer"
        },
        "DefectType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31
          ],
          "type": "integer"
        },
        "Notes": {
          "type": "string"
        },
        "DefectStatusType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "VehicleDefectAttachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectAttachmentEditModel"
          }
        },
        "VehicleDefectComments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectCommentEditModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectModel": {
      "type": "object",
      "properties": {
        "VehicleDefectId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleInspectionId": {
          "format": "int32",
          "type": "integer"
        },
        "DefectType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31
          ],
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "DefectDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "DefectStatusType": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "VehicleDefectStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectStatusModel"
          }
        },
        "VehicleDefectAttachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectAttachmentModel"
          }
        },
        "VehicleDefectComments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectCommentsModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectStatusCreateModel": {
      "type": "object",
      "properties": {
        "DefectStatus": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectStatusModel": {
      "type": "object",
      "properties": {
        "VehicleDefectStatusId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleDefectId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "DefectStatus": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "DefectStatusDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleDefectTypeModel": {
      "type": "object",
      "properties": {
        "DefectType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31
          ],
          "type": "integer"
        },
        "LocalizedName": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleDetailModel": {
      "type": "object",
      "properties": {
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnedByName": {
          "type": "string"
        },
        "NumberOfTrips": {
          "format": "int32",
          "type": "integer"
        },
        "DistanceTravelledThisYear": {
          "format": "double",
          "type": "number"
        },
        "DistanceTravelledLastYear": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLongitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastKnownFormattedAddress": {
          "type": "string"
        },
        "LastKnownCustomAddress": {
          "type": "string"
        },
        "LastKnownSpeed": {
          "format": "double",
          "type": "number"
        },
        "LastKnownTemperature": {
          "format": "double",
          "type": "number"
        },
        "LastKnownTemperatureTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "LastTripEndLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastTripEndLongitude": {
          "format": "double",
          "type": "number"
        },
        "LastTripEndGeoTimeStamp": {
          "format": "date-time",
          "type": "string"
        },
        "ParkedForNumberOfSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "OngoingTripId": {
          "format": "int32",
          "type": "integer"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "CurrentOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "VehicleEditModel": {
      "type": "object",
      "properties": {
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "BodyStyle": {
          "type": "string"
        },
        "BodyType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ],
          "type": "integer"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "VehicleGeofenceCreateModel": {
      "required": [
        "GeofenceId",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleGeofenceEditModel": {
      "type": "object",
      "properties": {
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleGeofenceModel": {
      "type": "object",
      "properties": {
        "VehicleGeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "GeofenceId": {
          "format": "int32",
          "type": "integer"
        },
        "ValidFrom": {
          "format": "date-time",
          "type": "string"
        },
        "ValidTo": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleHealth": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "PeriodFrom": {
          "format": "int32",
          "type": "integer"
        },
        "PeriodTo": {
          "format": "int32",
          "type": "integer"
        },
        "LastBatteryStatus": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "LastBatteryWarning": {
          "$ref": "#/definitions/BatteryEvent"
        },
        "BatteryEventsForSelectedPeriod": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BatteryEvent"
          }
        },
        "LastMILEvent": {
          "$ref": "#/definitions/MILEvent"
        },
        "MILEventsForSelectedPeriod": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MILEvent"
          }
        },
        "LastDTCEvent": {
          "$ref": "#/definitions/DTCEvent"
        },
        "LastPendingDTCEvent": {
          "$ref": "#/definitions/DTCEvent"
        },
        "DTCEventsForSelectedPeriod": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DTCEvent"
          }
        },
        "PendingDTCEventsForSelectedPeriod": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DTCEvent"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleInspectionCreateModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "InspectionDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "VehicleDefects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectCreateModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleInspectionEditModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "InspectionStatusType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "VehicleDefects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectEditModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleInspectionExportModel": {
      "type": "object",
      "properties": {
        "ToEmail": {
          "type": "string"
        },
        "ISO639LanguageCode": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleInspectionModel": {
      "type": "object",
      "properties": {
        "VehicleInspectionId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "InspectionStatusType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "InspectionDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "VehicleDefects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleDefectModel"
          }
        },
        "InspectionStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleInspectionStatusModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleInspectionStatusModel": {
      "type": "object",
      "properties": {
        "VehicleInspectionStatusId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleInspectionId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "InspectionStatusType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer"
        },
        "StatusDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleMakeModel": {
      "type": "object",
      "properties": {
        "Make": {
          "type": "string"
        },
        "MakeUrl": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "OwnerContactId": {
          "format": "int32",
          "type": "integer"
        },
        "OwnerCompanyId": {
          "format": "int32",
          "type": "integer"
        },
        "CurrentOdometerInKilometers": {
          "format": "double",
          "type": "number"
        },
        "VehicleType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            255
          ],
          "type": "integer"
        },
        "DeleteTripDetailsAfter": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DeleteTripsAfter": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    },
    "VehicleModelModel": {
      "type": "object",
      "properties": {
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleModelsModel": {
      "type": "object",
      "properties": {
        "VehicleModels": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleModelModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehicleOdometerModelGET": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "DistanceBusiness": {
          "format": "double",
          "type": "number"
        },
        "DistancePrivate": {
          "format": "double",
          "type": "number"
        },
        "DistanceOther": {
          "format": "double",
          "type": "number"
        },
        "DistanceTotal": {
          "format": "double",
          "type": "number",
          "readOnly": true
        },
        "StartOdometer": {
          "format": "double",
          "type": "number"
        },
        "EndOdometer": {
          "format": "double",
          "type": "number"
        },
        "FromDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ToDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleOdometerModelPUT": {
      "required": [
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "NewEndOdometer": {
          "format": "double",
          "maximum": 2147483647,
          "minimum": 1,
          "type": "number"
        },
        "FromDateUtc": {
          "format": "date-time",
          "type": "string"
        },
        "ToDateUtc": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehiclePlaceCreateModel": {
      "required": [
        "PlaceId",
        "Radius",
        "VehicleId"
      ],
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "PlaceId": {
          "format": "int32",
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehiclePlaceEditModel": {
      "required": [
        "Radius"
      ],
      "type": "object",
      "properties": {
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehiclePlaceModel": {
      "type": "object",
      "properties": {
        "VehiclePlaceId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "PlaceId": {
          "format": "int32",
          "type": "integer"
        },
        "Description": {
          "type": "string"
        },
        "TripType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "TripTypeTrigger": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "Radius": {
          "format": "int32",
          "type": "integer"
        },
        "DrivesBetweenAnotherPlaceId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehicleSpeed2Model": {
      "type": "object",
      "properties": {
        "SpeedKmPerHour": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleSpeedModel": {
      "description": "PID013",
      "type": "object",
      "properties": {
        "SpeedKmPerHour": {
          "format": "double",
          "type": "number"
        },
        "RecordTimeStamp": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehicleStatusModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "LastPositionUtc": {
          "format": "date-time",
          "type": "string"
        },
        "LastKnownLatitude": {
          "format": "double",
          "type": "number"
        },
        "LastKnownLongitude": {
          "format": "double",
          "type": "number"
        },
        "IsDriving": {
          "type": "boolean"
        },
        "MakeImageUrl": {
          "type": "string"
        },
        "ParkedForNumberOfSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "DrivingForNumberOfSeconds": {
          "format": "int32",
          "type": "integer"
        },
        "LastKnownFormattedAddress": {
          "type": "string"
        },
        "LastKnownStreetAddress": {
          "type": "string"
        },
        "LastKnownCity": {
          "type": "string"
        },
        "LastTripId": {
          "format": "int32",
          "type": "integer"
        },
        "LastLocationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "CategoryColor": {
          "format": "int32",
          "type": "integer"
        },
        "Heading": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehicleSummaryModel": {
      "type": "object",
      "properties": {
        "DistanceReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DistanceReportModel"
          }
        },
        "FuelReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FuelReportModel"
          }
        },
        "TravelTimeReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TravelTimeReportModel"
          }
        },
        "CO2Reports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CO2ReportModel"
          }
        },
        "IdleTimeReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IdleTimeReportModel"
          }
        },
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehicleSummaryReportModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "VehicleIdentificationNumber": {
          "type": "string"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "Business": {
          "format": "double",
          "type": "number"
        },
        "Private": {
          "format": "double",
          "type": "number"
        },
        "Other": {
          "format": "double",
          "type": "number"
        },
        "Total": {
          "format": "double",
          "type": "number"
        },
        "PeriodStartOdometer": {
          "format": "double",
          "type": "number"
        },
        "PeriodEndOdometer": {
          "format": "double",
          "type": "number"
        },
        "FuelConsumptionBusiness": {
          "format": "double",
          "type": "number"
        },
        "FuelConsumptionPrivate": {
          "format": "double",
          "type": "number"
        },
        "FuelConsumptionTotal": {
          "format": "double",
          "type": "number"
        },
        "BusinessTolls": {
          "format": "double",
          "type": "number"
        },
        "PrivateTolls": {
          "format": "double",
          "type": "number"
        },
        "OtherTolls": {
          "format": "double",
          "type": "number"
        },
        "NumberOfBusinessTolls": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfPrivateTolls": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfOtherTolls": {
          "format": "int32",
          "type": "integer"
        },
        "NumberOfTolls": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "VehicleTinyModel": {
      "type": "object",
      "properties": {
        "VehicleId": {
          "format": "int32",
          "type": "integer"
        },
        "NumberPlate": {
          "type": "string"
        },
        "Make": {
          "type": "string"
        },
        "Model": {
          "type": "string"
        },
        "FriendlyName": {
          "type": "string"
        },
        "FuelType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "type": "integer"
        },
        "ModelYear": {
          "format": "int32",
          "type": "integer"
        },
        "ImageUrlMake": {
          "type": "string"
        },
        "UserFriendlyName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VehiclesSummaryModel": {
      "type": "object",
      "properties": {
        "DistanceReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DistanceReportModel"
          }
        },
        "FuelReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FuelReportModel"
          }
        },
        "TravelTimeReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TravelTimeReportModel"
          }
        },
        "CO2Reports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CO2ReportModel"
          }
        },
        "IdleTimeReports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IdleTimeReportModel"
          }
        }
      },
      "additionalProperties": false
    },
    "VehiclesSummaryReportModel": {
      "type": "object",
      "properties": {
        "VehiclesSummary": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/VehicleSummaryReportModel"
          }
        },
        "Page": {
          "format": "int32",
          "type": "integer"
        },
        "Records": {
          "format": "int32",
          "type": "integer"
        },
        "TotalRecords": {
          "format": "int32",
          "type": "integer"
        },
        "PageSize": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Version": {
      "type": "object",
      "properties": {
        "Major": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Minor": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Build": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "Revision": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "MajorRevision": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        },
        "MinorRevision": {
          "format": "int32",
          "type": "integer",
          "readOnly": true
        }
      },
      "additionalProperties": false
    },
    "WorkOrderArticleModelGET": {
      "required": [
        "ArticleName",
        "PricePerQuantityExclVAT",
        "TaxRate"
      ],
      "type": "object",
      "properties": {
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "ArticleName": {
          "minLength": 1,
          "type": "string"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderArticleModelPOST": {
      "required": [
        "ArticleName",
        "PricePerQuantityExclVAT",
        "TaxRate"
      ],
      "type": "object",
      "properties": {
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "ArticleName": {
          "minLength": 1,
          "type": "string"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderArticleModelPUT": {
      "required": [
        "ArticleName",
        "PricePerQuantityExclVAT",
        "TaxRate"
      ],
      "type": "object",
      "properties": {
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "ArticleName": {
          "minLength": 1,
          "type": "string"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderAttachmentModelGET": {
      "required": [
        "AttachmentType",
        "URL"
      ],
      "type": "object",
      "properties": {
        "URL": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "WorkOrderAttachmentId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderAttachmentModelPOST": {
      "required": [
        "AttachmentType",
        "URL"
      ],
      "type": "object",
      "properties": {
        "URL": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderAttachmentModelPUT": {
      "required": [
        "AttachmentType",
        "URL"
      ],
      "type": "object",
      "properties": {
        "URL": {
          "minLength": 1,
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "AttachmentType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "WorkOrderAttachmentId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderCategoryModelGET": {
      "required": [
        "CategoryName"
      ],
      "type": "object",
      "properties": {
        "CategoryName": {
          "minLength": 1,
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderCategoryModelPOST": {
      "required": [
        "CategoryName"
      ],
      "type": "object",
      "properties": {
        "CategoryName": {
          "minLength": 1,
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderCustomerModelGET": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "ContactName": {
          "type": "string"
        },
        "CommunicationLanguageISO639_2": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "BillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "JobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderCustomerModelPOST": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "ContactName": {
          "type": "string"
        },
        "CommunicationLanguageISO639_2": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "BillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "JobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderCustomerModelPUT": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "ContactName": {
          "type": "string"
        },
        "CommunicationLanguageISO639_2": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "BillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "JobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderItemModelGET": {
      "required": [
        "Quantity",
        "WorkOrderArticleId"
      ],
      "type": "object",
      "properties": {
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "DiscountInPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "ArticleName": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "ISO4217CurrencyCode": {
          "type": "string"
        },
        "WorkOrderItemId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderItemModelPOST": {
      "required": [
        "Quantity",
        "WorkOrderArticleId"
      ],
      "type": "object",
      "properties": {
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "DiscountInPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "ArticleName": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderItemModelPUT": {
      "required": [
        "Quantity",
        "WorkOrderArticleId"
      ],
      "type": "object",
      "properties": {
        "Quantity": {
          "format": "double",
          "type": "number"
        },
        "PricePerQuantityExclVAT": {
          "format": "double",
          "type": "number"
        },
        "DiscountInPercentage": {
          "format": "double",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "type": "number"
        },
        "TaxRate": {
          "format": "double",
          "type": "number"
        },
        "WorkOrderArticleId": {
          "format": "int32",
          "type": "integer"
        },
        "ArticleName": {
          "type": "string"
        },
        "UnitType": {
          "format": "int32",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
            21,
            22,
            23,
            24,
            25,
            26,
            27,
            28,
            29,
            30,
            31,
            32,
            33,
            34
          ],
          "type": "integer"
        },
        "WorkOrderItemId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderModelGET": {
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "QuoteId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "WorkOrderId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        },
        "IsDeleted": {
          "type": "boolean"
        },
        "Rating": {
          "format": "double",
          "type": "number"
        },
        "RequestedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "StatusHistory": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderStatusHistoryModelGET"
          }
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderNoteModelGET"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderItemModelGET"
          }
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderAttachmentModelGET"
          }
        }
      },
      "additionalProperties": false
    },
    "WorkOrderModelPOST": {
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "QuoteId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderNoteModelPOST"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderItemModelPOST"
          }
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderAttachmentModelPOST"
          }
        }
      },
      "additionalProperties": false
    },
    "WorkOrderModelPUT": {
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "QuoteId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderNoteModelPUT"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderItemModelPUT"
          }
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderAttachmentModelPUT"
          }
        }
      },
      "additionalProperties": false
    },
    "WorkOrderModelSyncPUT": {
      "type": "object",
      "properties": {
        "JobDate": {
          "format": "date-time",
          "type": "string"
        },
        "JobTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "EstimatedTimeInMinutes": {
          "format": "int32",
          "type": "integer"
        },
        "JobDescription": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "CustomerContactName": {
          "type": "string"
        },
        "CustomerEmail": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "CustomerCommunicationLanguageISO639_2": {
          "type": "string"
        },
        "CustomerPhoneNumber": {
          "type": "string"
        },
        "CustomerJobAddress": {
          "$ref": "#/definitions/CustomerJobAddressModel"
        },
        "CustomerBillingAddress": {
          "$ref": "#/definitions/CustomerBillingAddressModel"
        },
        "NotificationType": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3
          ],
          "type": "integer"
        },
        "WorkOrderCategoryId": {
          "format": "int32",
          "type": "integer"
        },
        "CategoryName": {
          "type": "string"
        },
        "AssignedToContactId": {
          "format": "int32",
          "type": "integer"
        },
        "QuoteId": {
          "format": "int32",
          "type": "integer"
        },
        "WorkOrderCustomerId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        },
        "Notes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderNoteModelPUT"
          }
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderItemModelPUT"
          }
        },
        "Attachments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderAttachmentModelPUT"
          }
        },
        "WorkOrderId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderNoteModelGET": {
      "required": [
        "Note"
      ],
      "type": "object",
      "properties": {
        "Note": {
          "minLength": 1,
          "type": "string"
        },
        "WorkOrderNoteId": {
          "format": "int32",
          "type": "integer"
        },
        "CreatedByContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderNoteModelPOST": {
      "required": [
        "Note"
      ],
      "type": "object",
      "properties": {
        "Note": {
          "minLength": 1,
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderNoteModelPUT": {
      "required": [
        "Note"
      ],
      "type": "object",
      "properties": {
        "Note": {
          "minLength": 1,
          "type": "string"
        },
        "WorkOrderNoteId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderStatusHistoryModelGET": {
      "type": "object",
      "properties": {
        "OccuredAt": {
          "format": "date-time",
          "type": "string"
        },
        "ContactId": {
          "format": "int32",
          "type": "integer"
        },
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkOrderStatusModelPUT": {
      "required": [
        "Status"
      ],
      "type": "object",
      "properties": {
        "Status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WorkShift": {
      "type": "object",
      "properties": {
        "TotalTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "OffDutyTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "OnDutyTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DrivingTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "SleeperBerthTime": {
          "$ref": "#/definitions/TimeSpan"
        },
        "DutyStatuses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DutyStatus"
          }
        },
        "WorkShiftTime": {
          "$ref": "#/definitions/TimeSpan"
        }
      },
      "additionalProperties": false
    }
  },
  "securityDefinitions": {
    "oauth2": {
      "type": "oauth2",
      "flow": "implicit",
      "authorizationUrl": "https://api.automile.com/login/",
      "scopes": {
        "read": "Read access to protected resources",
        "write": "Write access to protected resources"
      },
      "description": "OAuth2 Implicit Grant"
    }
  }
}