openapi: 3.0.1
info:
  title: Transportial OTMS API
  contact:
    name: Transportial
    url: http://transportial.com
    email: info@transportial.com
  version: 0.9.2
servers:
  - url: https://test.api.otms.transportial.com/api
    description: Test environment
  - url: https://api.otms.transportial.com/api
    description: Production
security:
  - bearer: []
  - apiKey: []
  - apiSecret: []
tags:
  - name: Transportial
    description: >-
      Our full API documentation can be found here for OTMS. It describes our
      endpoints and the way we accept data.
  - name: Authentication
    description: >-
      You can authenticate users by a login call and sending their token in the
      Authorization header. 
  - name: OTM5
    description: |-
      Our API is fully supportive of the OTM5 data structure. 
                      You can send and receive those objects in the exact definition. In our documentation you will find our 
                      other objects and you don't _need_ to use Associations, we do return that structure however.
    externalDocs:
      description: The OTM5 documentation can be found here
      url: https://otm5.opentripmodel.org/
  - name: ServiceCard
    description: >-
      Object describing a geographic ServiceCard. A ServiceCard can either be a
      point or an area.
  - name: Tire
    description: >-
      Object describing a geographic Tire. A Tire can either be a point or an
      area.
  - name: Action
    description: >-
      Actions are dynamic entities that are able to couple together various
      static entities at a certain moment in time. For instance a Load action
      couples together a Consignment and a Vehicle at the moment the Loading
      happens.
  - name: Actor
    description: Actors can be stacked and constrain different activities in their context
  - name: Charge
    description: Charges
  - name: Invoice
    description: Invoices
  - name: LedgerEntry
    description: LedgerEntry ...
  - name: Payout
    description: Payouts
  - name: Plan
    description: Plans
  - name: Quote
    description: Quotes
  - name: Administration
    description: >-
      Administrations can be stacked and constrain different activities in their
      context
  - name: Transaction
    description: Transactions
  - name: Alert
    description: >-
      Object describing a geographic alert. A alert can either be a point or an
      area.
  - name: Publisher
    description: >-
      Object describing a geographic publisher. A publisher can either be a
      point or an area.
  - name: App
    description: >-
      Object describing a geographic app. A app can either be a point or an
      area.
  - name: Attribute
    description: A generic entity that can help in defining other entities properties
  - name: Ban
    description: >-
      Object describing a geographic Ban. A Ban can either be a point or an
      area.
  - name: Board
    description: >-
      Boards contain Lanes and might represent a module of a project or a
      project itself
  - name: Booking
    description: >-
      Object describing a geographic booking. A booking can either be a point or
      an area.
  - name: Business
    description: >-
      Business is a base entity that describes a companies information. Thiis
      entity is used for contracts, clients, invoices, quotes, etc. It can be
      any type of relation you do business with.
  - name: Camera
    description: A Camera
  - name: CapacityContract
    description: >-
      The CapacityContract is the entity to model a contract of a purchase of
      certain amount of scheduled capacity.
  - name: Capacity
    description: A capacity models the amount of cargo, a schedule can deliver.
  - name: Certificate
    description: >-
      Object describing a geographic Certificate. A Certificate can either be a
      point or an area.
  - name: Chat
    description: Sending messages to users grouped by rooms
  - name: MessageTemplate
    description: >-
      MessageTemplates can be stacked and constrain different activities in
      their context
  - name: Chauffeur
    description: >-
      Chauffeurs are the people who are responsible for controlling a Vehicle.
      They have schedules, planning and legal responsibilities.
  - name: Complaint
    description: >-
      Object describing a geographic Complaint. A Complaint can either be a
      point or an area.
  - name: Consignment
    description: >-
      Consignments can be stacked and constrain different activities in their
      context
  - name: Constraint
    description: >-
      Constraints can be stacked and constrain different activities in their
      context
  - name: Contract
    description: Contracts
  - name: Damage
    description: >-
      Object describing a geographic damage. A damage can either be a point or
      an area.
  - name: Document
    description: >-
      Documents are the base entities to handle all types of external data files
      and the references to them
  - name: Event
    description: >-
      Events - like actions - model dynamic entities that couple various static
      entities at a certain moment in time. Events are used for either real-time
      updates, or updates on earlier provided data. Notice that in both event
      types these are updates on earlier provided data, whereas actions are
      usually used together with the entities they dynamically couple.
  - name: Feedback
    description: Feedbacks
  - name: File
    description: >-
      File management. Upload, retrieve and download files. Categorized by it's
      purpose. 
  - name: Fleet
    description: Fleets can be stacked and constrain different activities in their context
  - name: General
    description: General reference data sets like Languages, Currencies etc. and functions
  - name: Goods
    description: >-
      Goods are the items to be transported as part of a consignment. Goods can
      be divided into two sub-types of goods, depending on the use case and the
      level of detail. Goods either consists of items, describing the actual
      goods to be transported. Or a transport equipment, which is equipment used
      to carry the actual goods to be transported. Transport equipment is
      (usually) a means to an end, not something that needs to be transported on
      itself, such as pallets.
  - name: TransportEquipment
    description: >-
      TransportEquipment are the items to be transported as part of a
      consignment. TransportEquipment can be divided into two sub-types of
      transportEquipment, depending on the use case and the level of detail.
      TransportEquipment either consists of items, describing the actual
      transportEquipment to be transported. Or a transport equipment, which is
      equipment used to carry the actual transportEquipment to be transported.
      Transport equipment is (usually) a means to an end, not something that
      needs to be transported on itself, such as pallets.
  - name: Insights
    description: All the insights you need can be gathered from these endpoints
  - name: Integration
    description: >-
      An Integration is the connection for 2 systems. An integration can be
      configured and enabled through this object. It can also configure the
      entire connection or it can be pre-configured.
  - name: Lane
    description: A lane contains a location and status of a todo task.
  - name: ToDo
    description: A lane contains a location and status of a todo task.
  - name: Location
    description: >-
      Object describing a geographic location. A location can either be a point
      or an area.
  - name: Mail
    description: Mails can be stacked and constrain different activities in their context
  - name: Management
    description: 'The management overviews '
  - name: MessageAutomation
    description: >-
      Message-Automations are communication automation connectors that can use
      events
  - name: Notification
    description: >-
      Notification endpoint to notify people, groups or the entire user base of
      things they might want to know or need to know
  - name: Platform
    description: >-
      Platforms can be stacked and constrain different activities in their
      context
  - name: SAML
    description: >-
      SAML Configuration for Single-SignOn(SSO) establishment between
      Service-Provider(SP) and Identity-Provider(IDP)
  - name: Pricing
    description: >-
      A pricing models the path going from one location to at least one other
      location.
  - name: Route
    description: >-
      A route models the path going from one location to at least one other
      location.
  - name: Routing
    description: >-
      Everything routing: meaning the routes from A-B supporting multiple
      modalities
  - name: ScheduleRoute
    description: >-
      A scheduleRoute is a device that is able to measure a quantity in a
      certain unit, such as measuring the speed in km/h.
  - name: Sensor
    description: >-
      A sensor is a device that is able to measure a quantity in a certain unit,
      such as measuring the speed in km/h.
  - name: Support
    description: >-
      Support tickets are there to diagnose issues in the software or help users
      if they have a question
  - name: Tachograph
    description: Tachograph methods
  - name: Team
    description: >-
      A Team is a group of Vehicle's. Groups can be used to reference a list of
      vehicles without having to select each individual one. 
  - name: Tender
    description: Tenders can be stacked and constrain different activities in their context
  - name: Terminal
    description: Terminals
  - name: ToDoComment
    description: >-
      Object describing a geographic toDoComment. A toDoComment can either be a
      point or an area.
  - name: TQL
    description: >-
      `TQL` stands for "Transportial Query Language". It's used to be able to
      run any query from a given JSON request
  - name: TransportOrder
    description: >-
      The TransportOrder is the top-level entity to model a group of related
      consignments that might be transported separately, but need to be
      administered together.
  - name: Trip
    description: >-
      A Trip is an aggregate entity that combines various entities to model
      visiting various locations, potentially doing one or multiple actions on
      each location, such as loading or unloading consignments. It is optionally
      coupled to a Vehicle that is/was driving this trip.
  - name: Type
    description: Types
  - name: User
    description: Users related to the platform and all actions required
  - name: User roles
    description: The permissions grouped by a \"Role\", that can be assigned to a user
  - name: Settings
    description: The user settings for the system
  - name: BoardComputer
    description: >-
      A Boardcomputer is a device that tracks properties of a Vehicle. Values
      received from a BoardComputer can be the current location, speed,
      temperatues etc.
  - name: Vehicle
    description: >-
      A `Vehicle` is a means to transport consignments from one location to
      potentially multiple other locations. There are various types of vehicles,
      each with their own unique properties like size, dimensions, fuel type and
      means of transport (by air, on land, over sea).
  - name: VehicleGroup
    description: >-
      A VehicleGroup is a group of Vehicle's. Groups can be used to reference a
      list of vehicles without having to select each individual one. 
  - name: Widget
    description: Widgets can be stacked and constrain different activities in their context
paths:
  /serviceCards/{offset}/{amount}:
    get:
      tags:
        - ServiceCard
      summary: Get ServiceCards
      description: Get list of ServiceCards
      operationId: handle_307
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ServiceCard
      summary: Get ServiceCards
      description: Get list of ServiceCards
      operationId: handle
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tires/{offset}/{amount}:
    get:
      tags:
        - Tire
      summary: Get Tires
      description: Get list of Tires
      operationId: handle_322
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TiresResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Tire
      summary: Get Tires
      description: Get list of Tires
      operationId: handle_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TiresResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /action:
    put:
      tags:
        - Action
      summary: Update action
      description: Update a action
      operationId: update:actions_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Action'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Action
      summary: Create action
      description: Create a new action
      operationId: create:action
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Action'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /action/{id}:
    get:
      tags:
        - Action
      summary: Get action
      description: Get a action on id
      operationId: get:action
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Action
      summary: Delete action
      description: Delete a action
      operationId: delete:action
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /actions/{offset}/{amount}:
    get:
      tags:
        - Action
      summary: Get actions
      description: Get list of actions
      operationId: get:actions
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Action
      summary: Get actions
      description: Get list of actions
      operationId: get:actions_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /action/{id}/{lifeCycle}:
    put:
      tags:
        - Action
      summary: Update action lifeCycle
      description: Update an actions lifeCycle, this includes all child actions
      operationId: update:actions
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /action/{id}/times:
    put:
      tags:
        - Action
      summary: Update action
      description: Update a action
      operationId: update:actions_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateActionTimesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /actor:
    put:
      tags:
        - Actor
      summary: Update actor
      description: Update a actor
      operationId: update:actor
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActorModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Actor
      summary: Create actor
      description: Create a new actor
      operationId: create:actor
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActorCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /actor/{id}:
    get:
      tags:
        - Actor
      summary: Get actor
      description: Get a actor on id
      operationId: get:actor
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Actor
      summary: Delete actor
      description: Delete a actor
      operationId: delete:actor
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /actors/{offset}/{amount}:
    get:
      tags:
        - Actor
      summary: Get actors
      description: Get list of actors
      operationId: get:actors
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Actor
      summary: Get actors
      description: Search list of actors based on query and params
      operationId: search:actors
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActorsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /charge:
    post:
      tags:
        - Charge
      summary: Create charge
      description: Create a new charge
      operationId: handle_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargeResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /charge/execute:
    post:
      tags:
        - Charge
      summary: Execute charge
      description: Execute charge by ID
      operationId: handle_3
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /invoice:
    put:
      tags:
        - Invoice
      summary: Update invoice
      description: Create a new invoice
      operationId: handle_11
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Invoice'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Invoice
      summary: Create invoice
      description: Create a new invoice
      operationId: handle_4
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Invoice'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /invoice/{id}:
    get:
      tags:
        - Invoice
      summary: Get invoice
      description: Get invoice by ID
      operationId: handle_6
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Invoice
      summary: Delete invoice
      description: Delete invoice by ID
      operationId: handle_5
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /invoice/mail/receiver:
    put:
      tags:
        - Invoice
      summary: Create invoice from Email
      description: Create invoice from Email
      operationId: create:invoice:fromMail
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /invoices/{administration}/{offset}/{amount}:
    get:
      tags:
        - Invoice
      summary: Get all invoices
      description: Get all the invoices by offset and amount
      operationId: handle_7
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: administration
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Invoice
      summary: Get all invoices
      description: Get all the invoices by offset and amount
      operationId: handle_8
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: administration
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /invoice/{id}/send:
    post:
      tags:
        - Invoice
      summary: Send invoice
      description: S a new invoice
      operationId: handle_9
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /invoice/{id}/send:reminder:
    post:
      tags:
        - Invoice
      summary: Send invoice reminder
      description: Send a invoice reminder
      operationId: handle_10
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ledgerEntriesByCategoryAndDateRange:
    post:
      tags:
        - LedgerEntry
      summary: Get LedgerEntries by entity type
      description: Get list of ledgerEntries
      operationId: get:actions_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindByCategoryAndDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ledgerEntriesByDateRange:
    post:
      tags:
        - LedgerEntry
      summary: Get LedgerEntries by entity type
      description: Get list of ledgerEntries
      operationId: get:actions_3
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindByDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ledgerEntriesByEntity:
    post:
      tags:
        - LedgerEntry
      summary: Get LedgerEntries by entity type
      description: Get list of ledgerEntries
      operationId: get:actions_4
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindByRelatedEntityRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /payout:
    put:
      tags:
        - Payout
      summary: Update payout
      description: Create a new payout
      operationId: handle_17
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Payout'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Payout
      summary: Create payout
      description: Create a new payout
      operationId: handle_12
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /payout/{id}:
    get:
      tags:
        - Payout
      summary: Get payout
      description: Get payout by ID
      operationId: handle_14
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Payout
      summary: Delete payout
      description: Delete payout by ID
      operationId: handle_13
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /payouts/{offset}/{amount}:
    get:
      tags:
        - Payout
      summary: Get all payouts
      description: Get all the payouts by offset and amount
      operationId: handle_15
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Payout
      summary: Get all payouts
      description: Get all the payouts by offset and amount
      operationId: handle_16
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /plan:
    put:
      tags:
        - Plan
      summary: Update article
      description: Create a new article
      operationId: handle_23
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlanModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Plan
      summary: Create plan
      description: Create a new plan
      operationId: handle_18
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlanCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /plan/{id}:
    get:
      tags:
        - Plan
      summary: Get plan
      description: Get plan by ID
      operationId: handle_20
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Plan
      summary: Delete plan
      description: Delete plan by ID
      operationId: handle_19
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /plans/{offset}/{amount}:
    get:
      tags:
        - Plan
      summary: Get all plans
      description: Get all the plans by offset and amount
      operationId: handle_21
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlansResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Plan
      summary: Get all plans
      description: Get all the plans by offset and amount
      operationId: handle_22
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote/{id}/accept:
    post:
      tags:
        - Quote
      summary: Accept quote
      description: Accept an existing quote
      operationId: handle_24
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote/{id}/create:invoice:
    post:
      tags:
        - Quote
      summary: Create invoice from quote
      description: Create invoice entity from the quote entity
      operationId: handle_25
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote:
    put:
      tags:
        - Quote
      summary: Update quote
      description: Create a new quote
      operationId: handle_36
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Quote'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Quote
      summary: Create quote
      description: Create a new quote
      operationId: handle_26
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Quote'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote/{id}/decline:
    post:
      tags:
        - Quote
      summary: Decline quote
      description: Decline the quote
      operationId: handle_27
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote/{id}:
    get:
      tags:
        - Quote
      summary: Get quote
      description: Get quote by ID
      operationId: handle_29
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Quote
      summary: Delete quote
      description: Delete quote by ID
      operationId: handle_28
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote/mail/receiver:
    put:
      tags:
        - Quote
      summary: Create quote from Email
      description: Create quote from Email
      operationId: create:quote:fromMail
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quotes/{administration}/{offset}/{amount}:
    get:
      tags:
        - Quote
      summary: Get all quotes
      description: Get all the quotes by offset and amount
      operationId: handle_30
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: administration
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Quote
      summary: Get all quotes
      description: Get all the quotes by offset and amount
      operationId: handle_34
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: administration
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote:public/{id}/accept/{shareCode}:
    post:
      tags:
        - Quote
      summary: Accept public quote
      description: Accept an existing quote
      operationId: handle_31
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote:public/{id}/decline/{shareCode}:
    post:
      tags:
        - Quote
      summary: Decline public quote
      description: Decline the quote
      operationId: handle_32
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote:public/{id}/{shareCode}:
    get:
      tags:
        - Quote
      summary: Get quote publicly
      description: Get quote by ID and shareCode
      operationId: handle_33
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /quote/{id}/send:
    post:
      tags:
        - Quote
      summary: Send quote
      description: Send a new quote
      operationId: handle_35
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /administration:
    get:
      tags:
        - Administration
      summary: Get administration
      description: Get administration by ID
      operationId: handle_37
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Administration
      summary: Update administration
      description: Update a administration
      operationId: update:administration
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdministrationModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Administration
      summary: Create administration
      description: Create a new administration
      operationId: create:administration
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdministrationCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /administration/{id}:
    delete:
      tags:
        - Administration
      summary: Delete administration
      description: Delete a administration
      operationId: delete:administration
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /administrations/{offset}/{amount}:
    get:
      tags:
        - Administration
      summary: Get administrations
      description: Get list of administrations
      operationId: get:administrations
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministrationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Administration
      summary: Get administrations
      description: Search list of administrations based on query and params
      operationId: search:administrations
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdministrationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transactions/date/{startDate}/{endDate}:
    get:
      tags:
        - Transaction
      summary: Get all transactions
      description: Get all the transactions by offset and amount
      operationId: handle_38
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: startDate
          in: path
          required: true
          schema:
            type: string
        - name: endDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transaction/{id}:
    get:
      tags:
        - Transaction
      summary: Get transaction
      description: Get transaction by ID
      operationId: handle_39
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transactions/user/{user}/{offset}/{amount}:
    get:
      tags:
        - Transaction
      summary: Get all transactions
      description: Get all the transactions by offset and amount
      operationId: handle_40
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: business
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transactions/business/{business}/{offset}/{amount}:
    get:
      tags:
        - Transaction
      summary: Get all transactions
      description: Get all the transactions by offset and amount
      operationId: handle_41
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: user
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transactions/{offset}/{amount}:
    get:
      tags:
        - Transaction
      summary: Get all transactions
      description: Get all the transactions by offset and amount
      operationId: handle_42
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /alert:
    put:
      tags:
        - Alert
      summary: Update alert
      description: Update a alert
      operationId: handle_47
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Alert'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Alert
      summary: Create alert
      description: Create a new alert
      operationId: handle_43
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Alert'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /alert/{id}:
    get:
      tags:
        - Alert
      summary: Get alert
      description: Get a alert on id
      operationId: handle_45
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Alert
      summary: Delete alert
      description: Delete a alert
      operationId: handle_44
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /alerts/{offset}/{amount}:
    get:
      tags:
        - Alert
      summary: Get alerts
      description: Get list of alerts
      operationId: handle_48
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Alert
      summary: Get alerts
      description: Get list of alerts
      operationId: handle_46
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /publisher:
    put:
      tags:
        - Publisher
      summary: Update publisher
      description: Update a publisher
      operationId: handle_54
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Publisher'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublisherResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Publisher
      summary: Create publisher
      description: Create a new publisher
      operationId: handle_49
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Publisher'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublisherResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /publisher/{id}:
    get:
      tags:
        - Publisher
      summary: Get publisher
      description: Get a publisher on id
      operationId: handle_51
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublisherResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Publisher
      summary: Delete publisher
      description: Delete a publisher
      operationId: handle_50
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublisherResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /publishers/{offset}/{amount}:
    get:
      tags:
        - Publisher
      summary: Get publishers
      description: Get list of publishers
      operationId: handle_52
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Publisher
      summary: Get publishers
      description: Get list of publishers
      operationId: handle_53
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /app:
    put:
      tags:
        - App
      summary: Update app
      description: Update a app
      operationId: handle_61
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - App
      summary: Create app
      description: Create a new app
      operationId: handle_55
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /app/{id}/version:
    post:
      tags:
        - App
      summary: Create app
      description: Create a new app
      operationId: handle_56
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /app/{id}:
    get:
      tags:
        - App
      summary: Get app
      description: Get a app on id
      operationId: handle_58
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - App
      summary: Delete app
      description: Delete a app
      operationId: handle_57
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /apps/{offset}/{amount}:
    get:
      tags:
        - App
      summary: Get apps
      description: Get list of apps
      operationId: handle_59
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - App
      summary: Get apps
      description: Get list of apps
      operationId: handle_60
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /attribute:
    put:
      tags:
        - Attribute
      summary: Update attribute
      description: Update a attribute
      operationId: handle_68
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttributeModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Attribute
      summary: Create attribute
      description: Create a new attribute
      operationId: handle_62
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttributeCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /attribute/{id}:
    get:
      tags:
        - Attribute
      summary: Get attribute
      description: Get a attribute on id
      operationId: handle_64
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Attribute
      summary: Delete attribute
      description: Delete a attribute
      operationId: handle_63
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /attributes/{offset}/{amount}:
    get:
      tags:
        - Attribute
      summary: Get attributes
      description: Get list of attributes
      operationId: handle_65
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Attribute
      summary: Get attributes
      description: Get list of attributes
      operationId: handle_67
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /attributes:
    put:
      tags:
        - Attribute
      summary: Update attribute
      description: Update a attribute
      operationId: handle_66
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Attribute'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttributesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ban:
    put:
      tags:
        - Ban
      summary: Update Ban
      description: Update a Ban
      operationId: handle_77
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BanModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Ban
      summary: Create Ban
      description: Create a new Ban
      operationId: handle_69
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BanCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /ban/{id}:
    get:
      tags:
        - Ban
      summary: Get Ban
      description: Get a Ban on id
      operationId: handle_74
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Ban
      summary: Delete Ban
      description: Delete a Ban
      operationId: handle_70
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BanResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /bans/actor/{id}/{offset}/{amount}:
    get:
      tags:
        - Ban
      summary: Get bans filtered by actor
      description: Get list of Bans
      operationId: handle_71
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BansResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /bans/business/{id}/{offset}/{amount}:
    get:
      tags:
        - Ban
      summary: Get bans filtered by business
      description: Get list of Bans
      operationId: handle_72
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BansResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /bans/chauffeur/{id}/{offset}/{amount}:
    get:
      tags:
        - Ban
      summary: Get bans filtered by chauffeur
      description: Get list of Bans
      operationId: handle_73
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BansResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /bans/{offset}/{amount}:
    get:
      tags:
        - Ban
      summary: Get Bans
      description: Get list of Bans
      operationId: handle_75
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BansResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Ban
      summary: Get Bans
      description: Get list of Bans
      operationId: handle_76
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BansResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board:
    post:
      tags:
        - Board
      summary: Create board
      description: Create a new board
      operationId: create:board
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/{id}:
    get:
      tags:
        - Board
      summary: Get board
      description: Get a board on id
      operationId: get:board
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Board
      summary: Update board
      description: Update a board
      operationId: update:board
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Board
      summary: Delete board
      description: Delete a board
      operationId: delete:board
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /boards/{offset}/{amount}:
    get:
      tags:
        - Board
      summary: Get boards
      description: Get list of boards
      operationId: get:boards
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Board
      summary: Get Boards
      description: Search list of chauffeurs based on query and params
      operationId: search:boards
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /booking:
    put:
      tags:
        - Booking
      summary: Update booking
      description: Update a booking
      operationId: handle_83
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Booking
      summary: Create booking
      description: Create a new booking
      operationId: handle_78
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /booking/{id}:
    get:
      tags:
        - Booking
      summary: Get booking
      description: Get a booking on id
      operationId: handle_80
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Booking
      summary: Delete booking
      description: Delete a booking
      operationId: handle_79
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /bookings/{offset}/{amount}:
    get:
      tags:
        - Booking
      summary: Get bookings
      description: Get list of bookings
      operationId: handle_81
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Booking
      summary: Get bookings
      description: Get list of bookings
      operationId: handle_82
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /business:
    put:
      tags:
        - Business
      summary: Update business
      description: Update a business
      operationId: update:business
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Business'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Business
      summary: Create business
      description: Create a new business
      operationId: create:business
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /business/{id}:
    get:
      tags:
        - Business
      summary: Get business
      description: Get a business on id
      operationId: get:business
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Business
      summary: Delete business
      description: Delete a business
      operationId: delete:business
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /businesses/{offset}/{amount}:
    get:
      tags:
        - Business
      summary: Get businesses
      description: Get list of businesses
      operationId: create:businesses
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Business
      summary: Get businesss
      description: Get list of businesss
      operationId: create:businesss
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /business/{id}/unverify:
    get:
      tags:
        - Business
      summary: Verify business
      description: Verify a business on id
      operationId: verify:business
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /business/{id}/verify:
    get:
      tags:
        - Business
      summary: Verify business
      description: Verify a business on id
      operationId: verify:business_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{vehicle_id}/camera:
    post:
      tags:
        - Camera
      summary: Create new camera for a Vehicle
      description: Create new camera for a Vehicle
      operationId: handle_84
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: vehicle_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CameraResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle:camera/{id}:
    get:
      tags:
        - Camera
      summary: Get Camera
      description: Get a camera on id
      operationId: handle_86
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CameraResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Camera
      summary: Update Camera
      description: Update Camera
      operationId: handle_88
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CameraResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Camera
      summary: Delete Camera
      description: Delete a Camera
      operationId: handle_85
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CameraResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{vehicle_id}/cameras:
    get:
      tags:
        - Camera
      summary: Get Cameras by vehicle Id
      description: Get list of cameras
      operationId: handle_87
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: vehicle_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CamerasResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /capacityContract:
    put:
      tags:
        - CapacityContract
      summary: Update a capacityContract
      description: Update a capacityContract specified by id
      operationId: update:capacityContract
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityContract'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - CapacityContract
      summary: Create capacityContract
      description: Create a new capacityContract for a specified scheduledCapacity by id.
      operationId: create:capacityContract
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityContract'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/capacityContract:
    post:
      tags:
        - CapacityContract
      summary: Create capacityContract
      description: Create a new capacityContract for a specified scheduledCapacity by id.
      operationId: create:capacityContract_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityContract'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /capacityContract/{id}:
    get:
      tags:
        - CapacityContract
      summary: Get a capacityContract
      description: Get a capacityContract by id
      operationId: get:capacityContract
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - CapacityContract
      summary: Delete capacityContract
      description: Delete a new capacityContract
      operationId: delete:capacityContract
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /capacity/contracts/{offset}/{amount}:
    get:
      tags:
        - CapacityContract
      summary: Get a capacityContracts
      description: Get a list capacityContracts from offset, and of given amount
      operationId: get:capacityContracts
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: string
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - CapacityContract
      summary: Search capacity contracts
      description: Get a list capacityContracts from offset, and of given amount
      operationId: search:capacityContracts
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: string
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityContractsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /capacity:
    post:
      tags:
        - Capacity
      summary: Create capacity
      description: Create a capacity within a schedule specified by id.
      operationId: handle_89
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /capacity/{id}:
    get:
      tags:
        - Capacity
      summary: Get capacity
      description: Get a capacity within a schedule specified by id.
      operationId: handle_92
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Capacity
      summary: Update capacity
      description: Update a capacity within a schedule specified by id.
      operationId: handle_93
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Capacity
      summary: Delete capacity
      description: Delete a capacity specified by id.
      operationId: handle_90
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /capacities/{offset}/{amount}:
    get:
      tags:
        - Capacity
      summary: Get capacities
      description: Get a list of capacities from offset to amount.
      operationId: handle_91
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: string
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /certificate:
    put:
      tags:
        - Certificate
      summary: Update Certificate
      description: Update a Certificate
      operationId: handle_101
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Certificate
      summary: Create Certificate
      description: Create a new Certificate
      operationId: handle_94
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /certificate/{id}:
    get:
      tags:
        - Certificate
      summary: Get Certificate
      description: Get a Certificate on id
      operationId: handle_98
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Certificate
      summary: Delete Certificate
      description: Delete a Certificate
      operationId: handle_95
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /certificates/business/{id}/{offset}/{amount}:
    get:
      tags:
        - Certificate
      summary: Get certificates for a Business
      description: Get list of Certificates
      operationId: handle_96
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /certificates/chauffeur/{id}/{offset}/{amount}:
    get:
      tags:
        - Certificate
      summary: Get certificates for a Chauffeur
      description: Get list of Certificates
      operationId: handle_97
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /certificates/{offset}/{amount}:
    get:
      tags:
        - Certificate
      summary: Get Certificates
      description: Get list of Certificates
      operationId: handle_99
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Certificate
      summary: Get Certificates
      description: Get list of Certificates
      operationId: handle_100
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/message:
    put:
      tags:
        - Chat
      summary: Update message
      description: Create a new message
      operationId: handle_112
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateChatMessageRoute'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chat
      summary: Create chat message
      description: Create a new chat message
      operationId: handle_102
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateChatRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/message/{id}:
    get:
      tags:
        - Chat
      summary: Get message
      description: Get message by ID
      operationId: handle_104
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Chat
      summary: Delete message
      description: Delete message by ID
      operationId: handle_103
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/messages/{id}/{offset}/{amount}:
    get:
      tags:
        - Chat
      summary: Get all chats
      description: Get all the chats by offset and amount
      operationId: handle_105
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chat
      summary: Search all chats
      description: Search all the chats by offset and amount
      operationId: handle_111
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/message:translate/{id}:
    get:
      tags:
        - Chat
      summary: Get translated message
      description: Get a translated version of the  message by ID
      operationId: handle_106
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/message/{id}/read:
    get:
      tags:
        - Chat
      summary: Read message
      description: read message by ID
      operationId: handle_107
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/messages/read:
    post:
      tags:
        - Chat
      summary: Read message
      description: read message by ID
      operationId: handle_108
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReadMessagesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/message/{id}/received:
    get:
      tags:
        - Chat
      summary: Received message
      description: Received message by ID
      operationId: handle_109
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/messages/received:
    post:
      tags:
        - Chat
      summary: Received message
      description: Received message by ID
      operationId: handle_110
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceivedMessagesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageTemplate:
    put:
      tags:
        - MessageTemplate
      summary: Update messageTemplate
      description: Update a messageTemplate
      operationId: update:messageTemplate
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageTemplate'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - MessageTemplate
      summary: Create messageTemplate
      description: Create a new messageTemplate
      operationId: create:messageTemplate
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageTemplate'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageTemplate/{id}:
    get:
      tags:
        - MessageTemplate
      summary: Get messageTemplate
      description: Get a messageTemplate on id
      operationId: get:messageTemplate
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - MessageTemplate
      summary: Delete messageTemplate
      description: Delete a messageTemplate
      operationId: delete:messageTemplate
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageTemplate/{id}/message/{chat}:
    get:
      tags:
        - MessageTemplate
      summary: Get message from MessageTemplate
      description: Get the generated message from the MessageTemplate and teh context
      operationId: get:messageFromMessageTemplate
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: chat
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageFromMessageTemplateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageTemplates/{offset}/{amount}:
    get:
      tags:
        - MessageTemplate
      summary: Get messageTemplates
      description: Get list of messageTemplates
      operationId: get:messageTemplates
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - MessageTemplate
      summary: Search messageTemplates
      description: Search list of messageTemplates by query and multiple parameters
      operationId: search:messageTemplates
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageTemplatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat:
    put:
      tags:
        - Chat
      summary: Update chat
      description: Create a new Chat
      operationId: handle_119
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateChatRoute'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chat
      summary: Create chat
      description: Create a new Chat
      operationId: handle_113
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateChatRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/{id}:
    get:
      tags:
        - Chat
      summary: Get chat
      description: Get chat by ID
      operationId: handle_115
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Chat
      summary: Delete chat
      description: Delete chat by ID
      operationId: handle_114
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chats/{offset}/{amount}:
    get:
      tags:
        - Chat
      summary: Get all chats
      description: Get all the chats by offset and amount
      operationId: handle_116
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chat
      summary: Get all chats
      description: Get all the chats by offset and amount
      operationId: handle_117
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chat/{id}/unread:
    get:
      tags:
        - Chat
      summary: Unread chat
      description: Unread chat by ID
      operationId: handle_118
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatUserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/activity:
    post:
      tags:
        - Chauffeur
      summary: Create a chauffeur activity
      description: Register a chauffeur activity that either will happen or has happened
      operationId: create:chauffeur:activity
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeurActivityCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurActivityResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur:
    put:
      tags:
        - Chauffeur
      summary: Update chauffeur
      description: Update a chauffeur
      operationId: update:chauffeur
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeurModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chauffeur
      summary: Create chauffeur
      description: Create a new chauffeur
      operationId: create:chauffeur
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeurCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/timeslot:
    put:
      tags:
        - Chauffeur
      summary: Update chauffeur timeslot
      description: Update a chauffeur timeslot
      operationId: update:chauffeur:timeslot
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeurTimeslotModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurTimeslotResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chauffeur
      summary: Create chauffeur timeslot allocation
      description: Allocate a timeslot in the drivers schedule.
      operationId: create:chauffeur:timeslot
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeurTimeslot'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurTimeslotResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/activity/{id}:
    delete:
      tags:
        - Chauffeur
      summary: Delete chauffeur activity
      description: Delete a chauffeur activity allocation
      operationId: delete:chauffeur:activity
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurActivityResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur
      description: Get a chauffeur on id
      operationId: get:chauffeur
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Chauffeur
      summary: Delete chauffeur
      description: Delete a chauffeur
      operationId: delete:chauffeur
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/timeslot/{id}:
    delete:
      tags:
        - Chauffeur
      summary: Delete chauffeur timeslot
      description: Delete a chauffeur timeslot allocation
      operationId: delete:chauffeur:timeslot
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurTimeslotResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}/activities:byDate/{fromDate}/{toDate}:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur activities
      description: Get the activities of  chauffeur
      operationId: get:chauffeur:activities
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurActivitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur:extended/{id}:
    get:
      tags:
        - Chauffeur
      summary: Get extended chauffeur
      description: Get a extended chauffeur on id
      operationId: get:chauffeur:extended
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedChauffeurResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}/timeslots/{fromDate}/{toDate}:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur timeslots
      description: Get list of chauffeurs
      operationId: get:chauffeur:timeslots
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurTimeslotsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}/transportEquipments:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur transportEquipments
      description: Get list of transportEquipments that are related to the chauffeur
      operationId: get:chauffeur:transportEquipments
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurTransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}/trips:byDate/{fromDate}/{toDate}:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur trips
      description: Get the trips of a chauffeur
      operationId: get:chauffeur:trips
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}/trips/{offset}/{amount}:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur trips
      description: Get the trips of a chauffeur
      operationId: get:chauffeur:trips_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeur/{id}/vehicles:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeur vehicles
      description: Get list of vehicles that are related to the chauffeur
      operationId: get:chauffeur:vehicles
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurVehiclesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeurs/{offset}/{amount}:
    get:
      tags:
        - Chauffeur
      summary: Get chauffeurs
      description: Get list of chauffeurs
      operationId: get:chauffeurs
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeursResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chauffeur
      summary: Get chauffeurs
      description: Search list of chauffeurs based on query and params
      operationId: search:chauffeurs
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeursResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeurs/timeslots:
    post:
      tags:
        - Chauffeur
      summary: Get chauffeurs timeslots
      description: Get list of chauffeurs timeslots, grouped by chauffeurs
      operationId: get:chauffeurs:timeslots
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetChauffeursTimeslotsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeursTimeslotsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeurs/trips:byDate/{fromDate}/{toDate}:
    post:
      tags:
        - Chauffeur
      summary: Get chauffeurs trips
      description: Get the trips of  chauffeurs
      operationId: get:chauffeurs:trips
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChauffeurLightTripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /chauffeurs:extended/{offset}/{amount}:
    get:
      tags:
        - Chauffeur
      summary: Get extended chauffeurs
      description: Get list of extended chauffeurs
      operationId: get:chauffeurs:extended
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedChauffeursResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Chauffeur
      summary: Get extended chauffeurs
      description: Search list of extended chauffeurs based on query and params
      operationId: search:chauffeurs:extended
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedChauffeursResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaint:
    put:
      tags:
        - Complaint
      summary: Update Complaint
      description: Update a Complaint
      operationId: handle_130
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComplaintModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Complaint
      summary: Create Complaint
      description: Create a new Complaint
      operationId: handle_120
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComplaintCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaint/{id}:
    get:
      tags:
        - Complaint
      summary: Get Complaint
      description: Get a Complaint on id
      operationId: handle_127
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Complaint
      summary: Delete Complaint
      description: Delete a Complaint
      operationId: handle_121
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaints/business/{id}/{offset}/{amount}:
    get:
      tags:
        - Complaint
      summary: Get complaints against a vehicle
      description: Get list of Complaints
      operationId: handle_122
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaints/chauffeur/{id}/{offset}/{amount}:
    get:
      tags:
        - Complaint
      summary: Get complaints against a Chauffeur
      description: Get list of Complaints Filtered By Chauffeur
      operationId: handle_123
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaints/location/{id}/{offset}/{amount}:
    get:
      tags:
        - Complaint
      summary: Get complaints for a location
      description: Get list of Complaints
      operationId: handle_124
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaints/user/{id}/{offset}/{amount}:
    get:
      tags:
        - Complaint
      summary: Get complaints against a user
      description: Get list of Complaints
      operationId: handle_125
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaints/vehicle/{id}/{offset}/{amount}:
    get:
      tags:
        - Complaint
      summary: Get complaints against a vehicle
      description: Get list of Complaints
      operationId: handle_126
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /complaints/{offset}/{amount}:
    get:
      tags:
        - Complaint
      summary: Get Complaints
      description: Get list of Complaints
      operationId: handle_128
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Complaint
      summary: Get Complaints
      description: Get list of Complaints
      operationId: handle_129
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplaintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignment/{id}/documents:
    put:
      tags:
        - Consignment
      summary: Add documents
      description: Add documents to tripp
      operationId: handle_131
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDocumentsToTripRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignments/combine:
    post:
      tags:
        - Consignment
      summary: Combine consignments
      description: Combine consignments
      operationId: combine:consignment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Consignment'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignment:
    put:
      tags:
        - Consignment
      summary: Update consignment
      description: Update a consignment
      operationId: update:consignment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsignmentModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Consignment
      summary: Create consignment
      description: Create a new consignment
      operationId: create:consignment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsignmentCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignment/{id}:
    get:
      tags:
        - Consignment
      summary: Get consignment
      description: Get a consignment on id
      operationId: get:consignment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Consignment
      summary: Delete consignment
      description: Delete a consignment
      operationId: delete:consignment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignments/{offset}/{amount}:
    get:
      tags:
        - Consignment
      summary: Get consignments
      description: Get list of consignments
      operationId: get:consignments
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Consignment
      summary: Search consignments
      description: Search list of consignments by query and multiple parameters
      operationId: search:consignments
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignment:extended/{id}:
    get:
      tags:
        - Consignment
      summary: Get consignment
      description: Get a consignment on id
      operationId: get:consignment_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consignments/split:
    post:
      tags:
        - Consignment
      summary: Split consignments
      description: Previously combined order -> split into unique consignments
      operationId: split:consignment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitConsignmentsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsignmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /constraint:
    put:
      tags:
        - Constraint
      summary: Update constraint
      description: Update a constraint
      operationId: update:constraint
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConstraintModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstraintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Constraint
      summary: Create constraint
      description: Create a new constraint
      operationId: create:constraint
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConstraintCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstraintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /constraint/{id}:
    get:
      tags:
        - Constraint
      summary: Get constraint
      description: Get a constraint on id
      operationId: get:constraint
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstraintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Constraint
      summary: Delete constraint
      description: Delete a constraint
      operationId: delete:constraint
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstraintResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /constraints/{offset}/{amount}:
    get:
      tags:
        - Constraint
      summary: Get constraints
      description: Get list of constraints
      operationId: create:constraints
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConstraintsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /contract:
    put:
      tags:
        - Contract
      summary: Update contract
      description: Create a new contract
      operationId: handle_136
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Contract
      summary: Create contract
      description: Create a new contract
      operationId: handle_132
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /contract/{id}:
    get:
      tags:
        - Contract
      summary: Get contract
      description: Get contract by ID
      operationId: handle_135
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Contract
      summary: Delete contract
      description: Delete contract by ID
      operationId: handle_133
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /contract/title/{title}:
    get:
      tags:
        - Contract
      summary: Get contract by title
      description: Get contract by ID
      operationId: handle_134
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: title
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /contracts/{offset}/{amount}:
    get:
      tags:
        - Contract
      summary: Get contracts
      description: Get all contracts
      operationId: get:contracts
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Contract
      summary: Search contracts
      description: Search all contracts
      operationId: search:contracts
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /damage:
    put:
      tags:
        - Damage
      summary: Update damage
      description: Update a damage
      operationId: handle_142
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DamageModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DamageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Damage
      summary: Create damage
      description: Create a new damage
      operationId: handle_137
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DamageCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DamageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /damage/{id}:
    get:
      tags:
        - Damage
      summary: Get damage
      description: Get a damage on id
      operationId: handle_139
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DamageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Damage
      summary: Delete damage
      description: Delete a damage
      operationId: handle_138
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DamageResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /damages/{offset}/{amount}:
    get:
      tags:
        - Damage
      summary: Get damages
      description: Get list of damages
      operationId: handle_140
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DamagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Damage
      summary: Get damages
      description: Get list of damages
      operationId: handle_141
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DamagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /document:
    put:
      tags:
        - Document
      summary: Update document
      description: Update a document
      operationId: update:document
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Document
      summary: Create document
      description: Create a new document
      operationId: create:document
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /document/{id}:
    get:
      tags:
        - Document
      summary: Get document
      description: Get a document on id
      operationId: get:document
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Document
      summary: Delete document
      description: Delete a document
      operationId: delete:document
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /documents/{offset}/{amount}:
    get:
      tags:
        - Document
      summary: Get documents
      description: Get list of documents
      operationId: get:documents
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Document
      summary: Get documents
      description: Search list of documents based on query and params
      operationId: search:documents
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /document/{id}/unverify:
    get:
      tags:
        - Document
      summary: Unverify document
      description: Unverify a document on id
      operationId: unverify:document
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /document/{id}/verify:
    get:
      tags:
        - Document
      summary: Verify document
      description: Verify a document on id
      operationId: verify:document
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /event:
    put:
      tags:
        - Event
      summary: Update event
      description: Update a event
      operationId: update:event
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Event
      summary: Create event
      description: Create a new event
      operationId: create:event
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /event/{id}:
    get:
      tags:
        - Event
      summary: Get event
      description: Get a event on id
      operationId: get:event
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Event
      summary: Delete event
      description: Delete a event
      operationId: delete:event
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /events/{offset}/{amount}:
    get:
      tags:
        - Event
      summary: Get events
      description: Get list of events
      operationId: create:events
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Event
      summary: Get events
      description: Get list of events
      operationId: search:events
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /feedback:
    put:
      tags:
        - Feedback
      summary: Update feedback
      description: Create a new feedback
      operationId: handle_148
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Feedback
      summary: Create feedback
      description: Create a new feedback
      operationId: handle_143
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /feedback/{id}:
    get:
      tags:
        - Feedback
      summary: Get feedback
      description: Get feedback by ID
      operationId: handle_145
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Feedback
      summary: Delete feedback
      description: Delete feedback by ID
      operationId: handle_144
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /feedbacks/{offset}/{amount}:
    get:
      tags:
        - Feedback
      summary: Get all feedbacks
      description: Get all the feedbacks by offset and amount
      operationId: handle_146
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbacksResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Feedback
      summary: Get all feedbacks
      description: Get all the feedbacks by offset and amount
      operationId: handle_147
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbacksResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /file/{id}/download:
    get:
      tags:
        - File
      summary: Download file
      description: Download file from ID
      operationId: download:file
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Success
          content:
            image/*: {}
            application/*: {}
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /file/toMatrix:
    post:
      tags:
        - File
      summary: Convert file to HTML
      description: Convert file to HTML. Supported types are .pdf right now
      operationId: toMatrix:file
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/File'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /file/toHtml:
    post:
      tags:
        - File
      summary: Convert file to HTML
      description: Convert file to HTML. Supported types are .pdf right now
      operationId: toMatrix:file_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/File'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /file/{id}:
    get:
      tags:
        - File
      summary: Get file
      description: Get a file on id
      operationId: get:file
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /file/upload:
    post:
      tags:
        - File
      summary: Upload file
      description: 'Upload a new file '
      operationId: upload:file
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /fleet:
    put:
      tags:
        - Fleet
      summary: Update fleet
      description: Update a fleet
      operationId: handle_151
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FleetModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Fleet
      summary: Create fleet
      description: Create a new fleet
      operationId: create:fleet
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FleetCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /fleet/{id}:
    get:
      tags:
        - Fleet
      summary: Get fleet
      description: Get a fleet on id
      operationId: get:fleet
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Fleet
      summary: Delete fleet
      description: Delete a fleet
      operationId: delete:fleet
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /fleets/light:
    get:
      tags:
        - Fleet
      summary: Get fleets
      description: Get list of fleets
      operationId: get:fleets
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetsLightResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /fleets/{offset}/{amount}:
    get:
      tags:
        - Fleet
      summary: Get fleets
      description: Get list of fleets
      operationId: handle_149
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Fleet
      summary: Search fleets
      description: Get list of search based on search parameters
      operationId: handle_150
      parameters:
        - name: Authorization
          in: header
          description: Bearer token
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /currencies:
    get:
      tags:
        - General
      summary: Get Currencies
      description: Get all the currencies available
      operationId: handle_152
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrenciesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Industries not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /entity/{entityType}:
    get:
      tags:
        - General
      summary: Get empty entity structure
      description: Get json empty entity structure by giving
      operationId: handle_153
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: entityType
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyEntityResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /industries:
    get:
      tags:
        - General
      summary: Get Industries
      description: Get all the industries available
      operationId: handle_154
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndustriesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Industries not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /languages:
    get:
      tags:
        - General
      summary: Get Languages
      description: Get all the languages available
      operationId: handle_155
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguagesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Languages not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mappingToJson:
    put:
      tags:
        - General
      summary: Creating JSON from value pairs
      description: >-
        Create JSON object and/or array from the mapping array with the mapping
        path and value
      operationId: handle_156
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MappingToJsonRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MappingToJsonResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /permissions:
    get:
      tags:
        - General
      summary: Get Permissions
      description: Get all the permissions available
      operationId: handle_157
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricingCategories:
    get:
      tags:
        - General
      summary: Get pricing categories
      description: Get all the pricing categories available
      operationId: handle_158
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingCategoriesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - General
      summary: Put pricing categories
      description: Put all the pricing categories
      operationId: handle_160
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingCategoriesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /taxRates:
    get:
      tags:
        - General
      summary: Get TaxRates
      description: Get all the Tax Rates available
      operationId: handle_159
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxRatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - General
      summary: Put TaxRates
      description: Put all the Tax Rates available
      operationId: handle_161
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxRatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Permissions not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /general/{offset}/{amount}:
    post:
      tags:
        - General
      summary: Search any element
      description: Search list of consignments by query and multiple parameters
      operationId: search:general
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /goods:
    put:
      tags:
        - Goods
      summary: Update goods
      description: Update a goods
      operationId: handle_167
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoodsCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Goods
      summary: Create goods
      description: Create a new goods
      operationId: handle_162
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoodsCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /goods/{id}:
    get:
      tags:
        - Goods
      summary: Get goods
      description: Get a goods on id
      operationId: handle_165
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Goods
      summary: Delete goods
      description: Delete a goods
      operationId: handle_163
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /goodss/{offset}/{amount}:
    get:
      tags:
        - Goods
      summary: Get goodss
      description: Get list of goodss
      operationId: handle_164
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodsListResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Goods
      summary: Search goods
      description: Search goods
      operationId: handle_166
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoodsListResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipment:
    put:
      tags:
        - TransportEquipment
      summary: Update transportEquipment
      description: Update a transportEquipment
      operationId: handle_175
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransportEquipment'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - TransportEquipment
      summary: Create transportEquipment
      description: Create a new transportEquipment
      operationId: handle_168
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransportEquipmentModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipment/{id}:
    get:
      tags:
        - TransportEquipment
      summary: Get transportEquipment
      description: Get a transportEquipment on id
      operationId: handle_171
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - TransportEquipment
      summary: Delete transportEquipment
      description: Delete a transportEquipment
      operationId: handle_169
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipments:extended/{offset}/{amount}:
    get:
      tags:
        - TransportEquipment
      summary: Get extended transportEquipments
      description: Get list of extended transportEquipments
      operationId: handle_170
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedTransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - TransportEquipment
      summary: Search transportEquipment
      description: Search transportEquipment
      operationId: handle_173
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedTransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipment/{id}/trips:byDate/{fromDate}/{toDate}:
    get:
      tags:
        - TransportEquipment
      summary: Get transportEquipment transportEquipment
      description: Get the trips of a chauffeur
      operationId: get:transportEquipment:trips
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipment/{id}/trips/{offset}/{amount}:
    get:
      tags:
        - TransportEquipment
      summary: Get transportEquipment trips
      description: Get the trips of a transportEquipment
      operationId: get:transportEquipment:trips_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipments/{offset}/{amount}:
    get:
      tags:
        - TransportEquipment
      summary: Get transportEquipments
      description: Get list of transportEquipments
      operationId: handle_172
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - TransportEquipment
      summary: Search transportEquipment
      description: Search transportEquipment
      operationId: handle_174
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportEquipments/trips:byDate/{fromDate}/{toDate}:
    post:
      tags:
        - TransportEquipment
      summary: Get transportEquipments trips
      description: Get the trips of  transportEquipments
      operationId: get:transportEquipments:trips
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/chauffeurs/actions:byDateRange:
    post:
      tags:
        - Insights
      summary: Get vehicle trips insight
      description: Get the trips a vehicle has done by a date range
      operationId: get:insight
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeursOnTruckByDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightMultiTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/chauffeurs/borderCrossings:byDateRange:
    post:
      tags:
        - Insights
      summary: Get vehicle trips insight
      description: Get the trips a vehicle has done by a date range
      operationId: get:insight_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeursBorderCrossingByDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightMultiTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/chauffeurs/onTruck:byDateRange:
    post:
      tags:
        - Insights
      summary: Get vehicle trips insight
      description: Get the trips a vehicle has done by a date range
      operationId: get:insight_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChauffeursOnTruckByDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightMultiTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/fleet/{id}/moveActions/{startDate}/{endDate}:
    get:
      tags:
        - Insights
      summary: Get vehicles trips insight
      description: Get the trips a list of vehicles have done by a date range
      operationId: get:insight_3
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: startDate
          in: path
          required: true
          schema:
            type: string
        - name: endDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightMultiTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/fleet/{id}/trips/{startDate}/{endDate}:
    get:
      tags:
        - Insights
      summary: Get vehicles trips insight
      description: Get the trips a list of vehicles have done by a date range
      operationId: get:insight_4
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: startDate
          in: path
          required: true
          schema:
            type: string
        - name: endDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightMultiTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/customer/transportOrders:byDateRange:
    post:
      tags:
        - Insights
      summary: Get customer transport order report
      description: Get the information about things done by a user within a date range
      operationId: get:insight_5
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/PerCustomerTransportOrdersByDateRangeRequest
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/users/report:
    post:
      tags:
        - Insights
      summary: Get users' insight
      description: Get the information about things done by a user within a date range
      operationId: get:insight_6
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserReportRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/vehicle/{id}/trips/{startDate}/{endDate}:
    get:
      tags:
        - Insights
      summary: Get vehicle trips insight
      description: Get the trips a vehicle has done by a date range
      operationId: get:insight_7
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: startDate
          in: path
          required: true
          schema:
            type: string
        - name: endDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/vehicles/CO2:byDateRange:
    post:
      tags:
        - Insights
      summary: Get vehicles CO2 insight
      description: Get the trips a vehicle has done by a date range
      operationId: get:insight_8
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VehiclesCO2ByDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/vehicles/sensorValueAtDate:
    post:
      tags:
        - Insights
      summary: Get vehicle trips insight
      description: Get the trips a vehicle has done by a date range
      operationId: get:insight_9
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VehiclesSensorValueAtDateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/vehicles/trips:
    post:
      tags:
        - Insights
      summary: Get vehicles trips insight
      description: Get the trips a list of vehicles have done by a date range
      operationId: get:insight_10
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VehiclesTripsByDateRangeRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightMultiTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /insights/user/welcome-stats:
    get:
      tags:
        - Insights
      summary: Get user's welcome insights for current day
      description: Get user's welcome insights for current day
      operationId: get:insight_11
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsightTableResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration:
    put:
      tags:
        - Integration
      summary: Update integration
      description: Update a integration
      operationId: handle_194
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Integration
      summary: Create integration
      description: Create a new integration
      operationId: handle_176
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}:
    get:
      tags:
        - Integration
      summary: Get integration
      description: Get a integration on id
      operationId: handle_182
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Integration
      summary: Delete integration
      description: Delete a integration
      operationId: handle_177
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/generate/credentials:
    post:
      tags:
        - Integration
      summary: Generate integration credentials
      description: Generate all new integration credentials
      operationId: handle_178
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationCredentials'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationCredentialsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/logs/{offset}/{amount}:
    get:
      tags:
        - Integration
      summary: Get integration logs
      description: Get list of integration logs
      operationId: handle_179
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationLogsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/objects/{offset}/{amount}:
    get:
      tags:
        - Integration
      summary: Get integration logs
      description: Get list of integrations
      operationId: handle_180
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationObjectsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/requestLogs/{offset}/{amount}:
    get:
      tags:
        - Integration
      summary: Get integration request logs
      description: Get list of integration request logs
      operationId: handle_181
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationRequestLogsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/tasks/{offset}/{amount}:
    get:
      tags:
        - Integration
      summary: Get integration tasks
      description: Get list of integration tasks
      operationId: handle_183
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationTasksResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integrations/{offset}/{amount}:
    get:
      tags:
        - Integration
      summary: Get integrations
      description: Get list of integrations
      operationId: handle_184
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Integration
      summary: Get integrations
      description: Get list of integrations
      operationId: handle_191
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/type/{type}/functions:
    get:
      tags:
        - Integration
      summary: Get manual integration functions
      description: Get list of manual integration functions
      operationId: handle_185
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: type
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationFunctionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/import/data:
    post:
      tags:
        - Integration
      summary: Import data
      description: Import data from any format through our mapping tool into the platform
      operationId: handle_186
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportDataIntegrationResponse'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportDataIntegrationRequest'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/dataSource/{dataSourceId}/{token}:
    get:
      tags:
        - Integration
      summary: 'Handle '
      description: Create a new integration
      operationId: handle_187
      parameters:
        - name: X-API-KEY
          in: header
          schema:
            type: string
        - name: X-API-SECRET
          in: header
          schema:
            type: string
        - name: Authorisation
          in: header
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: dataSourceId
          in: path
          required: true
          schema:
            type: string
        - name: token
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/email:
    post:
      tags:
        - Integration
      summary: Handle incoming email
      description: Tne endpoint to receive email data
      operationId: handle_188
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/openId:
    put:
      tags:
        - Integration
      summary: 'Set open id authentication token '
      description: Enable the authentication flow for OpenId by setting the toke
      operationId: handle_189
      parameters:
        - name: token
          in: query
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/{id}/{token}:
    get:
      tags:
        - Integration
      summary: 'Handle '
      description: Create a new integration
      operationId: handle_190
      parameters:
        - name: token
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/dataSource/mapping:test:
    post:
      tags:
        - Integration
      summary: Test DataSource mapping
      description: Ability to test the integration DataSource field mapping response
      operationId: handle_192
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestIntegrationDataSourceMappingResponse'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestIntegrationDataSourceMappingRequest'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/fileTemplate/mapping:test:
    post:
      tags:
        - Integration
      summary: Test fileTemplate mapping
      description: Ability to test the integration fileTemplate field mapping response
      operationId: handle_193
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileTemplateIntegration'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/TestIntegrationFileTemplateMappingResponse
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /integration/file/upload:
    post:
      tags:
        - Integration
      summary: Upload a template file
      description: 'Upload a new file '
      operationId: integration:fileUpload
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationFileTemplateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/{id}/lane:
    post:
      tags:
        - Lane
      summary: Add new Lane in Board
      description: Add new Lane in a Board
      operationId: handle_195
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lane/{id}:
    get:
      tags:
        - Lane
      summary: Get lane
      description: Get a lane on id
      operationId: handle_198
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Lane
      summary: Update Lane
      description: Update Lane
      operationId: handle_202
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Lane
      summary: Delete lane
      description: Delete a lane
      operationId: handle_196
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/{id}/lanes/{offset}/{amount}:
    get:
      tags:
        - ToDo
      summary: Get lanes
      description: Get list of lanes
      operationId: handle_197
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lanes/{offset}/{amount}:
    get:
      tags:
        - Lane
      summary: Get lanes
      description: Get list of lanes
      operationId: handle_199
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Lane
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_200
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lane/{id}/change-position/{position}:
    put:
      tags:
        - Lane
      summary: Update position of Todo in a Lane
      description: Update position of Todo in a Lane
      operationId: handle_201
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: position
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lane/{lane_id}/todo/{id}/change-position/{position}:
    put:
      tags:
        - Lane
      summary: Update position of Todo in a Lane
      description: Update position of Todo in a Lane
      operationId: handle_203
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: lane_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: position
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /location:
    put:
      tags:
        - Location
      summary: Update location
      description: Update a location
      operationId: handle_212
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Location
      summary: Create location
      description: Create a new location
      operationId: handle_204
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /location/{id}:
    get:
      tags:
        - Location
      summary: Get location
      description: Get a location on id
      operationId: handle_209
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Location
      summary: Delete location
      description: Delete a location
      operationId: handle_205
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /location/duplicates:
    post:
      tags:
        - Location
      summary: Find duplicate locations
      description: Find duplicate locations based on location object in body
      operationId: handle_206
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /location/geocode/addressGeoReference:
    post:
      tags:
        - Location
      summary: Geocode from AddressGeoReference
      description: Get coordinates (LatLongPointGeoReference) from AddressGeoReference
      operationId: handle_207
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LatLonPointGeoReferenceResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /location/{id}/action/{type}/duration{average}:
    get:
      tags:
        - Location
      summary: Get location average action duration
      description: Get the average duration of an action type on the location
      operationId: handle_208
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationActionAverageDurationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /locations/{offset}/{amount}:
    get:
      tags:
        - Location
      summary: Get locations
      description: Get list of locations
      operationId: handle_210
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Location
      summary: Get locations
      description: Get list of locations
      operationId: handle_211
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mail/{id}/archive:
    get:
      tags:
        - Mail
      summary: Archive mail
      description: Archive a mail based on id
      operationId: handle_213
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mail:
    put:
      tags:
        - Mail
      summary: Update mail
      description: Update a mail
      operationId: handle_221
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailMessageModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Mail
      summary: Create mail
      description: Create a new mail
      operationId: handle_214
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MailMessageCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mail/{id}/toTransportOrder:
    get:
      tags:
        - Mail
      summary: Convert mail into TransportOrder
      description: 'Convert a mail based on id to a TransportOrder based on the email '
      operationId: handle_215
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailAndTransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mail/{id}:
    get:
      tags:
        - Mail
      summary: Get mail
      description: Get a mail on id
      operationId: handle_217
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Mail
      summary: Delete mail
      description: Delete a mail
      operationId: handle_216
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mails/{offset}/{amount}:
    get:
      tags:
        - Mail
      summary: Get mails
      description: Get list of mails
      operationId: handle_218
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Mail
      summary: Get mails
      description: Get list of mails
      operationId: handle_219
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /mail/{id}/unarchive:
    get:
      tags:
        - Mail
      summary: Unarchive mail
      description: Unarchive a mail based on id
      operationId: handle_220
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /management/financial/{administrationId}/{start}/{end}:
    get:
      tags:
        - Management
      summary: Get financial overview
      description: Get the financial overview
      operationId: handle_222
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: administrationId
          in: path
          required: true
          schema:
            type: string
        - name: start
          in: path
          required: true
          schema:
            type: string
        - name: end
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancialOverviewResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /management/operational/{start}/{end}:
    get:
      tags:
        - Management
      summary: Get operational overview
      description: Get the operational management overview
      operationId: handle_223
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: start
          in: path
          required: true
          schema:
            type: string
        - name: end
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationalOverviewResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /management/operational/tripsPerDay/{start}/{end}:
    get:
      tags:
        - Management
      summary: Get operational trip per day
      description: Get the operational management overview
      operationId: handle_224
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: start
          in: path
          required: true
          schema:
            type: string
        - name: end
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationalTripsPerDayResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageAutomation:
    put:
      tags:
        - MessageAutomation
      summary: Update MessageAutomation
      description: Update MessageAutomation
      operationId: handle_233
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageAutomation'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - MessageAutomation
      summary: Add new MessageAutomation
      description: Add new MessageAutomation
      operationId: handle_225
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageAutomation'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageAutomation/{id}:
    get:
      tags:
        - MessageAutomation
      summary: Get MessageAutomation
      description: Get a MessageAutomation by id
      operationId: handle_229
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - MessageAutomation
      summary: Delete MessageAutomation
      description: Delete a MessageAutomation
      operationId: handle_226
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageAutomation/{id}/duplicate:
    post:
      tags:
        - MessageAutomation
      summary: Duplicate MessageAutomation
      description: Duplicate a MessageAutomation
      operationId: handle_227
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageAutomations/{offset}/{amount}:
    get:
      tags:
        - MessageAutomation
      summary: Get MessageAutomations
      description: Get a MessageAutomations
      operationId: handle_228
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - MessageAutomation
      summary: Get MessageAutomations
      description: Get a MessageAutomations
      operationId: handle_232
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageAutomation/{id}/tasks/{offset}/{amount}:
    get:
      tags:
        - MessageAutomation
      summary: Get MessageAutomation tasks
      description: Get list of MessageAutomation tasks
      operationId: handle_230
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationTasksResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /messageAutomation-templates:
    get:
      tags:
        - MessageAutomation
      summary: Get MessageAutomations
      description: Get a MessageAutomations
      operationId: handle_231
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageAutomationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notification:
    put:
      tags:
        - Notification
      summary: Update notification
      description: Update a new notification
      operationId: handle_242
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Notification'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Notification
      summary: Create notification
      description: Create a new notification
      operationId: handle_234
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notification/{id}:
    get:
      tags:
        - Notification
      summary: Get notification
      description: Get a notification on id
      operationId: handle_236
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Notification
      summary: Delete notification
      description: Delete a notification
      operationId: handle_235
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notifications/{offset}/{amount}:
    get:
      tags:
        - Notification
      summary: Get notifications
      description: Get list of notifications
      operationId: handle_237
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notification/{id}/read:
    get:
      tags:
        - Notification
      summary: Read notification notification by id
      description: Get a notification on id
      operationId: handle_238
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notification/read:
    post:
      tags:
        - Notification
      summary: Read notifications
      description: 'Read notifications by ids '
      operationId: handle_239
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationIdList'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notification/{id}/received:
    get:
      tags:
        - Notification
      summary: Received a notification
      description: Receive a notification by id
      operationId: handle_240
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /notification/received:
    post:
      tags:
        - Notification
      summary: Read notifications
      description: 'Read notifications by ids '
      operationId: handle_241
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationIdList'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform/billing/setup:
    put:
      tags:
        - Platform
      summary: Create platform payment intent
      description: Create a payment intent that will be used for the periodic billing
      operationId: handle_243
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingPaymentIntentRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform/billing/{id}/estimate:
    get:
      tags:
        - Platform
      summary: Get billing estimate
      description: Get an estimate for the next billing month
      operationId: handle_244
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingEstimateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platforms/billing/{id}/{offset}/{amount}:
    get:
      tags:
        - Platform
      summary: Get platform billing invoices
      description: Get list of platform billing invoices
      operationId: handle_245
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform/billing/{id}:
    get:
      tags:
        - Platform
      summary: Get platform billing
      description: Get a platform billing on id
      operationId: handle_246
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platforms/billing/{id}/usageEvents:byDateRange/{start}/{end}:
    get:
      tags:
        - Platform
      summary: Get platform billing usage events by date range
      description: Get list of platform usage events by date range
      operationId: handle_247
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: start
          in: path
          required: true
          schema:
            type: string
        - name: end
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingUsageEventsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platforms/billing/{id}/usageEvents/{offset}/{amount}:
    get:
      tags:
        - Platform
      summary: Get platform billing usage events
      description: Get list of platform usage events
      operationId: handle_248
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingUsageEventsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform/{id}/billing:
    get:
      tags:
        - Platform
      summary: Get platform billing
      description: Get a platform billing by platform id
      operationId: handle_249
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform:
    get:
      tags:
        - Platform
      summary: Get platform
      description: Get a platform on id
      operationId: handle_252
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Platform
      summary: Update platform
      description: Update a new platform
      operationId: handle_256
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Platform
      summary: Create platform
      description: Create a new platform
      operationId: handle_250
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform/{id}:
    get:
      tags:
        - Platform
      summary: Get platform
      description: Get a platform on id
      operationId: handle_253
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Platform
      summary: Delete platform
      description: Delete a platform
      operationId: handle_251
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platforms/{offset}/{amount}:
    get:
      tags:
        - Platform
      summary: Get platforms
      description: Get list of platforms
      operationId: handle_254
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Platform
      summary: Get platforms
      description: Get list of platforms
      operationId: handle_255
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /platform/settings:
    put:
      tags:
        - Platform
      summary: Update platform settings
      description: Update a platform's settings
      operationId: handle_257
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePlatformSettingsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /saml/assertion:
    post:
      tags:
        - SAML
      summary: Assertion Consumer Service for SAMLResponse from IDP
      description: >-
        ACS handles authenticates SAMLResponse (validates authentication &
        assertions) and redirects in response.
      operationId: handle_258
      responses:
        '302':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLAssertResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /saml:
    put:
      tags:
        - SAML
      summary: Update SAML
      description: Update SAML Configuration
      operationId: handle_266
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SAML'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - SAML
      summary: Add new SAML
      description: Add new SAML Configuration
      operationId: handle_259
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SAML'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /saml/{id}:
    get:
      tags:
        - SAML
      summary: Get SAML
      description: Get a SAML Configuration by id
      operationId: handle_263
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - SAML
      summary: Delete SAML
      description: Delete a SAML Configuration
      operationId: handle_260
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /saml/spSamlMetadata/xml:
    post:
      tags:
        - SAML
      summary: Generate Service-Provider's SAML Metadata XML File
      description: Generate XML File based on provided Service-Provider's SAML Metadata.
      operationId: handle_261
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SPSAMLMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SPSAMLMetadataXMLResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /saml/platformSamlMetadata:
    get:
      tags:
        - SAML
      summary: Get Platform SAML Metadata
      description: >-
        Get current platform's SAML Metadata (Issuer, Assertion Consumer Service
        URL, etc.) required for a SAML Configuration.
      operationId: handle_262
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformSAMLMetadataResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /samls/{offset}/{amount}:
    get:
      tags:
        - SAML
      summary: Get SAMLs
      description: Get SAML Configurations
      operationId: handle_264
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - SAML
      summary: Get SAMLs
      description: Get SAML Configurations
      operationId: handle_265
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SAMLsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricing:
    put:
      tags:
        - Pricing
      summary: Update pricing
      description: Update a pricing
      operationId: handle_272
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Pricing
      summary: Create pricing
      description: Create a new pricing
      operationId: handle_267
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricing/{id}:
    get:
      tags:
        - Pricing
      summary: Get pricing
      description: Get a pricing on id
      operationId: handle_269
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Pricing
      summary: Delete pricing
      description: Delete a pricing
      operationId: handle_268
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricings/{offset}/{amount}:
    get:
      tags:
        - Pricing
      summary: Get pricings
      description: Get list of pricings
      operationId: handle_270
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricings/search/{offset}/{amount}:
    post:
      tags:
        - Pricing
      summary: Search pricings
      description: Search list of pricings based on query
      operationId: handle_271
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricingVariableIndex:
    put:
      tags:
        - Pricing
      summary: Update pricing
      description: Update a pricing
      operationId: handle_278
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingVariableIndexModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingVariableIndexResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Pricing
      summary: Create pricing variable index
      description: Create a new pricing variable index
      operationId: handle_273
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingVariableIndexCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingVariableIndexResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricingVariableIndex/{id}:
    get:
      tags:
        - Pricing
      summary: Get pricing variable index
      description: Get a pricing variable index on id
      operationId: handle_275
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingVariableIndexResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Pricing
      summary: Delete pricing variable index
      description: Delete a pricing variable index
      operationId: handle_274
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingVariableIndexResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /pricingVariableIndexes/{offset}/{amount}:
    get:
      tags:
        - Pricing
      summary: Get pricing variable indexes
      description: Get list of pricing variable indexes
      operationId: handle_276
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingVariableIndexesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Pricing
      summary: Search pricing variable indexes
      description: Search list of pricing variable indexes based on query
      operationId: handle_277
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricingVariableIndexesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /route/calculate:
    post:
      tags:
        - Route
      summary: Calculate and create a new route
      description: Calculate and create a new route based on Vehicle and the Georeferences
      operationId: handle_279
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRouteFromActionsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /route/calculate:georeferences:
    post:
      tags:
        - Route
      summary: Calculate and create a new route
      description: Calculate and create a new route based on Vehicle and the Georeferences
      operationId: handle_280
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRouteFromGeoReferencesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /route:
    put:
      tags:
        - Route
      summary: Update route
      description: Update a route
      operationId: handle_286
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouteModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Route
      summary: Create route
      description: Create a new route
      operationId: handle_281
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouteCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /route/{id}:
    get:
      tags:
        - Route
      summary: Get route
      description: Get a route on id
      operationId: handle_283
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Route
      summary: Delete route
      description: Delete a route
      operationId: handle_282
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /routes/{offset}/{amount}:
    get:
      tags:
        - Route
      summary: Get routes
      description: Get list of routes
      operationId: handle_284
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /routes/search/{offset}/{amount}:
    get:
      tags:
        - Route
      summary: Search routes
      description: Search list of routes based on query
      operationId: handle_285
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /routing/calculate/route:
    post:
      tags:
        - Routing
      summary: Calculate a route
      description: Create a new sensor
      operationId: handle_287
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRouteRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateRouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scheduleRoute:
    put:
      tags:
        - ScheduleRoute
      summary: Get scheduleRoutes
      description: Get list of scheduleRoutes
      operationId: handle_293
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRoutesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ScheduleRoute
      summary: Create scheduleRoute
      description: Create a new scheduleRoute
      operationId: handle_288
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduleRoute'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scheduleRoute/{id}:
    get:
      tags:
        - ScheduleRoute
      summary: Get scheduleRoute
      description: Get a scheduleRoute on id
      operationId: handle_290
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ScheduleRoute
      summary: Delete scheduleRoute
      description: Delete a scheduleRoute
      operationId: handle_289
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRouteResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scheduleRoutes/{offset}/{amount}:
    get:
      tags:
        - ScheduleRoute
      summary: Get scheduleRoutes
      description: 'Get the scheduleRoutes with an offset '
      operationId: handle_291
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRoutesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ScheduleRoute
      summary: Get scheduleRoutes
      description: Get list of scheduleRoutes
      operationId: handle_292
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRoutesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensor:
    post:
      tags:
        - Sensor
      summary: Create sensor
      description: Create a new sensor
      operationId: handle_294
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SensorCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensor/{id}:
    get:
      tags:
        - Sensor
      summary: Get sensor
      description: Get a sensor on id
      operationId: handle_296
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Sensor
      summary: Delete sensor
      description: Delete a sensor
      operationId: handle_295
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensor/types:
    get:
      tags:
        - Sensor
      summary: Get sensor types
      description: Get list of sensor types
      operationId: handle_297
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorTypesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensor/{id}/value/{date}:
    get:
      tags:
        - Sensor
      summary: Get sensor update
      description: >-
        Get a sensor update for a specific date and time. It will find the
        closest
      operationId: handle_298
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: date
          in: path
          required: true
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorUpdateResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensors/{id}/updates/{start}/{end}:
    get:
      tags:
        - Sensor
      summary: Get sensor values by date range
      description: Get all sensor updates in a date range
      operationId: handle_299
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: start
          in: path
          required: true
          schema:
            type: string
            format: date-time
        - name: end
          in: path
          required: true
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorUpdatesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensors/{offset}/{amount}:
    get:
      tags:
        - Sensor
      summary: Get sensors
      description: Get list of sensors
      operationId: handle_300
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Sensor
      summary: Get sensors
      description: Get list of sensors
      operationId: handle_301
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /sensors:
    put:
      tags:
        - Sensor
      summary: Get sensors
      description: Get list of sensors
      operationId: handle_302
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SensorModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /serviceCard:
    put:
      tags:
        - ServiceCard
      summary: Update ServiceCard
      description: Update a ServiceCard
      operationId: handle_308
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceCardModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ServiceCard
      summary: Create ServiceCard
      description: Create a new ServiceCard
      operationId: handle_303
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceCardCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /serviceCard/{id}:
    get:
      tags:
        - ServiceCard
      summary: Get ServiceCard
      description: Get a ServiceCard on id
      operationId: handle_306
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ServiceCard
      summary: Delete ServiceCard
      description: Delete a ServiceCard
      operationId: handle_304
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /serviceCards/chauffeur/{id}/{offset}/{amount}:
    get:
      tags:
        - ServiceCard
      summary: Get ServiceCards
      description: Get list of ServiceCards
      operationId: handle_305
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceCardsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/ticket/action:
    put:
      tags:
        - Support
      summary: Update an action
      description: Update an action on a support ticket
      operationId: handle_311
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportTicketActionModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Support
      summary: Create an action
      description: Create an action on a support ticket
      operationId: handle_309
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportTicketActionCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/ticket:
    put:
      tags:
        - Support
      summary: Update support ticket
      description: Update an existing support ticket or create a new one
      operationId: handle_312
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportTicketModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Support
      summary: Create support ticket
      description: Create a support ticket
      operationId: handle_310
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportTicketCreateModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/ticket/{id}:
    get:
      tags:
        - Support
      summary: Get supportTicket
      description: Get a supportTicket on id
      operationId: get:supportTicket
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: token
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/tickets/{status}/{offset}/{amount}:
    get:
      tags:
        - Support
      summary: Search support tickets by status
      description: Search the latest support tickets by status
      operationId: search:supportTicketsByStatus
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: status
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Support
      summary: Get supportTicket
      description: Get a supportTicket on id
      operationId: get:supportTicket_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: status
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/tickets/{offset}/{amount}:
    get:
      tags:
        - Support
      summary: Get supportTicket
      description: Get a supportTicket on id
      operationId: get:supportTickets
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Support
      summary: Get supportTicket
      description: Get a supportTicket on id
      operationId: get:supportTicket_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/ticket/{id}/errors/{offset}/{amount}:
    get:
      tags:
        - Support
      summary: Get supportTicket
      description: Get a supportTicket on id
      operationId: get:supportTicket:errors
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketErrorsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /support/ticket/{id}/requests/{offset}/{amount}:
    get:
      tags:
        - Support
      summary: Get supportTicket
      description: Get a supportTicket on id
      operationId: get:supportTicket:requests
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupportTicketRequestsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tachograph/convert/binary:
    post:
      tags:
        - Tachograph
      summary: Convert tachograph
      description: Convert a new tachograph
      operationId: convert:tachograph
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TachographResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /team:
    put:
      tags:
        - Team
      summary: Update team
      description: Update a team
      operationId: update:team
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Team'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Team
      summary: Create team
      description: Create a new team
      operationId: create:team
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Team'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /team/{id}:
    get:
      tags:
        - Team
      summary: Get team
      description: Get a team on id
      operationId: get:team
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Team
      summary: Delete team
      description: Delete a team
      operationId: delete:team
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /teams/{offset}/{amount}:
    get:
      tags:
        - Team
      summary: Get teams
      description: Get list of teams
      operationId: get:teams
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Team
      summary: Search teams
      description: Search list of teams
      operationId: search:teams
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/bid/{id}/accept:
    get:
      tags:
        - Tender
      summary: Accept tenderBid
      description: Accept a tender bid that has been made
      operationId: accept:tenderBid
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderBidResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/bid/{id}/counter:
    post:
      tags:
        - Tender
      summary: Counter offer
      description: decline and counter offer
      operationId: counter:tender
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenderBid'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderBidResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/{id}/bid:
    post:
      tags:
        - Tender
      summary: Create tender bid
      description: Create a bid on a tender
      operationId: create:tenderBid
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenderBidCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderBidResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender:
    put:
      tags:
        - Tender
      summary: Update tender
      description: Update a tender
      operationId: update:tender
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenderModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Tender
      summary: Create tender
      description: Create a new tender
      operationId: create:tender
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenderCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/bid/{id}/decline:
    post:
      tags:
        - Tender
      summary: Create tender
      description: Create a new tender
      operationId: create:tender_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeclineTenderBidRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/bid/{id}:
    delete:
      tags:
        - Tender
      summary: Delete tender
      description: Delete a tender
      operationId: delete:tender
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/{id}/bids/{offset}/{amount}:
    get:
      tags:
        - Tender
      summary: Get tenders
      description: Get list of tenders
      operationId: get:tenders
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Tender
      summary: Search tender bids
      description: Search list of tenders based on query and params
      operationId: search:tenders
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTenderBidsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tender/{id}:
    get:
      tags:
        - Tender
      summary: Get tender
      description: Get a tender on id
      operationId: get:tender
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tenders/{offset}/{amount}:
    get:
      tags:
        - Tender
      summary: Get tenders
      description: Get list of tenders
      operationId: get:tenders_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Tender
      summary: Get tenders
      description: Search list of tenders based on query and params
      operationId: search:tenders_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTendersRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /terminal:
    put:
      tags:
        - Terminal
      summary: Update terminal
      description: Create a new terminal
      operationId: handle_316
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TerminalModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Terminal
      summary: Create terminal
      description: Create a new terminal
      operationId: handle_313
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TerminalCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /terminal/{id}:
    get:
      tags:
        - Terminal
      summary: Get terminal
      description: Get terminal by ID
      operationId: handle_315
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Terminal
      summary: Delete terminal
      description: Delete terminal by ID
      operationId: handle_314
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /terminals/{offset}/{amount}:
    get:
      tags:
        - Terminal
      summary: Get terminals
      description: Get all terminals
      operationId: get:terminals
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Terminal
      summary: Search terminals
      description: Search all terminals
      operationId: search:terminals
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TerminalsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tire:
    put:
      tags:
        - Tire
      summary: Update Tire
      description: Update a Tire
      operationId: handle_323
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tire'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TireResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Tire
      summary: Create Tire
      description: Create a new Tire
      operationId: handle_317
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tire'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TireResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tire/{id}:
    get:
      tags:
        - Tire
      summary: Get Tire
      description: Get a Tire on id
      operationId: handle_321
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TireResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Tire
      summary: Delete Tire
      description: Delete a Tire
      operationId: handle_318
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TireResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tires/transportEquipment/{id}/{offset}/{amount}:
    get:
      tags:
        - Tire
      summary: Get Tires
      description: Get list of Tires against a TransportEquipment
      operationId: handle_319
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TiresResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tires/vehicle/{id}/{offset}/{amount}:
    get:
      tags:
        - Tire
      summary: Get Tires
      description: Get list of Tires against a vehicle
      operationId: handle_320
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TiresResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /toDo/comment:
    put:
      tags:
        - ToDoComment
      summary: Update toDoComment
      description: Update a toDoComment
      operationId: handle_329
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToDoComment'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoCommentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ToDoComment
      summary: Create toDoComment
      description: Create a new toDoComment
      operationId: handle_324
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToDoComment'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoCommentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /toDo/comment/{id}:
    get:
      tags:
        - ToDoComment
      summary: Get toDoComment
      description: Get a toDoComment on id
      operationId: handle_326
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoCommentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ToDoComment
      summary: Delete toDoComment
      description: Delete a toDoComment
      operationId: handle_325
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoCommentResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /toDo/{id}/comments/{offset}/{amount}:
    get:
      tags:
        - ToDoComment
      summary: Get toDoComments
      description: Get list of toDoComments
      operationId: handle_327
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoCommentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ToDoComment
      summary: Get toDoComments
      description: Get list of toDoComments
      operationId: handle_328
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoCommentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lane/{id}/todo:
    post:
      tags:
        - Lane
      summary: Add new Todo in Lane
      description: Add new Todo in a Lane
      operationId: handle_330
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToDoModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaneResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lane/todo/{id}:
    get:
      tags:
        - ToDo
      summary: Get toDo
      description: Get a toDo on id
      operationId: handle_332
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - ToDo
      summary: Update todo
      description: Update a todo
      operationId: handle_341
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToDoModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ToDo
      summary: Delete toDo
      description: Delete a toDo
      operationId: handle_331
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /todo:statistics:
    get:
      tags:
        - ToDo
      summary: Get statistics
      description: Get to do statistics
      operationId: handle_333
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoStatisticsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /todos:byDateRange/{fromDate}/{toDate}:
    get:
      tags:
        - ToDo
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_334
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDosResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /todos:byEntity/{entityType}/{entityId}/{offset}/{amount}:
    get:
      tags:
        - ToDo
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_335
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: entityType
          in: path
          required: true
          schema:
            type: string
        - name: entityId
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDosResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /board/lane/todos/{offset}/{amount}:
    get:
      tags:
        - ToDo
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_336
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDosResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ToDo
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_340
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDosResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /todo:statistics/user/{id}:
    get:
      tags:
        - ToDo
      summary: Get user statistics
      description: Get to do user statistics
      operationId: handle_337
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDoStatisticsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /todos:byDateRange/user/{user}/{fromDate}/{toDate}:
    get:
      tags:
        - ToDo
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_338
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: user
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDosResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /todos/user/{user}/{offset}/{amount}:
    get:
      tags:
        - ToDo
      summary: Get toDos
      description: Get list of toDos
      operationId: handle_339
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: user
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToDosResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tql/fields/{entityType}/{keyword}/{offset}:
    get:
      tags:
        - TQL
      summary: Get fields
      description: Get list of toDos
      operationId: handle_342
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: entityType
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: string
        - name: keyword
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FieldsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tql/fields/{entityType}:
    get:
      tags:
        - TQL
      summary: Get fields
      description: Get list of toDos
      operationId: handle_343
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: entityType
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FieldsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tql/query:
    post:
      tags:
        - TQL
      summary: Execute TQL Query
      description: Execute a TQL query with a list result
      operationId: handle_344
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tql/fields/{entityType}/{keyword}/{offset}/{amount}:
    get:
      tags:
        - TQL
      summary: Search for fields
      description: Get list of fields that match the given keyword
      operationId: handle_345
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: entityType
          in: path
          required: true
          schema:
            type: string
        - name: keyword
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FieldsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/accept:
    get:
      tags:
        - TransportOrder
      summary: Accept TransportOrder
      description: Accept a requested transport order
      operationId: accept:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/cancel:
    get:
      tags:
        - TransportOrder
      summary: Cancel TransportOrder
      description: Cancel a requested transport order
      operationId: cancel:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/from-documents:
    post:
      tags:
        - TransportOrder
      summary: Create transportOrder from documents
      description: Create a new transportOrder from documents
      operationId: create:transportOrder:fromDocument
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransportOrderFromDocumentsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder:
    put:
      tags:
        - TransportOrder
      summary: Update transportOrder
      description: Update a transportOrder
      operationId: update:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransportOrder'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - TransportOrder
      summary: Create transportOrder
      description: Create a new transportOrder
      operationId: create:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransportOrderCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/decline:
    get:
      tags:
        - TransportOrder
      summary: Decline TransportOrder
      description: Decline a requested transport order
      operationId: decline:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}:
    get:
      tags:
        - TransportOrder
      summary: Get transportOrder
      description: Get a transportOrder on id
      operationId: get:transportOrder_4
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - TransportOrder
      summary: Delete transportOrder
      description: Delete a transportOrder
      operationId: delete:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/duplicate:
    get:
      tags:
        - TransportOrder
      summary: Duplicate transportOrder
      description: Duplicate a TransportOrder to a new transport order
      operationId: duplicate:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/mail/receiver:
    put:
      tags:
        - TransportOrder
      summary: Create transportOrder from Email
      description: Create transportOrder from Email
      operationId: create:transportOrder:fromMail
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrdersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder:extended/{id}:
    get:
      tags:
        - TransportOrder
      summary: Get extended transportOrder
      description: Get a transportOrder on id with extended information
      operationId: get:transportOrder
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedTransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrders:extended/{status}/{offset}/{amount}:
    get:
      tags:
        - TransportOrder
      summary: Get transportOrders with status
      description: Get list of transportOrders with a specific status
      operationId: get:transportOrder_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: status
          in: path
          required: true
          schema:
            type: string
            enum:
              - requested
              - accepted
              - calculated_trip
              - partially_planned
              - planned
              - actual
              - realized
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: types
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrdersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder:extended/{id}/{shareCode}:
    get:
      tags:
        - TransportOrder
      summary: Get transportOrder
      description: Get a transportOrder on id with extended information
      operationId: get:transportOrder_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedTransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/{shareCode}:
    get:
      tags:
        - TransportOrder
      summary: Get transportOrder
      description: Get a transportOrder on id with extended information
      operationId: get:transportOrder_3
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrders/{offset}/{amount}:
    get:
      tags:
        - TransportOrder
      summary: Get transportOrders
      description: Get list of transportOrders
      operationId: get:transportOrder_5
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: types
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrdersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - TransportOrder
      summary: Get transportOrders
      description: Get list of transportOrders
      operationId: search:transportOrders_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: types
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTransportOrdersRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrdersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrders/{status}/{offset}/{amount}:
    get:
      tags:
        - TransportOrder
      summary: Get transportOrders with status
      description: Get list of transportOrders with a specific status
      operationId: get:transportOrder_6
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: status
          in: path
          required: true
          schema:
            type: string
            enum:
              - requested
              - accepted
              - calculated_trip
              - partially_planned
              - planned
              - actual
              - realized
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: types
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrdersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrders:extended/{offset}/{amount}:
    post:
      tags:
        - TransportOrder
      summary: Get transportOrders
      description: Get list of transportOrders
      operationId: search:transportOrders
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: types
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchTransportOrdersRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrdersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /transportOrder/{id}/tender:
    post:
      tags:
        - TransportOrder
      summary: TransportOrder to Tender
      description: TransportOrder to Tender on id
      operationId: transportOrder:tender
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOrderResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/documents:
    put:
      tags:
        - Trip
      summary: Add documents
      description: Add documents to tripp
      operationId: handle_346
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDocumentsToTripRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/cancel:
    get:
      tags:
        - Trip
      summary: Cancel a trip
      description: >-
        Cancel a trip, realize all actions below, remove from Vehicle and change
        Consignment status
      operationId: handle_347
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trips/cancel:
    post:
      tags:
        - Trip
      summary: Cancel trips
      description: Cancel a list of trips
      operationId: handle_348
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TripIdsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/confirm:
    get:
      tags:
        - Trip
      summary: Confirm a trip
      description: Confirming a trip and detaching it to the vehicle
      operationId: handle_349
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trips/confirm:
    post:
      tags:
        - Trip
      summary: Confirm trips
      description: Confirm a list of trips
      operationId: handle_350
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TripIdsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/optimizer:
    post:
      tags:
        - Trip
      summary: Create trips
      description: Create a new trip
      operationId: handle_351
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOptimizedTripsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOptimizedTripsRequest'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip:route:
    post:
      tags:
        - Trip
      summary: Create trip and generate route
      description: 'Create a new trip and calculate a route '
      operationId: handle_352
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trip'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip:
    put:
      tags:
        - Trip
      summary: Update trip
      description: Update a trip
      operationId: handle_363
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trip'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Trip
      summary: Create trip
      description: Create a new trip
      operationId: handle_353
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trip'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trips:
    put:
      tags:
        - Trip
      summary: Update trips
      description: Update a list of trips
      operationId: handle_364
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TripsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Trip
      summary: Create trip
      description: Create a new trip
      operationId: handle_354
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TripsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}:
    get:
      tags:
        - Trip
      summary: Get trip
      description: Get a trip on id
      operationId: handle_359
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Trip
      summary: Delete trip
      description: Delete a trip
      operationId: handle_355
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/finish/{nextId}/start:
    get:
      tags:
        - Trip
      summary: Finish a trip and start a new trip
      description: Finish a trip and start a new one
      operationId: handle_356
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: nextId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/finish:
    get:
      tags:
        - Trip
      summary: Finish a trip
      description: Finishing a trip and detaching it to the vehicle
      operationId: handle_357
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/{shareCode}:
    get:
      tags:
        - Trip
      summary: Get trip
      description: Get a trip on id
      operationId: handle_358
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: shareCode
          in: path
          required: true
          schema:
            type: string
            description: (Optional) share code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trips/{offset}/{amount}:
    get:
      tags:
        - Trip
      summary: Get trips
      description: Get list of trips
      operationId: handle_360
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Trip
      summary: Search trips
      description: Get list of trips through a search
      operationId: handle_361
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/start:
    get:
      tags:
        - Trip
      summary: Start a trip
      description: Starting a trip and attaching it to the vehicle
      operationId: handle_362
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/action/{actionId}:
    put:
      tags:
        - Trip
      summary: Update action lifeCycle
      description: Update an actions lifeCycle, this includes all child actions
      operationId: update:trip:action
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: actionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTripActionTimesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/action:
    put:
      tags:
        - Trip
      summary: Update action times
      description: Update an actions lifeCycle, this includes all child actions
      operationId: update:trip:action_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTripActionRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /trip/{id}/action/{actionId}/times:
    put:
      tags:
        - Trip
      summary: Update action times
      description: Update an actions lifeCycle, this includes all child actions
      operationId: update:trip:action_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: actionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTripActionTimesRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /type:
    put:
      tags:
        - Type
      summary: Update type
      description: Create a new type
      operationId: handle_370
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypeModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Type
      summary: Create type
      description: Create a new type
      operationId: handle_365
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TypeCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /type/{id}:
    get:
      tags:
        - Type
      summary: Get type
      description: Get type by ID
      operationId: handle_367
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Type
      summary: Delete type
      description: Delete type by ID
      operationId: handle_366
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypeResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /types/{offset}/{amount}:
    get:
      tags:
        - Type
      summary: Get all types
      description: Get all the types by offset and amount
      operationId: handle_368
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Type
      summary: Get all types
      description: Get all the types by offset and amount
      operationId: handle_369
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TypesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/block/{id}:
    post:
      tags:
        - User
      summary: Block user
      description: Block a user from the platform
      operationId: handle_371
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json: {}
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user:
    get:
      tags:
        - User
      summary: Get the logged in user
      description: Get the currently logged in user
      operationId: handle_381
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - User
      summary: Update the user
      description: >-
        Update the password of the currently logged in user. The current
        password has to be known for this change
      operationId: handle_395
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - User
      summary: Create a new user
      description: >-
        Invite a new user to the platform through an invitation e-mail, the user
        has to reset his password.
      operationId: handle_372
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/{id}:
    get:
      tags:
        - User
      summary: Get the user by id
      description: Get a user by the given ID
      operationId: handle_379
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - User
      summary: Unblock a user
      description: Unblock a user from the platform
      operationId: handle_373
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json: {}
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/fcm:
    post:
      tags:
        - User
      summary: Add FCM device
      description: Add a device FCM token for a user. This enables notification sending
      operationId: handle_374
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserFCMRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserFCMResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/forgot:
    post:
      tags:
        - User
      summary: Start of recovering password
      description: The start of recovering
      operationId: handle_375
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserForgotRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/email/exists/{email}:
    post:
      tags:
        - User
      summary: Get if the e-mail exists yes or no
      description: Check if an e-mail is already in use for another user
      operationId: handle_376
      parameters:
        - name: email
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExistsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/session:
    get:
      tags:
        - User
      summary: Get a user active session by login token
      description: >-
        Get a user active session by active 'login attempt session''s token.
        Note: 'login attempt session' is a session for any specific login
        attemptSuch sessions would usually have short time window, hence
        endpoint usable only in that short duration.
      operationId: handle_377
      parameters:
        - name: token
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/sessions:
    get:
      tags:
        - User
      summary: 'Get a user active session '
      description: Get the currently active sessions for a user
      operationId: handle_378
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/login-method:
    post:
      tags:
        - User
      summary: 'Get the login method '
      description: Get the login method to be used for this users authentication
      operationId: handle_380
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserLoginMethodRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserLoginMethodResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/username/exists/{username}:
    post:
      tags:
        - User
      summary: Get if the username exists yes or no
      description: Check if the given username is already in use for another user
      operationId: handle_382
      parameters:
        - name: username
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExistsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /users/{offset}/{amount}:
    get:
      tags:
        - User
      summary: Get all the users
      description: Get all users
      operationId: handle_383
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - User
      summary: Search users by search parameters
      description: 'Search users by search parameters and '
      operationId: handle_392
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/invite:
    post:
      tags:
        - User
      summary: Invite a new user to the platform
      description: >-
        Invite a new user to the platform through an invitation e-mail, the user
        has to reset his password.
      operationId: handle_384
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteUserRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/login:otp:
    post:
      tags:
        - User
      summary: User login otp
      description: Authenticate a user with the OTP
      operationId: handle_385
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginUserOtpRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/login:
    post:
      tags:
        - User
      summary: User login
      description: Authenticate a user by logging in
      operationId: handle_386
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginUserRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/logout/all:
    get:
      tags:
        - User
      summary: Log all user session out
      description: >-
        End the all the sessions of the logged in user. Meaning over all devices
        the sessions are invalidated
      operationId: handle_387
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/logout:
    get:
      tags:
        - User
      summary: Log user out
      description: End the current session of the logged in user
      operationId: handle_388
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/recover:
    post:
      tags:
        - User
      summary: Recover user login details
      description: Authenticate a user by logging in
      operationId: handle_389
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRecoverRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/register:
    post:
      tags:
        - User
      summary: Register user
      description: Register a new user
      operationId: handle_390
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRegisterRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserFCMResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/register/request:
    post:
      tags:
        - User
      summary: Request register user
      description: Register a new user
      operationId: handle_391
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRegisterRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserFCMResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/unblock/{id}:
    post:
      tags:
        - User
      summary: Unblock a user
      description: Unblock a user from the platform
      operationId: handle_393
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json: {}
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/password:
    put:
      tags:
        - User
      summary: Update logged in user password
      description: >-
        Update the password of the currently logged in user. The current
        password has to be known for this change
      operationId: handle_394
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePasswordRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/2fa/disable:
    post:
      tags:
        - User
      summary: Setup a users 2FA
      description: Get the 2FA QR image and the recovery codes
      operationId: handle_396
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User2FASetupResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/2fa/recover:
    post:
      tags:
        - User
      summary: Recover 2FA
      description: Recover your account with a recovery code
      operationId: handle_397
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User2FARecoverRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User2FARecoveryResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/2fa/setup:
    post:
      tags:
        - User
      summary: Setup a users 2FA
      description: Get the 2FA QR image and the recovery codes
      operationId: handle_398
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User2FASetupResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/2fa/verify:
    post:
      tags:
        - User
      summary: Verify 2FA code
      description: >-
        Verify an incoming 2FA code. In case of a first save this endpoint will
        also enable the 2FA
      operationId: handle_399
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User2FAVerifyRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User2FAVerifyResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /user/{id}/verify/{token}:
    get:
      tags:
        - User
      summary: Verify e-mail address
      description: End the current session of the logged in user
      operationId: handle_400
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: token
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserStatusResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /role:
    put:
      tags:
        - User roles
      summary: Update role
      description: Update an existing role
      operationId: handle_405
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - User roles
      summary: Create role
      description: Create a new role
      operationId: handle_401
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleResponse'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - User roles
      summary: Delete role
      description: Delete an existing role
      operationId: handle_402
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRoleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /roles/{offset}/{amount}:
    get:
      tags:
        - User roles
      summary: Get all the users
      description: Get all users
      operationId: handle_403
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRolesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - User roles
      summary: Search all the roles
      description: Search all the roles based on search parameters
      operationId: handle_404
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRolesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /settings:
    get:
      tags:
        - Settings
      summary: Get settings
      description: Get a users settings
      operationId: handle_406
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - Settings
      summary: Update settings
      description: Update user settings
      operationId: handle_407
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SettingsModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /boardComputer:
    put:
      tags:
        - BoardComputer
      summary: Update boardComputer
      description: Update a boardComputer
      operationId: update:boardComputer
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardComputer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardComputerResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - BoardComputer
      summary: Create boardComputer
      description: Create a new boardComputer
      operationId: create:boardComputer
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardComputerCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardComputerResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /boardComputer/{id}:
    get:
      tags:
        - BoardComputer
      summary: Get boardComputer
      description: Get a boardComputer on id
      operationId: get:boardComputer
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardComputerResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - BoardComputer
      summary: Delete boardComputer
      description: Delete a boardComputer
      operationId: delete:boardComputer
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardComputerResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /boardComputers/{offset}/{amount}:
    get:
      tags:
        - BoardComputer
      summary: Get boardComputers
      description: Get list of boardComputers
      operationId: get:boardComputers
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardComputersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - BoardComputer
      summary: Get boardComputers
      description: Get list of boardComputers
      operationId: search:boardComputers
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardComputersResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle:
    put:
      tags:
        - Vehicle
      summary: Update vehicle
      description: Update a vehicle
      operationId: update:vehicle
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Vehicle'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Vehicle
      summary: Create vehicle
      description: Create a new vehicle
      operationId: create:vehicle
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Vehicle'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle
      description: Get a vehicle on id
      operationId: get:vehicle_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Vehicle
      summary: Delete vehicle
      description: Delete a vehicle
      operationId: delete:vehicle
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/extended/{id}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle
      description: Get a vehicle on id
      operationId: get:vehicle
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedVehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicles/extended/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get ExtendedVehicles
      description: Get list of ExtendedVehicles
      operationId: get:vehicles:extended
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedVehiclesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Vehicle
      summary: Search ExtendedVehicles
      description: Search list of ExtendedVehicles
      operationId: search:vehicles:extended
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedVehiclesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/trips:active/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle trips
      description: Get the trips of a vehicle
      operationId: get:vehicle:trips
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/chauffeurs:
    get:
      tags:
        - Vehicle
      summary: Get the location of all vehicles
      description: Get the location of all vehicles within a platform
      operationId: get:vehicle:chauffeurs
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle id
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleChauffeursResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/events/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get the events of a vehicle
      description: Get the events of a vehicle within a platform
      operationId: get:vehicle:events
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle id
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleActivitiesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/trips:history/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle history of trips
      description: Get the trips of a vehicle that have either been completed or cancelled
      operationId: get:vehicle:trips_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/locationUpdateEvents/{fromDate}/{toDate}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle location update events
      description: Get the location update events of a vehicle
      operationId: get:vehicle:locationUpdateEvents
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleLocationUpdateEventsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/transportEquipments:
    get:
      tags:
        - Vehicle
      summary: Get the location of all vehicles
      description: Get the location of all vehicles within a platform
      operationId: get:vehicle:transportEquipments
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle id
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleTransportEquipmentsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/trips:byDate/{fromDate}/{toDate}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle trips
      description: Get the trips of a vehicle
      operationId: get:vehicle:trips_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/trips/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get vehicle trips
      description: Get the trips of a vehicle
      operationId: get:vehicle:trips_3
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicles/location:
    get:
      tags:
        - Vehicle
      summary: Get the location of all vehicles
      description: Get the location of all vehicles within a platform
      operationId: get:vehicles:location
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleLocationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Vehicle
      summary: Get the location of all vehicles
      description: Get the location of all vehicles within a platform
      operationId: get:vehicles:location_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleLocationResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicles/trips:nextActive/{offset}/{amount}:
    post:
      tags:
        - Vehicle
      summary: Get vehicle trips
      description: Get the trips of a vehicle
      operationId: get:vehicle:trips_4
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: string
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleLightTripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicles/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get vehicles
      description: Get list of vehicles
      operationId: get:vehicles
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehiclesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Vehicle
      summary: Get vehicles
      description: Get list of vehicles
      operationId: search:vehicles
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehiclesResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicles/trips:byDate/{fromDate}/{toDate}:
    post:
      tags:
        - Vehicle
      summary: Get vehicle trips
      description: Get the trips of a vehicle
      operationId: get:vehicle:trips_5
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: fromDate
          in: path
          required: true
          schema:
            type: string
        - name: toDate
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleLightTripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/trips:swap:
    put:
      tags:
        - Trip
      summary: Update vehicle trips order
      description: Update an actions lifeCycle, this includes all child actions
      operationId: update:vehicle:trips
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVehicleTripsOrderRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/attach/chauffeur:
    post:
      tags:
        - Vehicle
      summary: Attach chauffeur
      description: Attach chauffeur to Vehicle
      operationId: attach:chauffeur
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachChauffeurActionModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/attach/transportEquipment:
    post:
      tags:
        - Vehicle
      summary: Attach chauffeur
      description: Attach chauffeur from Vehicle
      operationId: attach:transportEquipment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachTransportEquipmentAction'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/detach/chauffeur:
    post:
      tags:
        - Vehicle
      summary: Decouple chauffeur
      description: Decouple chauffeur to Vehicle
      operationId: decouple:chauffeur
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DetachChauffeurActionModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{id}/detach/transportEquipment:
    post:
      tags:
        - Vehicle
      summary: Detach chauffeur
      description: Detach chauffeur from Vehicle
      operationId: detach:transportEquipment
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DetachTransportEquipmentAction'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/event:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/locationUpdate:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/startEngine:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event_2
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/startMoving:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event_3
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/startWaiting:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event_4
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/stopEngine:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event_5
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicle/{uuid}/{lifeCycle}/stopMoving:
    post:
      tags:
        - Vehicle
      summary: Create vehicle event
      description: Create a new vehicle event
      operationId: create:vehicle:event_6
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicles/{uuid}/{lifeCycle}/events/{offset}/{amount}:
    get:
      tags:
        - Vehicle
      summary: Get the location of all vehicles
      description: Get the location of all vehicles within a platform
      operationId: get:vehicles:events
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            description: The Vehicle ID
        - name: lifeCycle
          in: path
          required: true
          schema:
            type: string
            description: The LifeCycle
            enum:
              - requested
              - planned
              - projected
              - actual
              - realized
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicleGroup:
    put:
      tags:
        - VehicleGroup
      summary: Update vehicleGroup
      description: Update a vehicleGroup
      operationId: update:vehicleGroup
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VehicleGroup'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleGroupResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - VehicleGroup
      summary: Create vehicleGroup
      description: Create a new vehicleGroup
      operationId: create:vehicleGroup
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VehicleGroup'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleGroupResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicleGroup/{id}:
    get:
      tags:
        - VehicleGroup
      summary: Get vehicleGroup
      description: Get a vehicleGroup on id
      operationId: get:vehicleGroup
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleGroupResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - VehicleGroup
      summary: Delete vehicleGroup
      description: Delete a vehicleGroup
      operationId: delete:vehicleGroup
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleGroupResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicleGroups/{offset}/{amount}:
    get:
      tags:
        - VehicleGroup
      summary: Get vehicleGroups
      description: Get list of vehicleGroups
      operationId: get:vehicleGroups
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleGroupsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - VehicleGroup
      summary: Search vehicleGroups
      description: Search list of vehicleGroups
      operationId: search:vehicleGroups
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleGroupsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /vehicleGroups/light:
    get:
      tags:
        - VehicleGroup
      summary: Get vehicleGroups
      description: Get list of vehicleGroups
      operationId: get:vehicleGroups_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VehicleLightGroupsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /widget:
    put:
      tags:
        - Widget
      summary: Update widget
      description: 'UPdate widget '
      operationId: update:widget
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Widget'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Widget
      summary: Create widget
      description: Create a new widget
      operationId: create:widget
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WidgetCreateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /widget/{id}:
    get:
      tags:
        - Widget
      summary: Get widget
      description: Get a widget on id
      operationId: get:widget
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - Widget
      summary: Delete widget
      description: Delete a widget
      operationId: delete:widget
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /widget/public/{id}/{publicKey}:
    get:
      tags:
        - Widget
      summary: Get public widget
      description: 'Get a widget on id and '
      operationId: get:widget:public
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: publicKey
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /widgets/{offset}/{amount}:
    get:
      tags:
        - Widget
      summary: Get widgets
      description: Get list of widgets
      operationId: get:widgets
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - Widget
      summary: Get widgets
      description: Search list of widgets based on query and params
      operationId: search:widgets
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: offset
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: amount
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetsResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /widget/{id}/submission:
    post:
      tags:
        - Widget
      summary: Create widget
      description: Create a new widget
      operationId: create:widget_1
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Widget'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WidgetResponse'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Action:
      required:
        - lifeCycle
        - name
        - type
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        versionNumber:
          type: integer
          format: int32
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          description: The type of action
          enum:
            - load
            - unload
            - handOver
            - stop
            - move
            - attachTransportEquipment
            - detachTransportEquipment
            - attachChauffeur
            - detachChauffeur
            - genericAction
            - wait
            - break
            - refuel
        groupId:
          type: string
        name:
          type: string
          description: The name of the action
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        lifeCycle:
          type: string
          enum:
            - requested
            - planned
            - projected
            - actual
            - realized
        result:
          $ref: '#/components/schemas/ActionResult'
        remark:
          type: string
          description: The remark for this specific action
        sequenceNr:
          type: integer
          description: The number in which order the Action occurs
          format: int32
        location:
          $ref: '#/components/schemas/LocationAssociation'
        startTime:
          type: string
          description: The start time of this
          format: date-time
        endTime:
          type: string
          format: date-time
        eta:
          type: string
          description: Estimated Time of Arrival
          format: date-time
        etd:
          type: string
          description: Estimated Time of Departure
          format: date-time
        timeFormat:
          type: string
        recurrence:
          type: string
        duration:
          type: integer
          format: int32
        estimatedDuration:
          type: integer
          format: int32
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionAssociation'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintAssociation'
        communicationRequests:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationRequest'
      discriminator:
        propertyName: type
        mapping:
          attachTransportEquipment: '#/components/schemas/AttachTransportEquipmentAction'
          detachTransportEquipment: '#/components/schemas/DetachTransportEquipmentAction'
          attachChauffeur: '#/components/schemas/AttachChauffeurAction'
          detachChauffeur: '#/components/schemas/DetachChauffeurAction'
          genericAction: '#/components/schemas/GenericAction'
          handOver: '#/components/schemas/HandOverAction'
          load: '#/components/schemas/LoadAction'
          move: '#/components/schemas/MoveAction'
          stop: '#/components/schemas/StopAction'
          unload: '#/components/schemas/UnloadAction'
          break: '#/components/schemas/BreakAction'
          wait: '#/components/schemas/WaitAction'
      oneOf:
        - $ref: '#/components/schemas/AttachTransportEquipmentAction'
        - $ref: '#/components/schemas/DetachTransportEquipmentAction'
        - $ref: '#/components/schemas/AttachChauffeurAction'
        - $ref: '#/components/schemas/DetachChauffeurAction'
        - $ref: '#/components/schemas/GenericAction'
        - $ref: '#/components/schemas/HandOverAction'
        - $ref: '#/components/schemas/LoadAction'
        - $ref: '#/components/schemas/MoveAction'
        - $ref: '#/components/schemas/StopAction'
        - $ref: '#/components/schemas/UnloadAction'
        - $ref: '#/components/schemas/BreakAction'
        - $ref: '#/components/schemas/WaitAction'
    ActionAssociation:
      required:
        - associationType
        - type
      type: object
      properties:
        type:
          type: string
          description: The type of action
          enum:
            - inline
            - reference
        associationType:
          type: string
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/ActionInlineAssociation'
          reference: '#/components/schemas/ActionReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/ActionInlineAssociation'
        - $ref: '#/components/schemas/ActionReferenceAssociation'
    ActionInlineAssociation:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: The type of action
          enum:
            - inline
            - reference
        entity:
          $ref: '#/components/schemas/Action'
        description:
          type: string
    ActionModel:
      required:
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - load
            - unload
            - handOver
            - stop
            - move
            - attachTransportEquipment
            - detachTransportEquipment
            - attachChauffeur
            - detachChauffeur
            - genericAction
            - wait
            - break
            - refuel
        groupId:
          type: string
        name:
          type: string
          description: The name of the action
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        lifeCycle:
          type: string
          enum:
            - requested
            - planned
            - projected
            - actual
            - realized
        result:
          $ref: '#/components/schemas/ActionResult'
        remark:
          type: string
        sequenceNr:
          type: integer
          description: The number in which order the Action occurs
          format: int32
        location:
          $ref: '#/components/schemas/LocationAssociation'
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        eta:
          type: string
          format: date-time
        etd:
          type: string
          format: date-time
        timeFormat:
          type: string
        recurrence:
          type: string
        duration:
          type: integer
          description: The actual duration of the action in minutes
          format: int32
        estimatedDuration:
          type: integer
          description: The estimated duration of the action in minutes
          format: int32
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionAssociation'
        communicationRequests:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationRequestModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        versionNumber:
          type: integer
          format: int32
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintAssociation'
      discriminator:
        propertyName: type
        mapping:
          attachTransportEquipment: '#/components/schemas/AttachTransportEquipmentActionModel'
          detachTransportEquipment: '#/components/schemas/DetachTransportEquipmentActionModel'
          attachChauffeur: '#/components/schemas/AttachChauffeurActionModel'
          detachChauffeur: '#/components/schemas/DetachChauffeurActionModel'
          genericAction: '#/components/schemas/GenericActionModel'
          handOver: '#/components/schemas/HandOverActionModel'
          load: '#/components/schemas/LoadActionModel'
          move: '#/components/schemas/MoveActionModel'
          stop: '#/components/schemas/StopActionModel'
          unload: '#/components/schemas/UnloadActionModel'
          break: '#/components/schemas/BreakActionModel'
          wait: '#/components/schemas/WaitActionModel'
      oneOf:
        - $ref: '#/components/schemas/AttachTransportEquipmentActionModel'
        - $ref: '#/components/schemas/DetachTransportEquipmentActionModel'
        - $ref: '#/components/schemas/AttachChauffeurActionModel'
        - $ref: '#/components/schemas/DetachChauffeurActionModel'
        - $ref: '#/components/schemas/GenericActionModel'
        - $ref: '#/components/schemas/HandOverActionModel'
        - $ref: '#/components/schemas/LoadActionModel'
        - $ref: '#/components/schemas/MoveActionModel'
        - $ref: '#/components/schemas/StopActionModel'
        - $ref: '#/components/schemas/UnloadActionModel'
        - $ref: '#/components/schemas/BreakActionModel'
        - $ref: '#/components/schemas/WaitActionModel'
    ActionReferenceAssociation:
      type: object
      properties:
        uuid:
          type: string
        description:
          type: string
    ActionResult:
      type: object
      properties:
        status:
          type: string
          enum:
            - succeeded
            - failed
            - partiallySucceeded
        remark:
          type: string
        reason:
          type: string
    Actor:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
          description: The name of the actor
        user:
          $ref: '#/components/schemas/User'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetail'
    ActorAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/DocumentInlineAssociation'
          reference: '#/components/schemas/DocumentReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/DocumentInlineAssociation'
        - $ref: '#/components/schemas/DocumentReferenceAssociation'
    ActorModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        user:
          $ref: '#/components/schemas/User'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailModel'
    AddressGeoReference:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            hash:
              type: string
            name:
              type: string
            street:
              type: string
            houseNumber:
              type: string
            houseNumberAddition:
              type: string
            postCode:
              type: string
            city:
              type: string
            country:
              type: string
    AddressGeoReferenceModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            name:
              type: string
            street:
              type: string
            houseNumber:
              type: string
            houseNumberAddition:
              type: string
            postalCode:
              type: string
            city:
              type: string
            country:
              type: string
            hash:
              type: string
    Administration:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        primary:
          type: boolean
        business:
          $ref: '#/components/schemas/Business'
        currency:
          $ref: '#/components/schemas/Currency'
        balance:
          $ref: '#/components/schemas/Money'
        numberFormat:
          type: string
        numberLength:
          type: integer
          format: int32
        dueDays:
          type: integer
          format: int32
        invoiceNumberIndex:
          type: object
          additionalProperties:
            type: integer
            format: int32
        quoteNumberIndex:
          type: object
          additionalProperties:
            type: integer
            format: int32
        automaticallySendReminders:
          type: boolean
        invoiceTermsAndConditions:
          type: string
        quoteTermsAndConditions:
          type: string
        invoiceStandardDocuments:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        quoteStandardDocuments:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        invoiceNumbering:
          type: integer
          format: int32
        quoteNumbering:
          type: integer
          format: int32
    AdministrationModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        primary:
          type: boolean
        business:
          $ref: '#/components/schemas/Business'
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        balance:
          $ref: '#/components/schemas/MoneyModel'
        numberFormat:
          type: string
        numberLength:
          type: integer
          format: int32
        dueDays:
          type: integer
          format: int32
        invoiceNumberIndex:
          type: object
          additionalProperties:
            type: integer
            format: int32
        quoteNumberIndex:
          type: object
          additionalProperties:
            type: integer
            format: int32
        automaticallySendReminders:
          type: boolean
        invoiceTermsAndConditions:
          type: string
        quoteTermsAndConditions:
          type: string
        invoiceNumbering:
          type: integer
          format: int32
        quoteNumbering:
          type: integer
          format: int32
    AdministrativeReference:
      type: object
      properties:
        name:
          type: string
        street:
          type: string
        houseNumber:
          type: string
        houseNumberAddition:
          type: string
        postalCode:
          type: string
        city:
          type: string
        country:
          type: string
    AirBooking:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Booking'
        - type: object
          properties:
            airlinePrefix:
              type: string
            serialNumber:
              type: string
            carrierCode:
              type: string
            airwayBillNo:
              type: string
            houseAirwayBillNo:
              type: string
            airwayBill:
              $ref: '#/components/schemas/Document'
    AndConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            and:
              type: array
              items:
                $ref: '#/components/schemas/Constraint'
    AndConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            and:
              type: array
              items:
                $ref: '#/components/schemas/ConstraintModel'
    ApiAccessIntegration:
      type: object
      allOf:
        - $ref: '#/components/schemas/Integration'
        - type: object
          properties:
            accessKey:
              type: string
            secretKey:
              type: string
            allowedIps:
              type: array
              items:
                type: string
            permissions:
              type: array
              items:
                $ref: '#/components/schemas/Permission'
            maxRequestsPerMinute:
              type: integer
              format: int32
    ApiAccessIntegrationModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - manual
            - configured
            - messageAutomation
            - fileTemplate
            - apiAccess
        name:
          type: string
        description:
          type: string
        schedule:
          $ref: '#/components/schemas/IntegrationSchedulerSchedule'
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationDataSourceModel'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
        accessKey:
          type: string
        secretKey:
          type: string
        allowedIps:
          type: array
          items:
            type: string
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/Permission'
        maxRequestsPerMinute:
          type: integer
          format: int32
    Association:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
      discriminator:
        propertyName: associationType
    AttachChauffeurAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            role:
              type: string
            vehicle:
              $ref: '#/components/schemas/Association'
            chauffeur:
              $ref: '#/components/schemas/Association'
            stopAction:
              $ref: '#/components/schemas/ActionAssociation'
    AttachChauffeurActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            role:
              type: string
            vehicle:
              $ref: '#/components/schemas/Association'
            chauffeur:
              $ref: '#/components/schemas/Association'
            stopAction:
              $ref: '#/components/schemas/ActionAssociation'
    AttachTransportEquipmentAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            isContainmentAction:
              type: boolean
            vehicle:
              $ref: '#/components/schemas/Association'
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            containmentUUID:
              type: string
    AttachTransportEquipmentActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            isContainmentAction:
              type: boolean
            vehicle:
              $ref: '#/components/schemas/Association'
            stop:
              $ref: '#/components/schemas/ActionAssociation'
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            containmentUUID:
              type: string
    Attribute:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        color:
          type: string
    AttributeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            attributes:
              type: array
              items:
                $ref: '#/components/schemas/Attribute'
    AttributeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            attributes:
              type: array
              items:
                $ref: '#/components/schemas/AttributeModel'
    AttributeModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        color:
          type: string
    Booking:
      required:
        - type
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          description: The type of booking
          enum:
            - maritime
            - road
            - air
        name:
          type: string
        bookingNumber:
          type: string
        externalReference:
          type: string
      discriminator:
        propertyName: type
        mapping:
          air: '#/components/schemas/AirBooking'
          maritime: '#/components/schemas/MaritimeBooking'
          road: '#/components/schemas/RoadBooking'
      oneOf:
        - $ref: '#/components/schemas/MaritimeBooking'
        - $ref: '#/components/schemas/RoadBooking'
    BreakAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
    BreakActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            trip:
              $ref: '#/components/schemas/TripAssociation'
    Business:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
          description: The name of the business
        relationType:
          type: string
        alias:
          type: string
          description: The alias name of the business
        description:
          type: string
        transportLicenseNumber:
          type: string
        eori:
          type: string
        scacCode:
          type: string
        industry:
          $ref: '#/components/schemas/IndustryModel'
        website:
          type: string
        coc:
          type: string
        vat:
          type: string
        verified:
          type: boolean
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        logo:
          $ref: '#/components/schemas/File'
        banners:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        locations:
          type: array
          items:
            $ref: '#/components/schemas/LocationModel'
        identification:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailModel'
        contactPersons:
          type: array
          items:
            $ref: '#/components/schemas/ContactPersonModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        pricingConfigurationCount:
          type: integer
          format: int32
        hasAgreedToPrice:
          type: boolean
    Capacity:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        business:
          $ref: '#/components/schemas/Business'
        schedule:
          $ref: '#/components/schemas/Schedule'
        modality:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        subType:
          type: string
          enum:
            - load
            - vehicle
        capacityPerUnit:
          $ref: '#/components/schemas/ValueWithUnit'
        totalUnits:
          type: integer
          format: int32
        availableCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        totalCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
    CapacityContract:
      required:
        - type
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        type:
          type: string
          description: The type of contract
          enum:
            - permanentContract
            - oneTimeContract
            - transportOrderContract
        communicationMethod:
          type: string
          enum:
            - messageAutomation
            - integration
        contract:
          $ref: '#/components/schemas/Contract'
        business:
          $ref: '#/components/schemas/Business'
        administration:
          $ref: '#/components/schemas/Administration'
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        selfBilling:
          type: boolean
        currency:
          $ref: '#/components/schemas/Currency'
        triggerType:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
        lastHandledSelfBilling:
          type: string
          format: date-time
        signature:
          $ref: '#/components/schemas/Signature'
        integration:
          $ref: '#/components/schemas/Integration'
        messageAutomation:
          $ref: '#/components/schemas/MessageAutomation'
      discriminator:
        propertyName: type
        mapping:
          oneTimeContract: '#/components/schemas/OneTimeContract'
          permanentContract: '#/components/schemas/PermanentContract'
          transportOrderContract: '#/components/schemas/TransportOrderContract'
      oneOf:
        - $ref: '#/components/schemas/OneTimeContract'
        - $ref: '#/components/schemas/PermanentContract'
        - $ref: '#/components/schemas/TransportOrderContract'
    CapacityContractModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
          enum:
            - permanentContract
            - oneTimeContract
            - transportOrderContract
        communicationMethod:
          type: string
          enum:
            - messageAutomation
            - integration
        contract:
          $ref: '#/components/schemas/ContractModel'
        business:
          $ref: '#/components/schemas/Business'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        selfBilling:
          type: boolean
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        triggerType:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
        lastHandledSelfBilling:
          type: string
          format: date-time
        signature:
          $ref: '#/components/schemas/SignatureModel'
        integration:
          $ref: '#/components/schemas/IntegrationModel'
        messageAutomation:
          $ref: '#/components/schemas/MessageAutomationModel'
      discriminator:
        propertyName: type
        mapping:
          oneTimeContract: '#/components/schemas/OneTimeContractModel'
          permanentContract: '#/components/schemas/PermanentContractModel'
          transportOrderContract: '#/components/schemas/TransportOrderContractModel'
      oneOf:
        - $ref: '#/components/schemas/OneTimeContractModel'
        - $ref: '#/components/schemas/PermanentContractModel'
        - $ref: '#/components/schemas/TransportOrderContractModel'
    CapacityModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        business:
          $ref: '#/components/schemas/Business'
        schedule:
          $ref: '#/components/schemas/ScheduleModel'
        modality:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        subType:
          type: string
          enum:
            - load
            - vehicle
        capacityPerUnit:
          $ref: '#/components/schemas/ValueWithUnit'
        totalUnits:
          type: integer
          format: int32
        availableCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        totalCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
    Chauffeur:
      required:
        - firstName
        - lastName
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - driver
            - conductor
            - captain
            - pilot
        picture:
          $ref: '#/components/schemas/File'
        user:
          $ref: '#/components/schemas/User'
        firstName:
          type: string
          description: The first name of the chauffeur
        lastName:
          type: string
          description: The last name of the chauffeur
        dateOfBirth:
          type: string
          format: date
        birthPlace:
          type: string
        nationality:
          type: string
        hourlyRate:
          $ref: '#/components/schemas/Money'
        hoursPerMonth:
          type: number
          format: double
        adr:
          $ref: '#/components/schemas/ChauffeurADR'
        driverLicense:
          $ref: '#/components/schemas/ChauffeurDriverLicense'
        tachoCard:
          $ref: '#/components/schemas/ChauffeurTachoCard'
        remainingDrivingTimes:
          $ref: '#/components/schemas/RemainingDrivingTimes'
        upcomingRestingTimes:
          $ref: '#/components/schemas/UpcomingRestingTimes'
        languages:
          type: array
          items:
            type: string
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/Association'
    ChauffeurADR:
      type: object
      properties:
        hasADR:
          type: boolean
        ADRNumber:
          type: string
        ADRValidFromDate:
          type: string
          format: date
        ADRExpirationDate:
          type: string
          format: date
        ADRFiles:
          type: array
          items:
            $ref: '#/components/schemas/File'
    ChauffeurDriverLicense:
      type: object
      properties:
        hasDriverLicense:
          type: boolean
        driverLicenseNumber:
          type: string
        driverLicenseValidFromDate:
          type: string
          format: date
        driverLicenseExpirationDate:
          type: string
          format: date
        driverLicenseObtainedOn:
          type: string
          format: date
        driverLicenseCountryOfIssue:
          type: string
        driverLicenseIssuingAuthority:
          type: string
        driverLicenseFiles:
          type: array
          items:
            $ref: '#/components/schemas/File'
    ChauffeurModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - driver
            - conductor
            - captain
            - pilot
        picture:
          $ref: '#/components/schemas/FileModel'
        user:
          $ref: '#/components/schemas/UserModel'
        firstName:
          type: string
        lastName:
          type: string
        dateOfBirth:
          type: string
          format: date
        birthPlace:
          type: string
        nationality:
          type: string
        hourlyRate:
          $ref: '#/components/schemas/MoneyModel'
        hoursPerMonth:
          type: number
          format: double
        adr:
          $ref: '#/components/schemas/ChauffeurADR'
        driverLicense:
          $ref: '#/components/schemas/ChauffeurDriverLicense'
        tachoCard:
          $ref: '#/components/schemas/ChauffeurTachoCard'
        remainingDrivingTimes:
          $ref: '#/components/schemas/RemainingDrivingTimes'
        upcomingRestingTimes:
          $ref: '#/components/schemas/UpcomingRestingTimes'
        languages:
          type: array
          items:
            type: string
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
    ChauffeurTachoCard:
      type: object
      properties:
        cardId:
          type: string
        countryOfIssue:
          type: string
        renewalIndex:
          type: string
        replacementIndex:
          type: string
        startOfValidity:
          type: string
          format: date-time
        endOfValidity:
          type: string
          format: date-time
    CommunicationRequest:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - pending
            - processing
            - success
            - failure
        responseMessage:
          type: string
        responseValue:
          type: string
        communicationRequests:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationRequest'
    CommunicationRequestModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - pending
            - processing
            - success
            - failure
        responseMessage:
          type: string
        responseValue:
          type: string
    ConfiguredIntegration:
      type: object
      allOf:
        - $ref: '#/components/schemas/Integration'
        - type: object
          properties:
            triggerType:
              type: string
              enum:
                - trigger
                - scheduler
                - listener
            triggerEvent:
              type: string
              enum:
                - afterCreatingTrip
                - afterUpdatingTrip
                - afterConfirmingTrip
                - afterStartingTrip
                - afterFinishingTrip
                - afterCancelingTrip
                - afterLocationUpdateEvent
                - afterCreatingMessage
                - afterUpdatingMessage
                - afterCreatingEvent
                - afterStartEngineEvent
                - afterStartMovingEvent
                - afterStopMovingEvent
                - afterStopEngineEvent
                - afterCreatingWaitAction
                - afterUpdatingWaitAction
                - afterCreatingUnloadAction
                - afterUpdatingUnloadAction
                - afterCreatingStopAction
                - afterUpdatingStopAction
                - afterCreatingMoveAction
                - afterUpdatingMoveAction
                - afterCreatingLoadAction
                - afterUpdatingLoadAction
                - afterCreatingDetachTransportEquipmentAction
                - afterUpdatingDetachTransportEquipmentAction
                - afterCreatingDetachChauffeurAction
                - afterUpdatingDetachChauffeurAction
                - afterCreatingBreakAction
                - afterUpdatingBreakAction
                - afterCreatingAttachTransportEquipmentAction
                - afterUpdatingAttachTransportEquipmentAction
                - afterCreatingAttachChauffeurAction
                - afterUpdatingAttachChauffeurAction
                - afterActionLifeCycleUpdate
                - afterCreatingCapacityContract
                - afterUpdatingCapacityContract
                - afterCreatingMessageAutomation
                - AfterUpdatingMessageAutomation
                - afterCreatingTransportOrder
                - afterUpdatingTransportOrder
                - afterCreatingConsignment
                - afterUpdatingConsignment
                - afterCreatingBusiness
                - afterUpdatingBusiness
                - afterCreatingInvoice
                - afterSendingInvoice
                - afterUpdatingInvoice
                - afterCreatingQuote
                - afterUpdatingQuote
                - afterCreatingUser
                - afterUpdatingUser
                - afterCreatingLocation
                - afterUpdatingLocation
                - afterExceedingStopAverageDuration
                - afterHomeBaseReturnOverdue
                - afterCreatingBooking
                - afterUpdatingBooking
                - afterCreatingIntegration
                - afterUpdatingIntegration
            filters:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationFilter'
    ConfiguredIntegrationModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/IntegrationModel'
        - type: object
          properties:
            triggerType:
              type: string
              enum:
                - trigger
                - scheduler
                - listener
            triggerEvent:
              type: string
              enum:
                - afterCreatingTrip
                - afterUpdatingTrip
                - afterConfirmingTrip
                - afterStartingTrip
                - afterFinishingTrip
                - afterCancelingTrip
                - afterLocationUpdateEvent
                - afterCreatingMessage
                - afterUpdatingMessage
                - afterCreatingEvent
                - afterStartEngineEvent
                - afterStartMovingEvent
                - afterStopMovingEvent
                - afterStopEngineEvent
                - afterCreatingWaitAction
                - afterUpdatingWaitAction
                - afterCreatingUnloadAction
                - afterUpdatingUnloadAction
                - afterCreatingStopAction
                - afterUpdatingStopAction
                - afterCreatingMoveAction
                - afterUpdatingMoveAction
                - afterCreatingLoadAction
                - afterUpdatingLoadAction
                - afterCreatingDetachTransportEquipmentAction
                - afterUpdatingDetachTransportEquipmentAction
                - afterCreatingDetachChauffeurAction
                - afterUpdatingDetachChauffeurAction
                - afterCreatingBreakAction
                - afterUpdatingBreakAction
                - afterCreatingAttachTransportEquipmentAction
                - afterUpdatingAttachTransportEquipmentAction
                - afterCreatingAttachChauffeurAction
                - afterUpdatingAttachChauffeurAction
                - afterActionLifeCycleUpdate
                - afterCreatingCapacityContract
                - afterUpdatingCapacityContract
                - afterCreatingMessageAutomation
                - AfterUpdatingMessageAutomation
                - afterCreatingTransportOrder
                - afterUpdatingTransportOrder
                - afterCreatingConsignment
                - afterUpdatingConsignment
                - afterCreatingBusiness
                - afterUpdatingBusiness
                - afterCreatingInvoice
                - afterSendingInvoice
                - afterUpdatingInvoice
                - afterCreatingQuote
                - afterUpdatingQuote
                - afterCreatingUser
                - afterUpdatingUser
                - afterCreatingLocation
                - afterUpdatingLocation
                - afterExceedingStopAverageDuration
                - afterHomeBaseReturnOverdue
                - afterCreatingBooking
                - afterUpdatingBooking
                - afterCreatingIntegration
                - afterUpdatingIntegration
            filters:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationFilter'
    Consignment:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        versionNumber:
          type: integer
          format: int32
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        name:
          type: string
        consignmentNr:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - draft
            - requested
            - confirmed
            - in_transit
            - completed
            - cancelled
            - partially_planned
            - planned
            - partially_completed
            - partially_in_transit
        highValueGoods:
          type: boolean
        goods:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        consignment:
          $ref: '#/components/schemas/Consignment'
        originalPhysicalSender:
          $ref: '#/components/schemas/Location'
        originalLegalSender:
          $ref: '#/components/schemas/Location'
        originalPhysicalAddressee:
          $ref: '#/components/schemas/Location'
        originalLegalAddressee:
          $ref: '#/components/schemas/Location'
        isPlannedToLastLocation:
          type: boolean
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElement'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        expectedRevenue:
          $ref: '#/components/schemas/Money'
        expectedCost:
          $ref: '#/components/schemas/Money'
        combined:
          type: boolean
        type:
          type: string
          description: >-
            This field can be used to categorize and/or group shipments by type,
            depending on the needs of a specific logistic process.
        remark:
          type: string
          description: >-
            Remark concerning the complete consignment, to be printed on the
            transport document.
        constraints:
          type: array
          description: >-
            In the context of a Consignment, constraints can be used to e.g.
            define minimum or maximum temperatures for consignments, or date
            time constraints for delivery.
          items:
            $ref: '#/components/schemas/Constraint'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
    ConsignmentModel:
      required:
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
          description: Name of the Consignment. For display purposes and search only.
        consignmentNr:
          type: string
        description:
          type: string
          description: >-
            General description of consignment in Free text. e.g 20 europallets
            fruit. Meant for human inspection, not for automating processes.
        status:
          type: string
          enum:
            - draft
            - requested
            - confirmed
            - in_transit
            - completed
            - cancelled
            - partially_planned
            - planned
            - partially_completed
            - partially_in_transit
        highValueGoods:
          type: boolean
        goods:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        combined:
          type: boolean
        consignment:
          $ref: '#/components/schemas/ConsignmentModel'
        originalPhysicalSender:
          $ref: '#/components/schemas/LocationModel'
        originalLegalSender:
          $ref: '#/components/schemas/LocationModel'
        originalPhysicalAddressee:
          $ref: '#/components/schemas/LocationModel'
        originalLegalAddressee:
          $ref: '#/components/schemas/LocationModel'
        isPlannedToLastLocation:
          type: boolean
        type:
          type: string
          description: >-
            This field can be used to categorize and/or group shipments by type,
            depending on the needs of a specific logistic process.
        remark:
          type: string
          description: >-
            Remark concerning the complete consignment, to be printed on the
            transport document.
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        constraints:
          type: array
          description: >-
            In the context of a Consignment, constraints can be used to e.g.
            define minimum or maximum temperatures for consignments, or date
            time constraints for delivery.
          items:
            $ref: '#/components/schemas/ConstraintModel'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElementModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        expectedRevenue:
          $ref: '#/components/schemas/MoneyModel'
        expectedCost:
          $ref: '#/components/schemas/MoneyModel'
        hasAgreedToPrice:
          type: boolean
          description: >-
            Set this value to 'true' if the user has agreed to the pricing of
            this element. Only needed once the NeedsBillingApproval Exception is
            thrown
          writeOnly: true
        versionNumber:
          type: integer
          format: int32
    Constraint:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        enforceability:
          type: string
          enum:
            - enforced
            - preference
        type:
          type: string
          enum:
            - accessConstraint
            - timeWindowsConstraint
            - startDateTimeConstraint
            - endDateTimeConstraint
            - sizeConstraint
            - weightConstraint
            - speedConstraint
            - sensorValueConstraint
            - fuelTypeConstraint
            - vehicleTypeConstraint
            - emissionStandardConstraint
            - attributeConstraint
            - transportEquipmentTypeConstraint
            - routeConstraint
            - andConstraint
            - orConstraint
            - notConstraint
            - genericConstraint
      discriminator:
        propertyName: type
        mapping:
          genericConstraint: '#/components/schemas/GenericConstraintValue'
          andConstraint: '#/components/schemas/AndConstraintValue'
          orConstraint: '#/components/schemas/OrConstraintValue'
          notConstraint: '#/components/schemas/NotConstraintValue'
          startDateTimeConstraint: '#/components/schemas/StartDateTimeConstraintValue'
          endDateTimeConstraint: '#/components/schemas/EndDateTimeConstraintValue'
          timeWindowsConstraint: '#/components/schemas/TimeWindowsConstraintValue'
          sizeConstraint: '#/components/schemas/SizeConstraintValue'
          weightConstraint: '#/components/schemas/WeightConstraintValue'
          speedConstraint: '#/components/schemas/SpeedConstraintValue'
          sensorValueConstraint: '#/components/schemas/SensorValueConstraintValue'
          fuelTypeConstraint: '#/components/schemas/FuelTypeConstraintValue'
          vehicleTypeConstraint: '#/components/schemas/VehicleTypeConstraintValue'
          transportEquipmentTypeConstraint: '#/components/schemas/TransportEquipmentTypeConstraintValue'
          attributeConstraint: '#/components/schemas/AttributeConstraintValue'
          routeConstraint: '#/components/schemas/RouteConstraintValue'
      oneOf:
        - $ref: '#/components/schemas/GenericConstraintValue'
        - $ref: '#/components/schemas/AndConstraintValue'
        - $ref: '#/components/schemas/OrConstraintValue'
        - $ref: '#/components/schemas/NotConstraintValue'
        - $ref: '#/components/schemas/StartDateTimeConstraintValue'
        - $ref: '#/components/schemas/EndDateTimeConstraintValue'
        - $ref: '#/components/schemas/TimeWindowsConstraintValue'
        - $ref: '#/components/schemas/SizeConstraintValue'
        - $ref: '#/components/schemas/WeightConstraintValue'
        - $ref: '#/components/schemas/SpeedConstraintValue'
        - $ref: '#/components/schemas/SensorValueConstraintValue'
        - $ref: '#/components/schemas/FuelTypeConstraintValue'
        - $ref: '#/components/schemas/VehicleTypeConstraintValue'
        - $ref: '#/components/schemas/TransportEquipmentTypeConstraintValue'
        - $ref: '#/components/schemas/AttributeConstraintValue'
    ConstraintAssociation:
      required:
        - associationType
      type: object
      properties:
        associationType:
          type: string
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/ConstraintInlineAssociation'
          reference: '#/components/schemas/ReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/ConstraintInlineAssociation'
        - $ref: '#/components/schemas/ReferenceAssociation'
    ConstraintInlineAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        entity:
          $ref: '#/components/schemas/Constraint'
        description:
          type: string
    ConstraintModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - accessConstraint
            - timeWindowsConstraint
            - startDateTimeConstraint
            - endDateTimeConstraint
            - sizeConstraint
            - weightConstraint
            - speedConstraint
            - sensorValueConstraint
            - fuelTypeConstraint
            - vehicleTypeConstraint
            - emissionStandardConstraint
            - attributeConstraint
            - transportEquipmentTypeConstraint
            - routeConstraint
            - andConstraint
            - orConstraint
            - notConstraint
            - genericConstraint
        name:
          type: string
        enforceability:
          type: string
          enum:
            - enforced
            - preference
      description: >-
        In the context of a Consignment, constraints can be used to e.g. define
        minimum or maximum temperatures for consignments, or date time
        constraints for delivery.
      discriminator:
        propertyName: type
        mapping:
          genericConstraint: '#/components/schemas/GenericConstraintValueModel'
          andConstraint: '#/components/schemas/AndConstraintValueModel'
          orConstraint: '#/components/schemas/OrConstraintValueModel'
          notConstraint: '#/components/schemas/NotConstraintValueModel'
          startDateTimeConstraint: '#/components/schemas/StartDateTimeConstraintValueModel'
          endDateTimeConstraint: '#/components/schemas/EndDateTimeConstraintValueModel'
          timeWindowsConstraint: '#/components/schemas/TimeWindowsConstraintValueModel'
          sizeConstraint: '#/components/schemas/SizeConstraintValueModel'
          weightConstraint: '#/components/schemas/WeightConstraintValueModel'
          speedConstraint: '#/components/schemas/SpeedConstraintValueModel'
          sensorValueConstraint: '#/components/schemas/SensorValueConstraintValueModel'
          fuelTypeConstraint: '#/components/schemas/FuelTypeConstraintValueModel'
          vehicleTypeConstraint: '#/components/schemas/VehicleTypeConstraintValueModel'
          transportEquipmentTypeConstraint: '#/components/schemas/TransportEquipmentTypeConstraintValueModel'
          attributeConstraint: '#/components/schemas/AttributeConstraintValueModel'
          routeConstraint: '#/components/schemas/RouteConstraintValueModel'
      oneOf:
        - $ref: '#/components/schemas/GenericConstraintValueModel'
        - $ref: '#/components/schemas/AndConstraintValueModel'
        - $ref: '#/components/schemas/OrConstraintValueModel'
        - $ref: '#/components/schemas/NotConstraintValueModel'
        - $ref: '#/components/schemas/StartDateTimeConstraintValueModel'
        - $ref: '#/components/schemas/EndDateTimeConstraintValueModel'
        - $ref: '#/components/schemas/TimeWindowsConstraintValueModel'
        - $ref: '#/components/schemas/SizeConstraintValueModel'
        - $ref: '#/components/schemas/WeightConstraintValueModel'
        - $ref: '#/components/schemas/SpeedConstraintValueModel'
        - $ref: '#/components/schemas/SensorValueConstraintValueModel'
        - $ref: '#/components/schemas/FuelTypeConstraintValueModel'
        - $ref: '#/components/schemas/VehicleTypeConstraintValueModel'
        - $ref: '#/components/schemas/TransportEquipmentTypeConstraintValueModel'
        - $ref: '#/components/schemas/AttributeConstraintValueModel'
        - $ref: '#/components/schemas/RouteConstraintValueModel'
    ContactDetail:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - iban
            - gln
            - vatCode
            - name
            - lastName
            - middleName
            - firstName
            - phone
            - mobilePhone
            - email
            - language
            - other
        value:
          type: string
        remarks:
          type: string
    ContactDetailModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - iban
            - gln
            - vatCode
            - name
            - lastName
            - middleName
            - firstName
            - phone
            - mobilePhone
            - email
            - language
            - other
        value:
          type: string
        remarks:
          type: string
    ContactPerson:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        firstName:
          type: string
        lastName:
          type: string
        position:
          type: string
        email:
          type: string
        phone:
          type: string
    ContactPersonModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        firstName:
          type: string
        lastName:
          type: string
        position:
          type: string
        email:
          type: string
        phone:
          type: string
    Contract:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        title:
          type: string
        description:
          type: string
        deliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        contractor:
          $ref: '#/components/schemas/Business'
        contractorSignee:
          $ref: '#/components/schemas/ContactPerson'
        client:
          $ref: '#/components/schemas/Business'
        clientSignee:
          $ref: '#/components/schemas/ContactPerson'
    ContractModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        title:
          type: string
        description:
          type: string
        deliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        contractor:
          $ref: '#/components/schemas/Business'
        contractorSignee:
          $ref: '#/components/schemas/ContactPersonModel'
        client:
          $ref: '#/components/schemas/Business'
        clientSignee:
          $ref: '#/components/schemas/ContactPersonModel'
    CountryCabotageStatistics:
      type: object
      properties:
        completedCabotageTrips:
          type: integer
          format: int32
        lastInstantOfCompletedCabotageTrip:
          type: string
          format: date-time
        lastInstantOfInternationalTripWithCountryAsDestination:
          type: string
          format: date-time
    Currency:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        short:
          type: string
        sign:
          type: string
        decimalDelimiter:
          type: string
        thousandDelimiter:
          type: string
        enabled:
          type: boolean
    CurrencyModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        short:
          type: string
        sign:
          type: string
        decimalDelimiter:
          type: string
        thousandDelimiter:
          type: string
        enabled:
          type: boolean
    DetachChauffeurAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            role:
              type: string
            vehicle:
              $ref: '#/components/schemas/Association'
            chauffeur:
              $ref: '#/components/schemas/Association'
            stopAction:
              $ref: '#/components/schemas/ActionAssociation'
    DetachChauffeurActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            role:
              type: string
            vehicle:
              $ref: '#/components/schemas/Association'
            chauffeur:
              $ref: '#/components/schemas/Association'
            stopAction:
              $ref: '#/components/schemas/ActionAssociation'
    DetachTransportEquipmentAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            isContainmentAction:
              type: boolean
            vehicle:
              $ref: '#/components/schemas/Association'
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            containmentUUID:
              type: string
    DetachTransportEquipmentActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            isContainmentAction:
              type: boolean
            vehicle:
              $ref: '#/components/schemas/Association'
            stop:
              $ref: '#/components/schemas/ActionAssociation'
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            containmentUUID:
              type: string
    Document:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        description:
          type: string
        expiresAt:
          type: string
          format: date-time
        fileName:
          type: string
        mimeType:
          type: string
        encoding:
          type: string
        verified:
          type: boolean
        content:
          $ref: '#/components/schemas/DocumentContent'
        file:
          $ref: '#/components/schemas/File'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        name:
          type: string
          description: The name of the document
    DocumentAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/DocumentInlineAssociation'
          reference: '#/components/schemas/DocumentReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/DocumentInlineAssociation'
        - $ref: '#/components/schemas/DocumentReferenceAssociation'
    DocumentContent:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        contentType:
          type: string
          enum:
            - data
            - uri
      discriminator:
        propertyName: type
        mapping:
          data: '#/components/schemas/DocumentDataContent'
          uri: '#/components/schemas/DocumentUriContent'
      oneOf:
        - $ref: '#/components/schemas/DocumentDataContent'
        - $ref: '#/components/schemas/DocumentUriContent'
    DocumentDataContent:
      type: object
      allOf:
        - $ref: '#/components/schemas/DocumentContent'
        - type: object
          properties:
            data:
              type: string
    DocumentInlineAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        entity:
          $ref: '#/components/schemas/Document'
    DocumentModel:
      required:
        - content
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        expiresAt:
          type: string
          format: date-time
        fileName:
          type: string
        mimeType:
          type: string
        encoding:
          type: string
        verified:
          type: boolean
        owner:
          $ref: '#/components/schemas/ActorAssociation'
        content:
          $ref: '#/components/schemas/DocumentContent'
        file:
          $ref: '#/components/schemas/FileModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
    DocumentReferenceAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        uuid:
          type: string
        description:
          type: string
    DocumentUriContent:
      type: object
      allOf:
        - $ref: '#/components/schemas/DocumentContent'
        - type: object
          properties:
            uri:
              type: string
    EndDateTimeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            endDateTime:
              type: string
              format: date-time
    EndDateTimeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            endDateTime:
              type: string
              format: date-time
    Feature:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            geometry:
              $ref: '#/components/schemas/Geometry'
            properties:
              type: object
              additionalProperties:
                type: string
            administrativeReference:
              $ref: '#/components/schemas/AdministrativeReference'
    FeatureModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            geometry:
              $ref: '#/components/schemas/GeometryModel'
            properties:
              type: object
              additionalProperties:
                type: string
            administrativeReference:
              $ref: '#/components/schemas/AdministrativeReference'
    Field:
      type: object
      properties:
        name:
          type: string
        groupByAggregate:
          type: string
          enum:
            - count
            - max
            - min
            - sum
            - avg
    File:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        url:
          type: string
        path:
          type: string
        name:
          type: string
        originalName:
          type: string
        size:
          type: integer
          format: int64
        purpose:
          type: string
        type:
          type: string
          enum:
            - IMAGE
            - VIDEO
            - MUSIC
            - WORD
            - EXCEL
            - CSV
            - PDF
            - EMAIL
            - JSON
        mimeType:
          type: string
        extension:
          type: string
        uploadedAt:
          type: string
          format: date-time
    FileBasedMessageAutomation:
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomation'
        - type: object
          properties:
            filesRequested:
              type: array
              items:
                $ref: '#/components/schemas/File'
    FileBasedMessageAutomationModel:
      required:
        - description
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomationModel'
        - type: object
          properties:
            filesRequested:
              type: array
              items:
                $ref: '#/components/schemas/FileModel'
    FileModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        url:
          type: string
        path:
          type: string
        name:
          type: string
        originalName:
          type: string
        size:
          type: integer
          format: int64
        purpose:
          type: string
        type:
          type: string
          enum:
            - IMAGE
            - VIDEO
            - MUSIC
            - WORD
            - EXCEL
            - CSV
            - PDF
            - EMAIL
            - JSON
        mimeType:
          type: string
        extension:
          type: string
        uploadedAt:
          type: string
          format: date-time
    FileTemplateIntegration:
      type: object
      allOf:
        - $ref: '#/components/schemas/Integration'
        - type: object
          properties:
            files:
              type: array
              items:
                $ref: '#/components/schemas/File'
            entityType:
              type: string
              enum:
                - action
                - attachTransportEquipmentAction
                - detachTransportEquipmentAction
                - stopAction
                - loadAction
                - unloadAction
                - waitAction
                - consignment
                - extendedConsignment
                - transportEquipment
                - extendedTransportEquipment
                - items
                - goods
                - constraint
                - actor
                - location
                - route
                - sensor
                - vehicle
                - extendedVehicle
                - trip
                - transportOrder
                - extendedTransportOrder
                - business
                - event
                - locationUpdateEvent
                - startMovingEvent
                - startWaitingEvent
                - stopEngineEvent
                - stopMovingEvent
                - message
                - document
                - chauffeur
                - extendedChauffeur
                - chauffeurTimeslot
                - chat
                - user
                - administration
                - fleetVehicle
                - messageAutomation
                - capacity_contract
                - booking
                - invoice
                - invoice_line
                - quote
                - quote_line
                - integration
                - to_do
            html:
              type: string
            htmlFingerPrint:
              type: string
            matrix:
              type: array
              items:
                type: array
                items:
                  type: string
            matrixFingerPrint:
              type: string
            fields:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationFileTemplateField'
    FileTemplateIntegrationModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/IntegrationModel'
        - type: object
          properties:
            files:
              type: array
              items:
                $ref: '#/components/schemas/File'
            entityType:
              type: string
              enum:
                - action
                - attachTransportEquipmentAction
                - detachTransportEquipmentAction
                - stopAction
                - loadAction
                - unloadAction
                - waitAction
                - consignment
                - extendedConsignment
                - transportEquipment
                - extendedTransportEquipment
                - items
                - goods
                - constraint
                - actor
                - location
                - route
                - sensor
                - vehicle
                - extendedVehicle
                - trip
                - transportOrder
                - extendedTransportOrder
                - business
                - event
                - locationUpdateEvent
                - startMovingEvent
                - startWaitingEvent
                - stopEngineEvent
                - stopMovingEvent
                - message
                - document
                - chauffeur
                - extendedChauffeur
                - chauffeurTimeslot
                - chat
                - user
                - administration
                - fleetVehicle
                - messageAutomation
                - capacity_contract
                - booking
                - invoice
                - invoice_line
                - quote
                - quote_line
                - integration
                - to_do
            html:
              type: string
            htmlFingerPrint:
              type: string
            matrix:
              type: array
              items:
                type: array
                items:
                  type: string
            matrixFingerPrint:
              type: string
            fields:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationFileTemplateField'
    Filter:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        sequenceNr:
          type: integer
          format: int32
        field:
          type: string
        comparisonOperations:
          type: string
          enum:
            - equal
            - not_equal
            - greater_than
            - greater_or_equal_than
            - lesser_than
            - lesser_or_equal_than
            - between
            - in
            - not_in
            - contains
            - starts_with
            - ends_with
            - is_blank
            - is_not_blank
        value:
          type: string
        valueType:
          type: string
          enum:
            - constant
            - string
            - integer
            - float
            - datetime
            - duration
            - date
            - time
            - boolean
            - object
            - array
            - filters
            - table
        linkType:
          type: string
          enum:
            - and
            - or
    FilterModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        sequenceNr:
          type: integer
          format: int32
        field:
          type: string
        comparisonOperations:
          type: string
          enum:
            - equal
            - not_equal
            - greater_than
            - greater_or_equal_than
            - lesser_than
            - lesser_or_equal_than
            - between
            - in
            - not_in
            - contains
            - starts_with
            - ends_with
            - is_blank
            - is_not_blank
        value:
          type: string
        valueType:
          type: string
          enum:
            - constant
            - string
            - integer
            - float
            - datetime
            - duration
            - date
            - time
            - boolean
            - object
            - array
            - filters
            - table
        linkType:
          type: string
          enum:
            - and
            - or
    FuelTypeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            fuelTypes:
              type: array
              items:
                type: string
    FuelTypeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            fuelTypes:
              type: array
              items:
                type: string
    GeneratedTimeSlot:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        date:
          type: string
          format: date-time
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        consignments:
          type: array
          items:
            $ref: '#/components/schemas/Consignment'
        route:
          $ref: '#/components/schemas/Route'
    GeneratedTimeSlotModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        date:
          type: string
          format: date-time
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        consignments:
          type: array
          items:
            $ref: '#/components/schemas/ConsignmentModel'
        route:
          $ref: '#/components/schemas/RouteModel'
    GenericAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
    GenericActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            trip:
              $ref: '#/components/schemas/TripAssociation'
    GenericConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            description:
              type: string
    GenericConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            description:
              type: string
    GeoReference:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - addressGeoReference
            - zoneGeoReference
            - tmcArrayGeoReference
            - tmcLocationGeoReference
            - openLRGeoReference
            - GeoReference
            - Feature
            - latLonArrayGeoReference
            - latLonPointGeoReference
      discriminator:
        propertyName: type
        mapping:
          addressGeoReference: '#/components/schemas/AddressGeoReference'
          zoneGeoReference: '#/components/schemas/ZoneGeoReference'
          tmcArrayGeoReference: '#/components/schemas/TmcArrayGeoReference'
          tmcLocationGeoReference: '#/components/schemas/TmcLocationGeoReference'
          Feature: '#/components/schemas/Feature'
          latLonArrayGeoReference: '#/components/schemas/LatLonArrayGeoReference'
          latLonPointGeoReference: '#/components/schemas/LatLonPointGeoReference'
      oneOf:
        - $ref: '#/components/schemas/AddressGeoReference'
        - $ref: '#/components/schemas/ZoneGeoReference'
        - $ref: '#/components/schemas/TmcArrayGeoReference'
        - $ref: '#/components/schemas/TmcLocationGeoReference'
        - $ref: '#/components/schemas/Feature'
        - $ref: '#/components/schemas/LatLonArrayGeoReference'
        - $ref: '#/components/schemas/LatLonPointGeoReference'
    GeoReferenceModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - addressGeoReference
            - zoneGeoReference
            - tmcArrayGeoReference
            - tmcLocationGeoReference
            - openLRGeoReference
            - GeoReference
            - Feature
            - latLonArrayGeoReference
            - latLonPointGeoReference
      discriminator:
        propertyName: type
        mapping:
          addressGeoReference: '#/components/schemas/AddressGeoReferenceModel'
          zoneGeoReference: '#/components/schemas/ZoneGeoReferenceModel'
          tmcArrayGeoReference: '#/components/schemas/TmcArrayGeoReferenceModel'
          tmcLocationGeoReference: '#/components/schemas/TmcLocationGeoReferenceModel'
          Feature: '#/components/schemas/FeatureModel'
          latLonArrayGeoReference: '#/components/schemas/LatLonArrayGeoReferenceModel'
          latLonPointGeoReference: '#/components/schemas/LatLonPointGeoReferenceModel'
      oneOf:
        - $ref: '#/components/schemas/AddressGeoReferenceModel'
        - $ref: '#/components/schemas/ZoneGeoReferenceModel'
        - $ref: '#/components/schemas/TmcArrayGeoReferenceModel'
        - $ref: '#/components/schemas/TmcLocationGeoReferenceModel'
        - $ref: '#/components/schemas/FeatureModel'
        - $ref: '#/components/schemas/LatLonArrayGeoReferenceModel'
        - $ref: '#/components/schemas/LatLonPointGeoReferenceModel'
    Geometry:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
        type:
          type: string
          enum:
            - Point
            - MultiPoint
            - Polygon
            - LineString
            - MultiPolygon
            - MultiLineString
        properties:
          type: object
          additionalProperties:
            type: string
      discriminator:
        propertyName: type
        mapping:
          Point: '#/components/schemas/Point'
          Polygon: '#/components/schemas/Polygon'
          MultiPoint: '#/components/schemas/MultiPoint'
          LineString: '#/components/schemas/LineString'
          MultiLineString: '#/components/schemas/MultiLinesString'
          MultiPolygon: '#/components/schemas/MultiPolygon'
      oneOf:
        - $ref: '#/components/schemas/Point'
        - $ref: '#/components/schemas/Polygon'
        - $ref: '#/components/schemas/MultiPoint'
        - $ref: '#/components/schemas/LineString'
        - $ref: '#/components/schemas/MultiLinesString'
        - $ref: '#/components/schemas/MultiPolygon'
    GeometryModel:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - Point
            - MultiPoint
            - Polygon
            - LineString
            - MultiPolygon
            - MultiLineString
        properties:
          type: object
          additionalProperties:
            type: string
      discriminator:
        propertyName: type
        mapping:
          Point: '#/components/schemas/PointModel'
          Polygon: '#/components/schemas/PolygonModel'
          MultiPoint: '#/components/schemas/MultiPointModel'
          LineString: '#/components/schemas/LineStringModel'
          MultiLineString: '#/components/schemas/MultiLinesStringModel'
          MultiPolygon: '#/components/schemas/MultiPolygonModel'
      oneOf:
        - $ref: '#/components/schemas/PointModel'
        - $ref: '#/components/schemas/PolygonModel'
        - $ref: '#/components/schemas/MultiPointModel'
        - $ref: '#/components/schemas/LineStringModel'
        - $ref: '#/components/schemas/MultiLinesStringModel'
        - $ref: '#/components/schemas/MultiPolygonModel'
    HandOverAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            from:
              $ref: '#/components/schemas/Association'
            to:
              $ref: '#/components/schemas/Association'
            stop:
              $ref: '#/components/schemas/ActionAssociation'
            pin:
              type: string
    HandOverActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            from:
              $ref: '#/components/schemas/Association'
            to:
              $ref: '#/components/schemas/Association'
            stop:
              $ref: '#/components/schemas/ActionAssociation'
            pin:
              type: string
    Identifier:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        system:
          type: string
        value:
          type: string
        expiredAt:
          type: string
          format: date-time
    IdentifierModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        system:
          type: string
        value:
          type: string
        expiredAt:
          type: string
          format: date-time
    IndustryModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        abbreviated:
          type: string
        enabled:
          type: boolean
    InlineAssociation:
      type: object
      allOf:
        - $ref: '#/components/schemas/Association'
        - type: object
          properties:
            entityType:
              type: string
              enum:
                - action
                - attachTransportEquipmentAction
                - detachTransportEquipmentAction
                - stopAction
                - loadAction
                - unloadAction
                - waitAction
                - consignment
                - extendedConsignment
                - transportEquipment
                - extendedTransportEquipment
                - items
                - goods
                - constraint
                - actor
                - location
                - route
                - sensor
                - vehicle
                - extendedVehicle
                - trip
                - transportOrder
                - extendedTransportOrder
                - business
                - event
                - locationUpdateEvent
                - startMovingEvent
                - startWaitingEvent
                - stopEngineEvent
                - stopMovingEvent
                - message
                - document
                - chauffeur
                - extendedChauffeur
                - chauffeurTimeslot
                - chat
                - user
                - administration
                - fleetVehicle
                - messageAutomation
                - capacity_contract
                - booking
                - invoice
                - invoice_line
                - quote
                - quote_line
                - integration
                - to_do
            entity:
              type: object
            description:
              type: string
    Integration:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - manual
            - configured
            - messageAutomation
            - fileTemplate
            - apiAccess
        name:
          type: string
        description:
          type: string
        schedule:
          $ref: '#/components/schemas/IntegrationSchedulerSchedule'
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationDataSource'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
        integration:
          type: array
          items:
            $ref: '#/components/schemas/Note'
      discriminator:
        propertyName: type
        mapping:
          configured: '#/components/schemas/ConfiguredIntegration'
          fileTemplate: '#/components/schemas/FileTemplateIntegration'
          manual: '#/components/schemas/ManualIntegration'
          messageAutomation: '#/components/schemas/MessageAutomationIntegration'
          apiAccess: '#/components/schemas/ApiAccessIntegration'
      oneOf:
        - $ref: '#/components/schemas/ConfiguredIntegration'
        - $ref: '#/components/schemas/FileTemplateIntegration'
        - $ref: '#/components/schemas/ManualIntegration'
        - $ref: '#/components/schemas/MessageAutomationIntegration'
        - $ref: '#/components/schemas/ApiAccessIntegration'
    IntegrationCredentials:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        authenticationMethod:
          type: string
          enum:
            - apiKey
            - accessKeys
            - basic
            - OAuth
            - bearer
            - openId
            - headers
        username:
          type: string
        password:
          type: string
        accessKey:
          type: string
        secretKey:
          type: string
        clientId:
          type: string
        clientSecret:
          type: string
        grantType:
          type: string
        scope:
          type: string
        apiKey:
          type: string
        bearer:
          type: string
        sshKey:
          $ref: '#/components/schemas/File'
        sshTunnel:
          type: boolean
        sshHost:
          type: string
        sshUsername:
          type: string
        sshPassword:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        headers:
          type: object
          additionalProperties:
            type: object
        oauthUrl:
          type: string
        oAuthCache:
          type: string
        oAuthCacheCreationDate:
          type: string
          format: date-time
        openIdToken:
          type: string
        openIdRefreshToken:
          type: string
        openIdAccessToken:
          type: string
        openIdExpiration:
          type: string
          format: date-time
    IntegrationCredentialsModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        authenticationMethod:
          type: string
          enum:
            - apiKey
            - accessKeys
            - basic
            - OAuth
            - bearer
            - openId
            - headers
        username:
          type: string
        password:
          type: string
        accessKey:
          type: string
        secretKey:
          type: string
        clientId:
          type: string
        clientSecret:
          type: string
        grantType:
          type: string
        scope:
          type: string
        apiKey:
          type: string
        bearer:
          type: string
        sshKey:
          $ref: '#/components/schemas/FileModel'
        sshTunnel:
          type: boolean
        sshHost:
          type: string
        sshUsername:
          type: string
        sshPassword:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        headers:
          type: object
          additionalProperties:
            type: object
        oauthUrl:
          type: string
        oAuthCache:
          type: string
        oAuthCacheCreationDate:
          type: string
          format: date-time
        openIdToken:
          type: string
        openIdRefreshToken:
          type: string
        openIdAccessToken:
          type: string
        openIdExpiration:
          type: string
          format: date-time
    IntegrationDataSource:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        directionType:
          type: string
          enum:
            - in
            - out
        connectionType:
          type: string
          enum:
            - api
            - ftp
            - sftp
            - sql
            - web_hook
            - email
        requestMethod:
          type: string
          enum:
            - get
            - post
            - put
            - patch
            - delete
        dataType:
          type: string
          enum:
            - xml
            - json
            - csv
            - empty
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        url:
          type: string
        port:
          type: integer
          format: int32
        path:
          type: string
        token:
          type: string
        query:
          type: string
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationField'
        allowedIps:
          type: array
          items:
            type: string
        hasAuthentication:
          type: boolean
        credentials:
          $ref: '#/components/schemas/IntegrationCredentials'
        otm:
          type: boolean
        fields:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationField'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        template:
          type: boolean
    IntegrationDataSourceModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        directionType:
          type: string
          enum:
            - in
            - out
        connectionType:
          type: string
          enum:
            - api
            - ftp
            - sftp
            - sql
            - web_hook
            - email
        requestMethod:
          type: string
          enum:
            - get
            - post
            - put
            - patch
            - delete
        dataType:
          type: string
          enum:
            - xml
            - json
            - csv
            - empty
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        url:
          type: string
        port:
          type: integer
          format: int32
        path:
          type: string
        token:
          type: string
        query:
          type: string
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationField'
        allowedIps:
          type: array
          items:
            type: string
        hasAuthentication:
          type: boolean
        credentials:
          $ref: '#/components/schemas/IntegrationCredentialsModel'
        otm:
          type: boolean
        fields:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationField'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        template:
          type: boolean
    IntegrationField:
      type: object
      properties:
        sequenceNr:
          type: integer
          format: int32
        type:
          type: string
          enum:
            - constant
            - string
            - integer
            - float
            - datetime
            - duration
            - date
            - time
            - boolean
            - object
            - array
            - filters
            - table
        regex:
          type: string
        format:
          type: string
        locale:
          type: string
        zoneId:
          type: string
        incomingPath:
          type: string
        outgoingPath:
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationField'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        options:
          type: array
          items:
            type: string
            enum:
              - identifier
              - to_lower_case
              - to_upper_case
              - capitalize
              - trim
              - remove_all_whitespace
              - filters
    IntegrationFileTemplateField:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        fieldType:
          type: string
          description: The field type that is being aggregated from the file
          enum:
            - constant
            - string
            - integer
            - float
            - datetime
            - duration
            - date
            - time
            - boolean
            - object
            - array
            - filters
            - table
        selectorType:
          type: string
          enum:
            - matrix
            - html
            - text_variable_position
            - constant
        selector:
          type: string
          description: >-
            The selector, different based on selectorType (A1:A2, div>div,
            "Date:")
        regex:
          type: string
          description: A regex that filters the value selected
        format:
          type: string
          description: The format the value is coming in and has to be fetched offset
        locale:
          type: string
        zoneId:
          type: string
        top:
          type: integer
          description: Spaces up for text variable position
          format: int32
        right:
          type: integer
          description: Spaces to the right for text variable position
          format: int32
        bottom:
          type: integer
          description: Spaces down for text variable position
          format: int32
        left:
          type: integer
          description: Spaces to the left for text variable position
          format: int32
        insertRegexSelector:
          type: string
        insertType:
          type: string
          enum:
            - before
            - replace
            - after
        insertValue:
          type: string
        path:
          type: string
          description: The JSON path the value has to map to
        fields:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFileTemplateField'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        options:
          type: array
          items:
            type: string
            enum:
              - identifier
              - to_lower_case
              - to_upper_case
              - capitalize
              - trim
              - remove_all_whitespace
              - filters
    IntegrationFilter:
      type: object
      properties:
        selector:
          type: string
        comparisonType:
          type: string
          enum:
            - equal
            - not_equal
            - greater_than
            - greater_or_equal_than
            - lesser_than
            - lesser_or_equal_than
            - between
            - in
            - not_in
            - contains
            - starts_with
            - ends_with
            - is_blank
            - is_not_blank
        value:
          type: string
        linkType:
          type: string
          enum:
            - and
            - or
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        sequenceNr:
          type: integer
          format: int32
    IntegrationModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - manual
            - configured
            - messageAutomation
            - fileTemplate
            - apiAccess
        name:
          type: string
        description:
          type: string
        schedule:
          $ref: '#/components/schemas/IntegrationSchedulerSchedule'
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationDataSourceModel'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
      discriminator:
        propertyName: type
        mapping:
          configured: '#/components/schemas/ConfiguredIntegrationModel'
          fileTemplate: '#/components/schemas/FileTemplateIntegrationModel'
          manual: '#/components/schemas/ManualIntegrationModel'
          messageAutomation: '#/components/schemas/MessageAutomationIntegrationModel'
          apiAccess: '#/components/schemas/ApiAccessIntegrationModel'
      oneOf:
        - $ref: '#/components/schemas/ConfiguredIntegrationModel'
        - $ref: '#/components/schemas/FileTemplateIntegrationModel'
        - $ref: '#/components/schemas/ManualIntegrationModel'
        - $ref: '#/components/schemas/MessageAutomationIntegrationModel'
        - $ref: '#/components/schemas/ApiAccessIntegrationModel'
    IntegrationSchedulerSchedule:
      type: object
      properties:
        integrationSchedulerScheduleValue:
          type: integer
          format: int32
        integrationSchedulerScheduleType:
          type: string
          enum:
            - seconds
            - minutes
            - hours
            - days
            - months
        milliseconds:
          type: integer
          format: int64
    Join:
      type: object
      properties:
        type:
          type: string
          enum:
            - inner_join
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        onLeft:
          $ref: '#/components/schemas/Field'
        onRight:
          $ref: '#/components/schemas/Field'
    Language:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        localName:
          type: string
        code:
          type: string
        iso3166:
          type: string
        decimalDelimiter:
          type: string
        thousandDelimiter:
          type: string
        dateFormat:
          type: string
        measurementUnit:
          type: string
          enum:
            - metric
            - imperial
    LatLonArrayGeoReference:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            administrativeReference:
              $ref: '#/components/schemas/AdministrativeReference'
            points:
              type: array
              items:
                $ref: '#/components/schemas/Point'
    LatLonArrayGeoReferenceModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            points:
              type: array
              items:
                $ref: '#/components/schemas/PointModel'
            administrativeReference:
              $ref: '#/components/schemas/AdministrativeReference'
    LatLonPointGeoReference:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            administrativeReference:
              $ref: '#/components/schemas/AdministrativeReference'
            lat:
              type: number
              format: double
            lon:
              type: number
              format: double
            speed:
              $ref: '#/components/schemas/ValueWithUnit'
            heading:
              $ref: '#/components/schemas/ValueWithUnit'
            bearing:
              $ref: '#/components/schemas/ValueWithUnit'
            bearingType:
              type: string
              enum:
                - absolute
                - relative
    LatLonPointGeoReferenceModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            administrativeReference:
              $ref: '#/components/schemas/AdministrativeReference'
            lat:
              type: number
              format: double
            lon:
              type: number
              format: double
            speed:
              $ref: '#/components/schemas/ValueWithUnit'
            heading:
              $ref: '#/components/schemas/ValueWithUnit'
            bearing:
              $ref: '#/components/schemas/ValueWithUnit'
            bearingType:
              type: string
              enum:
                - absolute
                - relative
    LineString:
      type: object
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: number
                  format: double
    LineStringModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeometryModel'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: number
                  format: double
    LoadAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            isContainmentAction:
              type: boolean
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            stackPointer:
              $ref: '#/components/schemas/StackPointer'
            containmentUUID:
              type: string
            containmentGoodsTypes:
              type: array
              items:
                type: string
                enum:
                  - transportEquipment
                  - items
    LoadActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            stop:
              $ref: '#/components/schemas/Association'
            isContainmentAction:
              type: boolean
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            stackPointer:
              $ref: '#/components/schemas/StackPointer'
            containmentUUID:
              type: string
            containmentGoodsTypes:
              type: array
              items:
                type: string
                enum:
                  - transportEquipment
                  - items
    LocalizedText:
      required:
        - content
        - messageTemplate
      type: object
      properties:
        language:
          $ref: '#/components/schemas/Language'
        content:
          type: string
          description: The template of a message for a particular messageAutomation
        messageTemplate:
          type: string
          description: The template of a message for a particular messageAutomation
        subject:
          type: string
    Location:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - warehouse
            - store
            - environmentalZone
            - restrictedArea
            - customer
            - parkingSpot
            - loadingUnloadingArea
            - operationalBase
            - fuelStation
        name:
          type: string
        unCode:
          type: string
        geoReference:
          $ref: '#/components/schemas/GeoReference'
        administrativeReference:
          $ref: '#/components/schemas/AdministrativeReference'
        contactPersons:
          type: array
          items:
            $ref: '#/components/schemas/ContactPerson'
        hash:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
        remark:
          type: string
    LocationAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/LocationInlineAssociation'
          reference: '#/components/schemas/LocationReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/LocationInlineAssociation'
        - $ref: '#/components/schemas/LocationReferenceAssociation'
    LocationInlineAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        entity:
          $ref: '#/components/schemas/LocationModel'
        description:
          type: string
    LocationModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - warehouse
            - store
            - environmentalZone
            - restrictedArea
            - customer
            - parkingSpot
            - loadingUnloadingArea
            - operationalBase
            - fuelStation
        name:
          type: string
        unCode:
          type: string
        geoReference:
          $ref: '#/components/schemas/GeoReferenceModel'
        administrativeReference:
          $ref: '#/components/schemas/AdministrativeReference'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElementModel'
        remark:
          type: string
        hash:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
      description: >-
        Object describing a geographic location. A location can either be a
        point or an area.
    LocationReferenceAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        uuid:
          type: string
        description:
          type: string
    ManualIntegration:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - manual
            - configured
            - messageAutomation
            - fileTemplate
            - apiAccess
        name:
          type: string
        description:
          type: string
        schedule:
          $ref: '#/components/schemas/IntegrationSchedulerSchedule'
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationDataSource'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
        sectorType:
          type: string
          enum:
            - boardComputer
            - transportOrder
            - terminal
            - mail
            - camera
            - sending_data
            - administration
            - communication_channel
            - CRM
        manualType:
          type: string
          enum:
            - transics
            - trimble
            - portbase
            - uturn
            - imap
            - smtp
            - samskip
            - containership
            - project44
            - telenormic
            - cbs
            - afas
            - twinfield
            - telegram
            - timocom
            - hubspot
            - bigmile
            - iveco
            - volvo
            - champ
            - opensky
            - fleets_online
        enabledFunctions:
          type: array
          items:
            type: string
        url:
          type: string
        port:
          type: integer
          format: int32
        credentials:
          $ref: '#/components/schemas/IntegrationCredentials'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        integration:
          type: array
          items:
            $ref: '#/components/schemas/Note'
    ManualIntegrationModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/IntegrationModel'
        - type: object
          properties:
            sectorType:
              type: string
              enum:
                - boardComputer
                - transportOrder
                - terminal
                - mail
                - camera
                - sending_data
                - administration
                - communication_channel
                - CRM
            manualType:
              type: string
              enum:
                - transics
                - trimble
                - portbase
                - uturn
                - imap
                - smtp
                - samskip
                - containership
                - project44
                - telenormic
                - cbs
                - afas
                - twinfield
                - telegram
                - timocom
                - hubspot
                - bigmile
                - iveco
                - volvo
                - champ
                - opensky
                - fleets_online
            enabledFunctions:
              type: array
              items:
                type: string
            url:
              type: string
            port:
              type: integer
              format: int32
            credentials:
              $ref: '#/components/schemas/IntegrationCredentialsModel'
            filters:
              type: array
              items:
                $ref: '#/components/schemas/IntegrationFilter'
    MaritimeBooking:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Booking'
        - type: object
          properties:
            billOfLadingNumber:
              type: string
            billOfLading:
              $ref: '#/components/schemas/Document'
    MessageAutomation:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        automationConfig:
          $ref: '#/components/schemas/MessageAutomationConfig'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
        template:
          type: boolean
        templateCategory:
          type: string
        type:
          type: string
          enum:
            - messageAutomation
            - questionAnswerAutomation
            - fileRequestAutomation
        notes:
          type: array
          items:
            $ref: '#/components/schemas/Note'
      discriminator:
        propertyName: type
        mapping:
          messageAutomation: '#/components/schemas/MessageMessageAutomation'
          questionAnswerAutomation: '#/components/schemas/QuestionAnswerMessageAutomation'
          fileRequestAutomation: '#/components/schemas/FileBasedMessageAutomation'
      oneOf:
        - $ref: '#/components/schemas/MessageMessageAutomation'
        - $ref: '#/components/schemas/QuestionAnswerMessageAutomation'
        - $ref: '#/components/schemas/FileBasedMessageAutomation'
    MessageAutomationConfig:
      type: object
      properties:
        triggerType:
          type: string
          enum:
            - trigger
            - scheduler
            - listener
        triggerEvent:
          type: string
          enum:
            - afterCreatingTrip
            - afterUpdatingTrip
            - afterConfirmingTrip
            - afterStartingTrip
            - afterFinishingTrip
            - afterCancelingTrip
            - afterLocationUpdateEvent
            - afterCreatingMessage
            - afterUpdatingMessage
            - afterCreatingEvent
            - afterStartEngineEvent
            - afterStartMovingEvent
            - afterStopMovingEvent
            - afterStopEngineEvent
            - afterCreatingWaitAction
            - afterUpdatingWaitAction
            - afterCreatingUnloadAction
            - afterUpdatingUnloadAction
            - afterCreatingStopAction
            - afterUpdatingStopAction
            - afterCreatingMoveAction
            - afterUpdatingMoveAction
            - afterCreatingLoadAction
            - afterUpdatingLoadAction
            - afterCreatingDetachTransportEquipmentAction
            - afterUpdatingDetachTransportEquipmentAction
            - afterCreatingDetachChauffeurAction
            - afterUpdatingDetachChauffeurAction
            - afterCreatingBreakAction
            - afterUpdatingBreakAction
            - afterCreatingAttachTransportEquipmentAction
            - afterUpdatingAttachTransportEquipmentAction
            - afterCreatingAttachChauffeurAction
            - afterUpdatingAttachChauffeurAction
            - afterActionLifeCycleUpdate
            - afterCreatingCapacityContract
            - afterUpdatingCapacityContract
            - afterCreatingMessageAutomation
            - AfterUpdatingMessageAutomation
            - afterCreatingTransportOrder
            - afterUpdatingTransportOrder
            - afterCreatingConsignment
            - afterUpdatingConsignment
            - afterCreatingBusiness
            - afterUpdatingBusiness
            - afterCreatingInvoice
            - afterSendingInvoice
            - afterUpdatingInvoice
            - afterCreatingQuote
            - afterUpdatingQuote
            - afterCreatingUser
            - afterUpdatingUser
            - afterCreatingLocation
            - afterUpdatingLocation
            - afterExceedingStopAverageDuration
            - afterHomeBaseReturnOverdue
            - afterCreatingBooking
            - afterUpdatingBooking
            - afterCreatingIntegration
            - afterUpdatingIntegration
        schedule:
          $ref: '#/components/schemas/IntegrationSchedulerSchedule'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        query:
          $ref: '#/components/schemas/Query'
        recipients:
          type: array
          items:
            type: string
        recipientSelector:
          type: string
        toggleForAll:
          type: boolean
        channel:
          type: string
          enum:
            - email
            - chat
            - notification
            - telegram
        manualIntegration:
          $ref: '#/components/schemas/ManualIntegration'
        includeAttachments:
          type: boolean
        subject:
          type: string
          description: The subject of a message for a particular messageAutomation
        currentTriggerPosition:
          type: integer
          format: int32
        localizedTexts:
          type: array
          items:
            $ref: '#/components/schemas/LocalizedText'
        defaultLanguageId:
          type: string
        languageSelector:
          type: string
    MessageAutomationIntegration:
      type: object
      allOf:
        - $ref: '#/components/schemas/Integration'
        - type: object
          properties:
            triggerType:
              type: string
              enum:
                - trigger
                - scheduler
                - listener
            triggerEvent:
              type: string
              enum:
                - afterCreatingTrip
                - afterUpdatingTrip
                - afterConfirmingTrip
                - afterStartingTrip
                - afterFinishingTrip
                - afterCancelingTrip
                - afterLocationUpdateEvent
                - afterCreatingMessage
                - afterUpdatingMessage
                - afterCreatingEvent
                - afterStartEngineEvent
                - afterStartMovingEvent
                - afterStopMovingEvent
                - afterStopEngineEvent
                - afterCreatingWaitAction
                - afterUpdatingWaitAction
                - afterCreatingUnloadAction
                - afterUpdatingUnloadAction
                - afterCreatingStopAction
                - afterUpdatingStopAction
                - afterCreatingMoveAction
                - afterUpdatingMoveAction
                - afterCreatingLoadAction
                - afterUpdatingLoadAction
                - afterCreatingDetachTransportEquipmentAction
                - afterUpdatingDetachTransportEquipmentAction
                - afterCreatingDetachChauffeurAction
                - afterUpdatingDetachChauffeurAction
                - afterCreatingBreakAction
                - afterUpdatingBreakAction
                - afterCreatingAttachTransportEquipmentAction
                - afterUpdatingAttachTransportEquipmentAction
                - afterCreatingAttachChauffeurAction
                - afterUpdatingAttachChauffeurAction
                - afterActionLifeCycleUpdate
                - afterCreatingCapacityContract
                - afterUpdatingCapacityContract
                - afterCreatingMessageAutomation
                - AfterUpdatingMessageAutomation
                - afterCreatingTransportOrder
                - afterUpdatingTransportOrder
                - afterCreatingConsignment
                - afterUpdatingConsignment
                - afterCreatingBusiness
                - afterUpdatingBusiness
                - afterCreatingInvoice
                - afterSendingInvoice
                - afterUpdatingInvoice
                - afterCreatingQuote
                - afterUpdatingQuote
                - afterCreatingUser
                - afterUpdatingUser
                - afterCreatingLocation
                - afterUpdatingLocation
                - afterExceedingStopAverageDuration
                - afterHomeBaseReturnOverdue
                - afterCreatingBooking
                - afterUpdatingBooking
                - afterCreatingIntegration
                - afterUpdatingIntegration
    MessageAutomationIntegrationModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/IntegrationModel'
        - type: object
          properties:
            triggerType:
              type: string
              enum:
                - trigger
                - scheduler
                - listener
            triggerEvent:
              type: string
              enum:
                - afterCreatingTrip
                - afterUpdatingTrip
                - afterConfirmingTrip
                - afterStartingTrip
                - afterFinishingTrip
                - afterCancelingTrip
                - afterLocationUpdateEvent
                - afterCreatingMessage
                - afterUpdatingMessage
                - afterCreatingEvent
                - afterStartEngineEvent
                - afterStartMovingEvent
                - afterStopMovingEvent
                - afterStopEngineEvent
                - afterCreatingWaitAction
                - afterUpdatingWaitAction
                - afterCreatingUnloadAction
                - afterUpdatingUnloadAction
                - afterCreatingStopAction
                - afterUpdatingStopAction
                - afterCreatingMoveAction
                - afterUpdatingMoveAction
                - afterCreatingLoadAction
                - afterUpdatingLoadAction
                - afterCreatingDetachTransportEquipmentAction
                - afterUpdatingDetachTransportEquipmentAction
                - afterCreatingDetachChauffeurAction
                - afterUpdatingDetachChauffeurAction
                - afterCreatingBreakAction
                - afterUpdatingBreakAction
                - afterCreatingAttachTransportEquipmentAction
                - afterUpdatingAttachTransportEquipmentAction
                - afterCreatingAttachChauffeurAction
                - afterUpdatingAttachChauffeurAction
                - afterActionLifeCycleUpdate
                - afterCreatingCapacityContract
                - afterUpdatingCapacityContract
                - afterCreatingMessageAutomation
                - AfterUpdatingMessageAutomation
                - afterCreatingTransportOrder
                - afterUpdatingTransportOrder
                - afterCreatingConsignment
                - afterUpdatingConsignment
                - afterCreatingBusiness
                - afterUpdatingBusiness
                - afterCreatingInvoice
                - afterSendingInvoice
                - afterUpdatingInvoice
                - afterCreatingQuote
                - afterUpdatingQuote
                - afterCreatingUser
                - afterUpdatingUser
                - afterCreatingLocation
                - afterUpdatingLocation
                - afterExceedingStopAverageDuration
                - afterHomeBaseReturnOverdue
                - afterCreatingBooking
                - afterUpdatingBooking
                - afterCreatingIntegration
                - afterUpdatingIntegration
    MessageAutomationModel:
      required:
        - description
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - messageAutomation
            - questionAnswerAutomation
            - fileRequestAutomation
        name:
          type: string
          description: The name of a messageAutomation
        description:
          type: string
          description: The description of a messageAutomation
        automationConfig:
          $ref: '#/components/schemas/MessageAutomationConfig'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
        template:
          type: boolean
        templateCategory:
          type: string
      discriminator:
        propertyName: type
        mapping:
          messageAutomation: '#/components/schemas/MessageMessageAutomationModel'
          questionAnswerAutomation: '#/components/schemas/QuestionAnswerMessageAutomationModel'
          fileRequestAutomation: '#/components/schemas/FileBasedMessageAutomationModel'
      oneOf:
        - $ref: '#/components/schemas/MessageMessageAutomationModel'
        - $ref: '#/components/schemas/QuestionAnswerMessageAutomationModel'
        - $ref: '#/components/schemas/FileBasedMessageAutomationModel'
    MessageMessageAutomation:
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomation'
    MessageMessageAutomationModel:
      required:
        - description
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomationModel'
    Money:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        amount:
          type: number
          format: double
        currency:
          $ref: '#/components/schemas/Currency'
        taxRate:
          $ref: '#/components/schemas/TaxRate'
        inclusiveOfTax:
          type: boolean
    MoneyModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        amount:
          type: number
          format: double
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        taxRate:
          $ref: '#/components/schemas/TaxRate'
        inclusiveOfTax:
          type: boolean
    MoveAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            from:
              $ref: '#/components/schemas/Association'
            to:
              $ref: '#/components/schemas/Association'
            route:
              $ref: '#/components/schemas/Association'
            transportMode:
              type: string
              enum:
                - maritime
                - road
                - rail
                - air
                - inlandWaterway
            distance:
              type: integer
              format: int32
            cost:
              type: integer
              format: int32
            CO2eWTW:
              type: number
              format: double
            CO2eTTW:
              type: number
              format: double
            previousStopId:
              type: string
            nextStopId:
              type: string
    MoveActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            from:
              $ref: '#/components/schemas/LocationAssociation'
            to:
              $ref: '#/components/schemas/LocationAssociation'
            route:
              $ref: '#/components/schemas/Association'
            transportMode:
              type: string
              enum:
                - maritime
                - road
                - rail
                - air
                - inlandWaterway
            distance:
              type: integer
              format: int32
            cost:
              type: integer
              format: int32
            CO2eWTW:
              type: number
              format: double
            CO2eTTW:
              type: number
              format: double
            previousStopId:
              type: string
            nextStopId:
              type: string
    MultiLinesString:
      type: object
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: number
                    format: double
    MultiLinesStringModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeometryModel'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: number
                    format: double
    MultiPoint:
      type: object
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: number
                  format: double
    MultiPointModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeometryModel'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: number
                  format: double
    MultiPolygon:
      type: object
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: array
                    items:
                      type: number
                      format: double
    MultiPolygonModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeometryModel'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: array
                    items:
                      type: number
                      format: double
    NotConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            not:
              type: array
              items:
                $ref: '#/components/schemas/Constraint'
    NotConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
    Note:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        author:
          $ref: '#/components/schemas/User'
        name:
          type: string
        text:
          type: string
    NoteModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        author:
          $ref: '#/components/schemas/UserModel'
        name:
          type: string
        text:
          type: string
    OneTimeContract:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/CapacityContract'
        - type: object
          properties:
            consignments:
              type: array
              items:
                $ref: '#/components/schemas/Consignment'
            purchasedUnits:
              type: integer
              format: int32
            capacity:
              $ref: '#/components/schemas/Capacity'
    OneTimeContractModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/CapacityContractModel'
        - type: object
          properties:
            consignments:
              type: array
              items:
                $ref: '#/components/schemas/ConsignmentModel'
            purchasedUnits:
              type: integer
              format: int32
            capacity:
              $ref: '#/components/schemas/CapacityModel'
    OrConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            or:
              type: array
              items:
                $ref: '#/components/schemas/Constraint'
    OrConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            or:
              type: array
              items:
                $ref: '#/components/schemas/ConstraintModel'
    PairStringString:
      type: object
      properties:
        first:
          type: string
        second:
          type: string
    PermanentContract:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/CapacityContract'
        - type: object
          properties:
            capacity:
              $ref: '#/components/schemas/Capacity'
            purchasedUnits:
              type: integer
              format: int32
    PermanentContractModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/CapacityContractModel'
        - type: object
          properties:
            capacity:
              $ref: '#/components/schemas/CapacityModel'
            purchasedUnits:
              type: integer
              format: int32
    Permission:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        read:
          type: boolean
        write:
          type: boolean
        delete:
          type: boolean
        permissionScope:
          type: string
          enum:
            - PUBLIC
            - PRIVATE
            - OWNER
        isObjectPermission:
          type: boolean
    Placement:
      type: object
      properties:
        order:
          type: integer
          format: int32
        x:
          type: number
          format: double
        'y':
          type: number
          format: double
        z:
          type: number
          format: double
        occupent:
          $ref: '#/components/schemas/Spatial3D'
        nextPlacementBlocks:
          type: array
          items:
            $ref: '#/components/schemas/PlacementBlock'
    PlacementBlock:
      type: object
      properties:
        x:
          type: number
          format: double
        'y':
          type: number
          format: double
        z:
          type: number
          format: double
        dx:
          type: number
          format: double
        dy:
          type: number
          format: double
        dz:
          type: number
          format: double
        bottomSupports:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/Placement'
    Point:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
        lat:
          type: number
          format: double
        lon:
          type: number
          format: double
    PointModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        lat:
          type: number
          format: double
        lon:
          type: number
          format: double
    Polygon:
      type: object
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: number
                    format: double
    PolygonModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeometryModel'
        - type: object
          properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: number
                    format: double
    PostalCodeRange:
      type: object
      properties:
        from:
          type: string
        to:
          type: string
        country:
          type: string
    PricingABModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            granularity:
              type: string
              enum:
                - country
                - city
                - postal_code
                - street
                - exact
            movementLevel:
              type: string
              enum:
                - moveAction
                - consignment
            from:
              $ref: '#/components/schemas/Location'
            to:
              $ref: '#/components/schemas/Location'
            amount:
              type: number
              format: double
            reverse:
              type: boolean
    PricingABModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            granularity:
              type: string
              enum:
                - country
                - city
                - postal_code
                - street
                - exact
            movementLevel:
              type: string
              enum:
                - moveAction
                - consignment
            from:
              $ref: '#/components/schemas/LocationModel'
            to:
              $ref: '#/components/schemas/LocationModel'
            amount:
              type: number
              format: double
            reverse:
              type: boolean
    PricingCategory:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        creditCode:
          type: string
        debitCode:
          type: string
        defaultValue:
          type: number
          format: double
        enabled:
          type: boolean
    PricingCategoryElementModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            pricingCategory:
              $ref: '#/components/schemas/PricingCategory'
            factor:
              type: number
              format: double
    PricingCategoryElementModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            pricingCategory:
              $ref: '#/components/schemas/PricingCategoryModel'
            factor:
              type: number
              format: double
    PricingCategoryModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        creditCode:
          type: string
        debitCode:
          type: string
        defaultValue:
          type: number
          format: double
        enabled:
          type: boolean
    PricingElement:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategory'
        amount:
          $ref: '#/components/schemas/Money'
    PricingElementModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategoryModel'
        amount:
          $ref: '#/components/schemas/MoneyModel'
    PricingExcelModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            document:
              $ref: '#/components/schemas/Document'
            cellsValue:
              type: array
              items:
                $ref: '#/components/schemas/PairStringString'
            resultCell:
              type: string
            factor:
              type: number
              format: double
    PricingExcelModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            document:
              $ref: '#/components/schemas/DocumentModel'
            cellsValue:
              type: array
              items:
                $ref: '#/components/schemas/PairStringString'
            resultCell:
              type: string
            factor:
              type: number
              format: double
    PricingFieldModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            selector:
              type: string
            factor:
              type: number
              format: double
            amount:
              type: number
              format: double
    PricingFieldModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            selector:
              type: string
            factor:
              type: number
              format: double
            amount:
              type: number
              format: double
    PricingFixedModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            amount:
              type: number
              format: double
    PricingFixedModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            amount:
              type: number
              format: double
    PricingFormulaModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            formula:
              type: string
    PricingFormulaModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            formula:
              type: string
    PricingHighestModuleValueModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
    PricingHighestModuleValueModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
    PricingLowestModuleValueModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
    PricingLowestModuleValueModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
    PricingModule:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - fixed
            - percentage
            - time
            - table
            - zone
            - ab
            - unit
            - element
            - variable_adjustment
            - formula
            - tql_formula
            - excel
            - field
            - modules
            - highest_module_value
            - lowest_module_value
        name:
          type: string
        sequenceNr:
          type: integer
          format: int32
        description:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategory'
        taxRates:
          type: array
          items:
            $ref: '#/components/schemas/PricingTaxRate'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleFilter'
        oncePerInvoice:
          type: boolean
      discriminator:
        propertyName: type
    PricingModuleFilter:
      type: object
      properties:
        selector:
          type: string
        comparisonType:
          type: string
          enum:
            - equal
            - not_equal
            - greater_than
            - greater_or_equal_than
            - lesser_than
            - lesser_or_equal_than
            - between
            - in
            - not_in
            - contains
            - starts_with
            - ends_with
            - is_blank
            - is_not_blank
        value:
          type: string
        linkType:
          type: string
          enum:
            - and
            - or
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
        sequenceNr:
          type: integer
          format: int32
    PricingModuleModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - fixed
            - percentage
            - time
            - table
            - zone
            - ab
            - unit
            - element
            - variable_adjustment
            - formula
            - tql_formula
            - excel
            - field
            - modules
            - highest_module_value
            - lowest_module_value
        name:
          type: string
        sequenceNr:
          type: integer
          format: int32
        description:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategoryModel'
        taxRates:
          type: array
          items:
            $ref: '#/components/schemas/PricingTaxRateModel'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleFilter'
        oncePerInvoice:
          type: boolean
      discriminator:
        propertyName: type
        mapping:
          fixed: '#/components/schemas/PricingFixedModuleModel'
          time: '#/components/schemas/PricingTimeModuleModel'
          unit: '#/components/schemas/PricingUnitModuleModel'
          table: '#/components/schemas/PricingTableModuleModel'
          percentage: '#/components/schemas/PricingPercentageModuleModel'
          ab: '#/components/schemas/PricingABModuleModel'
          element: '#/components/schemas/PricingCategoryElementModuleModel'
          excel: '#/components/schemas/PricingExcelModuleModel'
          variable_adjustment: '#/components/schemas/PricingVariableAdjustmentModuleModel'
          tql: '#/components/schemas/PricingTQLModuleModel'
          formula: '#/components/schemas/PricingFormulaModuleModel'
          zone: '#/components/schemas/PricingZonesModuleModel'
          field: '#/components/schemas/PricingFieldModuleModel'
          modules: '#/components/schemas/PricingModulesModuleModel'
          highest_module_value: '#/components/schemas/PricingHighestModuleValueModuleModel'
          lowest_module_value: '#/components/schemas/PricingLowestModuleValueModuleModel'
      oneOf:
        - $ref: '#/components/schemas/PricingFixedModuleModel'
        - $ref: '#/components/schemas/PricingTimeModuleModel'
        - $ref: '#/components/schemas/PricingUnitModuleModel'
        - $ref: '#/components/schemas/PricingTableModuleModel'
        - $ref: '#/components/schemas/PricingPercentageModuleModel'
        - $ref: '#/components/schemas/PricingABModuleModel'
        - $ref: '#/components/schemas/PricingCategoryElementModuleModel'
        - $ref: '#/components/schemas/PricingExcelModuleModel'
        - $ref: '#/components/schemas/PricingVariableAdjustmentModuleModel'
        - $ref: '#/components/schemas/PricingTQLModuleModel'
        - $ref: '#/components/schemas/PricingFormulaModuleModel'
        - $ref: '#/components/schemas/PricingZonesModuleModel'
        - $ref: '#/components/schemas/PricingFieldModuleModel'
        - $ref: '#/components/schemas/PricingModulesModuleModel'
        - $ref: '#/components/schemas/PricingHighestModuleValueModuleModel'
        - $ref: '#/components/schemas/PricingLowestModuleValueModuleModel'
    PricingModulesModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            modules:
              type: array
              items:
                $ref: '#/components/schemas/PricingModule'
    PricingModulesModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
    PricingPercentageModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            startValue:
              $ref: '#/components/schemas/PricingStartValue'
            percentage:
              type: number
              format: double
    PricingPercentageModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            startValue:
              $ref: '#/components/schemas/PricingStartValue'
            percentage:
              type: number
              format: double
    PricingStartValue:
      type: object
      properties:
        type:
          type: string
          enum:
            - context_value
            - previous_amount
        factor:
          type: number
          format: double
        selector:
          type: string
    PricingTQLModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            query:
              $ref: '#/components/schemas/Query'
    PricingTQLModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            query:
              $ref: '#/components/schemas/QueryModel'
    PricingTableModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            from:
              $ref: '#/components/schemas/Location'
            columnUnit:
              type: string
              enum:
                - location
                - km
                - mi
                - per_second
                - per_minute
                - per_hour
                - per_day
                - per_week
                - per_month
                - per_year
                - load_meter
                - kg
            cellUnit:
              type: string
              enum:
                - location
                - km
                - mi
                - per_second
                - per_minute
                - per_hour
                - per_day
                - per_week
                - per_month
                - per_year
                - load_meter
                - kg
            columns:
              type: array
              items:
                $ref: '#/components/schemas/PricingTableModuleColumns'
    PricingTableModuleCell:
      type: object
      properties:
        order:
          type: integer
          format: int32
        value:
          type: number
          format: double
        location:
          $ref: '#/components/schemas/Location'
    PricingTableModuleColumns:
      type: object
      properties:
        order:
          type: integer
          format: int32
        cells:
          type: array
          items:
            $ref: '#/components/schemas/PricingTableModuleCell'
    PricingTableModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            from:
              $ref: '#/components/schemas/LocationModel'
            columnUnit:
              type: string
              enum:
                - location
                - km
                - mi
                - per_second
                - per_minute
                - per_hour
                - per_day
                - per_week
                - per_month
                - per_year
                - load_meter
                - kg
            cellUnit:
              type: string
              enum:
                - location
                - km
                - mi
                - per_second
                - per_minute
                - per_hour
                - per_day
                - per_week
                - per_month
                - per_year
                - load_meter
                - kg
            columns:
              type: array
              items:
                $ref: '#/components/schemas/PricingTableModuleColumns'
    PricingTaxRate:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        sequenceNr:
          type: integer
          format: int32
        name:
          type: string
        description:
          type: string
        taxRate:
          $ref: '#/components/schemas/TaxRate'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleFilter'
    PricingTaxRateModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        sequenceNr:
          type: integer
          format: int32
        name:
          type: string
        description:
          type: string
        taxRate:
          $ref: '#/components/schemas/TaxRateModel'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleFilter'
    PricingTimeModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            timeEntityLevel:
              type: string
              enum:
                - trip
                - action
            timeUnit:
              type: string
              enum:
                - minutes
                - hours
                - days
                - weeks
                - months
                - years
            timeUnitAmount:
              type: integer
              format: int32
            amount:
              type: number
              format: double
    PricingTimeModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            timeEntityLevel:
              type: string
              enum:
                - trip
                - action
            timeUnit:
              type: string
              description: The time unit (minute, hour, day, week, month, year)
              enum:
                - minutes
                - hours
                - days
                - weeks
                - months
                - years
            timeUnitAmount:
              type: integer
              description: The amount of the time units (1 day, 3 hours, 100 seconds, etc.)
              format: int32
            amount:
              type: number
              format: double
    PricingUnitModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            unit:
              type: string
              enum:
                - location
                - km
                - mi
                - per_second
                - per_minute
                - per_hour
                - per_day
                - per_week
                - per_month
                - per_year
                - load_meter
                - kg
            amount:
              type: number
              format: double
    PricingUnitModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            unit:
              type: string
              enum:
                - location
                - km
                - mi
                - per_second
                - per_minute
                - per_hour
                - per_day
                - per_week
                - per_month
                - per_year
                - load_meter
                - kg
            amount:
              type: number
              format: double
    PricingVariableAdjustmentModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            startValue:
              $ref: '#/components/schemas/PricingStartValue'
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            pricingVariableIndex:
              $ref: '#/components/schemas/PricingVariableIndex'
            baseLevel:
              type: number
              format: double
            perDifferenceType:
              type: string
              enum:
                - fixed
                - percentage
            perDifference:
              type: number
              format: double
            changeType:
              type: string
              enum:
                - fixed
                - percentage
            change:
              type: number
              format: double
    PricingVariableAdjustmentModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            startValue:
              $ref: '#/components/schemas/PricingStartValue'
            targetEntityType:
              type: string
              enum:
                - fleetVehicle
                - vehicle
                - trip
                - transportOrder
                - consignment
                - accumulatedData
            pricingVariableIndex:
              $ref: '#/components/schemas/PricingVariableIndexModel'
            baseLevel:
              type: number
              format: double
            perDifferenceType:
              type: string
              enum:
                - fixed
                - percentage
            perDifference:
              type: number
              format: double
            changeType:
              type: string
              enum:
                - fixed
                - percentage
            change:
              type: number
              format: double
    PricingVariableIndex:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        variableName:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategory'
        value:
          type: number
          format: double
        timeRelated:
          type: boolean
    PricingVariableIndexModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        variableName:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategoryModel'
        value:
          type: number
          format: double
        timeRelated:
          type: boolean
    PricingZonesModule:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModule'
        - type: object
          properties:
            granularity:
              type: string
              enum:
                - country
                - city
                - postal_code
                - street
                - exact
            movementLevel:
              type: string
              enum:
                - moveAction
                - consignment
            from:
              $ref: '#/components/schemas/Location'
            postalCodeRanges:
              type: array
              items:
                $ref: '#/components/schemas/PostalCodeRange'
            amount:
              type: number
              format: double
    PricingZonesModuleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricingModuleModel'
        - type: object
          properties:
            granularity:
              type: string
              enum:
                - country
                - city
                - postal_code
                - street
                - exact
            movementLevel:
              type: string
              enum:
                - moveAction
                - consignment
            from:
              $ref: '#/components/schemas/LocationModel'
            postalCodeRanges:
              type: array
              items:
                $ref: '#/components/schemas/PostalCodeRange'
            amount:
              type: number
              format: double
    Query:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        fields:
          type: array
          items:
            $ref: '#/components/schemas/Field'
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        joins:
          type: array
          items:
            $ref: '#/components/schemas/Join'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/Field'
        having:
          $ref: '#/components/schemas/Field'
        sortFields:
          type: array
          items:
            $ref: '#/components/schemas/Field'
        sortDirection:
          type: string
          enum:
            - asc
            - desc
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
    QueryModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        fields:
          type: array
          items:
            $ref: '#/components/schemas/Field'
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        joins:
          type: array
          items:
            $ref: '#/components/schemas/Join'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/FilterModel'
        groupBy:
          type: array
          items:
            $ref: '#/components/schemas/Field'
        having:
          $ref: '#/components/schemas/Field'
        sortFields:
          type: array
          items:
            $ref: '#/components/schemas/Field'
        sortDirection:
          type: string
          enum:
            - asc
            - desc
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int32
    QuestionAnswerMessageAutomation:
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomation'
        - type: object
          properties:
            question:
              type: string
    QuestionAnswerMessageAutomationModel:
      required:
        - description
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomationModel'
        - type: object
          properties:
            question:
              type: string
    ReferenceAssociation:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintAssociation'
        - type: object
          properties:
            uuid:
              type: string
            description:
              type: string
    RemainingDrivingTimes:
      type: object
      properties:
        daysOfReducedRest:
          $ref: '#/components/schemas/TimeBreakDown'
        dailyAmplitude:
          $ref: '#/components/schemas/TimeBreakDown'
        drivingTimeBelowMaximum:
          $ref: '#/components/schemas/TimeBreakDown'
        dailyDrivingTime:
          $ref: '#/components/schemas/TimeBreakDown'
        daysOfDrivingLongerThan9h:
          $ref: '#/components/schemas/TimeBreakDown'
        weeklyDrivingTime:
          $ref: '#/components/schemas/TimeBreakDown'
        BIWeeklyDrivingTime:
          $ref: '#/components/schemas/TimeBreakDown'
        daysOfConsecutiveDriving:
          $ref: '#/components/schemas/TimeBreakDown'
    RoadBooking:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Booking'
        - type: object
          properties:
            crm:
              $ref: '#/components/schemas/Document'
    Route:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        time:
          type: integer
          format: int32
        cost:
          type: integer
          format: int32
        distance:
          type: integer
          format: int32
        expenses:
          type: array
          items:
            $ref: '#/components/schemas/RouteCostElement'
        additionalInfo:
          type: object
          additionalProperties:
            type: object
        lineString:
          type: string
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Actor'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        name:
          type: string
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
    RouteConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            route:
              $ref: '#/components/schemas/Route'
    RouteConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            route:
              $ref: '#/components/schemas/RouteModel'
    RouteCostElement:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        money:
          $ref: '#/components/schemas/Money'
    RouteCostElementModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        money:
          $ref: '#/components/schemas/MoneyModel'
    RouteModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        time:
          type: integer
          format: int32
        cost:
          type: integer
          format: int32
        distance:
          type: integer
          format: int32
        expenses:
          type: array
          items:
            $ref: '#/components/schemas/RouteCostElementModel'
        additionalInfo:
          type: object
          additionalProperties:
            type: object
        lineString:
          type: string
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintAssociation'
    Schedule:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        weekDays:
          type: array
          items:
            type: string
            enum:
              - sunday
              - monday
              - tuesday
              - wednesday
              - thursday
              - friday
              - saturday
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        timeSlotTemplates:
          type: array
          items:
            $ref: '#/components/schemas/TimeSlot'
        timeSlots:
          type: array
          items:
            $ref: '#/components/schemas/GeneratedTimeSlot'
    ScheduleModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        weekDays:
          type: array
          items:
            type: string
            enum:
              - sunday
              - monday
              - tuesday
              - wednesday
              - thursday
              - friday
              - saturday
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        timeSlotTemplates:
          type: array
          items:
            $ref: '#/components/schemas/TimeSlotModel'
        timeSlots:
          type: array
          items:
            $ref: '#/components/schemas/GeneratedTimeSlotModel'
    Sensor:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        name:
          type: string
          description: Name of the Sensor, for display and search purposes only.
        placement:
          type: string
          description: >-
            Sometimes more than one sensor can be associated with a single
            entity. This is the case e.g. in cooled trailers that are divided
            into compartments with different temperatures, where each
            compartment has its own sensor. The placement member can be used to
            identify where a sensor is placed. Parties using OpenTripModel to
            exchange sensor data may wish to agree on a standardized naming, but
            this is too specific to describe in the standard.
        type:
          type: string
          description: Type of the sensor, e.g. temperature, speed, etc.
          example: temperature
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
    SensorModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        placement:
          type: string
          description: >-
            Sometimes more than one sensor can be associated with a single
            entity. This is the case e.g. in cooled trailers that are divided
            into compartments with different temperatures, where each
            compartment has its own sensor. The placement member can be used to
            identify where a sensor is placed. Parties using OpenTripModel to
            exchange sensor data may wish to agree on a standardized naming, but
            this is too specific to describe in the standard.
        type:
          type: string
          description: Type of the sensor, e.g. temperature, speed, etc.
          example: temperature
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
    SensorValueConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            sensor:
              $ref: '#/components/schemas/Sensor'
            sensorValueConstraintType:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    SensorValueConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            sensor:
              $ref: '#/components/schemas/SensorModel'
            sensorValueConstraintType:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    ServiceCardModel:
      required:
        - issuedAt
        - validUntil
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
        description:
          type: string
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        issuedAt:
          type: string
          format: date-time
        validUntil:
          type: string
          format: date-time
    ServiceCardsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        serviceCards:
          type: array
          items:
            $ref: '#/components/schemas/ServiceCardModel'
    ShareSettings:
      type: object
      properties:
        isOpen:
          type: boolean
        shareCode:
          type: string
        validUntil:
          type: string
          format: date-time
    ShipmentLine:
      type: object
      properties:
        scacCode:
          type: string
        smdgCode:
          type: string
    Signature:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        ip:
          type: string
        userAgent:
          type: string
        date:
          type: string
          format: date-time
        file:
          $ref: '#/components/schemas/File'
    SignatureModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        ip:
          type: string
        userAgent:
          type: string
        date:
          type: string
          format: date-time
        file:
          $ref: '#/components/schemas/FileModel'
    SizeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            unit:
              type: string
            bounds:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    SizeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            unit:
              type: string
            bounds:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    Space3D:
      type: object
      properties:
        type:
          type: string
          enum:
            - OBJECT_3D
            - SPACE_3D
        description:
          type: string
        dx:
          type: number
          format: double
        dy:
          type: number
          format: double
        dz:
          type: number
          format: double
        stackable:
          type: boolean
        rotatable:
          type: boolean
        priority:
          type: integer
          format: int32
        rotated:
          type: boolean
        order:
          type: integer
          format: int32
        placements:
          type: array
          items:
            $ref: '#/components/schemas/Placement'
        spaceFillRatio:
          type: number
          format: double
    Spatial3D:
      type: object
      properties:
        type:
          type: string
          enum:
            - OBJECT_3D
            - SPACE_3D
        description:
          type: string
        dx:
          type: number
          format: double
        dy:
          type: number
          format: double
        dz:
          type: number
          format: double
        stackable:
          type: boolean
        rotatable:
          type: boolean
        priority:
          type: integer
          format: int32
        rotated:
          type: boolean
    SpeedConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            speedConstraintType:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    SpeedConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            speedConstraintType:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    StackCapacity:
      type: object
      properties:
        order:
          type: integer
          format: int32
        spatialUnitScale:
          $ref: '#/components/schemas/ValueWithUnit'
        usable:
          type: boolean
        lengthDX:
          type: number
          format: double
        widthDY:
          type: number
          format: double
        heightDZ:
          type: number
          format: double
        stackCapacityMetrics:
          $ref: '#/components/schemas/StackCapacityMetrics'
        stackSpace:
          $ref: '#/components/schemas/Space3D'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
    StackCapacityMetrics:
      type: object
      properties:
        availableGroundSpace:
          $ref: '#/components/schemas/ValueWithUnit'
        availableVolume:
          $ref: '#/components/schemas/ValueWithUnit'
        availableWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        availableLoadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
    StackObjectMetrics:
      type: object
      properties:
        totalMinimumGroundSpace:
          $ref: '#/components/schemas/ValueWithUnit'
        totalVolume:
          $ref: '#/components/schemas/ValueWithUnit'
        totalWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        totalMinimumLoadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
    StackPointer:
      type: object
      properties:
        x:
          type: integer
          format: int32
        'y':
          type: integer
          format: int32
        z:
          type: integer
          format: int32
    StartDateTimeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            startDateTime:
              type: string
              format: date-time
    StartDateTimeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            startDateTime:
              type: string
              format: date-time
    StopAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            distanceToNextStop:
              type: integer
              format: int32
    StopActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
    TaxRate:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        creditCode:
          type: string
        debitCode:
          type: string
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
        name:
          type: string
        description:
          type: string
        jurisdiction:
          type: string
        percentage:
          type: number
          format: double
        inclusive:
          type: boolean
        active:
          type: boolean
    TaxRateModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        creditCode:
          type: string
        debitCode:
          type: string
        description:
          type: string
        jurisdiction:
          type: string
        percentage:
          type: number
          format: double
        inclusive:
          type: boolean
        active:
          type: boolean
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
    TimeBreakDown:
      type: object
      properties:
        total:
          type: integer
          format: int32
        maximum:
          type: integer
          format: int32
        minimum:
          type: integer
          format: int32
        remaining:
          type: integer
          format: int32
    TimeSlot:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        capacityUnits:
          type: integer
          format: int32
        weekDay:
          type: string
          enum:
            - sunday
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
    TimeSlotModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        capacityUnits:
          type: integer
          format: int32
        weekDay:
          type: string
          enum:
            - sunday
            - monday
            - tuesday
            - wednesday
            - thursday
            - friday
            - saturday
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
    TimeWindowsConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            startingDateTime:
              type: string
              format: date-time
            endingDateTime:
              type: string
              format: date-time
    TimeWindowsConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            startingDateTime:
              type: string
              format: date-time
            endingDateTime:
              type: string
              format: date-time
    TmcArrayGeoReference:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            countryCode:
              type: string
            tableId:
              type: string
            tableVersionId:
              type: string
            points:
              type: array
              items:
                $ref: '#/components/schemas/TmcPoint'
            startOffset:
              type: integer
              format: int32
            endOffset:
              type: integer
              format: int32
    TmcArrayGeoReferenceModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            countryCode:
              type: string
            tableId:
              type: string
            tableVersionId:
              type: string
            points:
              type: array
              items:
                $ref: '#/components/schemas/TmcPointModel'
            startOffset:
              type: integer
              format: int32
            endOffset:
              type: integer
              format: int32
    TmcLocationGeoReference:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            countryCode:
              type: string
            tableId:
              type: string
            tableVersionId:
              type: string
            locationCode:
              type: string
            direction:
              type: string
              enum:
                - positive
                - negative
            offset:
              type: integer
              format: int32
            speed:
              $ref: '#/components/schemas/ValueWithUnit'
            heading:
              $ref: '#/components/schemas/ValueWithUnit'
            bearing:
              $ref: '#/components/schemas/ValueWithUnit'
            bearingType:
              type: string
              enum:
                - absolute
                - relative
    TmcLocationGeoReferenceModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            countryCode:
              type: string
            tableId:
              type: string
            tableVersionId:
              type: string
            locationCode:
              type: string
            direction:
              type: string
              enum:
                - positive
                - negative
            offset:
              type: integer
              format: int32
            speed:
              $ref: '#/components/schemas/ValueWithUnit'
            heading:
              $ref: '#/components/schemas/ValueWithUnit'
            bearing:
              $ref: '#/components/schemas/ValueWithUnit'
            bearingType:
              type: string
              enum:
                - absolute
                - relative
    TmcPoint:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - addressGeoReference
            - zoneGeoReference
            - tmcArrayGeoReference
            - tmcLocationGeoReference
            - openLRGeoReference
            - GeoReference
            - Feature
            - latLonArrayGeoReference
            - latLonPointGeoReference
        locationCode:
          type: string
        direction:
          type: string
          enum:
            - positive
            - negative
    TmcPointModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - addressGeoReference
            - zoneGeoReference
            - tmcArrayGeoReference
            - tmcLocationGeoReference
            - openLRGeoReference
            - GeoReference
            - Feature
            - latLonArrayGeoReference
            - latLonPointGeoReference
        locationCode:
          type: string
        direction:
          type: string
          enum:
            - positive
            - negative
    TransportEquipment:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - transportEquipment
            - items
        name:
          type: string
        description:
          type: string
        remark:
          type: string
        barCode:
          type: string
        quantity:
          type: integer
          format: int32
        weight:
          $ref: '#/components/schemas/ValueWithUnit'
        grossWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        maxStackableWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Actor'
        stackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
        isStackObjectMetricsUpdated:
          type: boolean
        loadWidth:
          $ref: '#/components/schemas/ValueWithUnit'
        loadHeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadLength:
          $ref: '#/components/schemas/ValueWithUnit'
        maxWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
        equipmentType:
          type: string
          description: The type of equipment (Trailer/Chassis/Pallet/Box/etc.)
        equipmentSubType:
          type: string
          description: >-
            The subtype of equipment (EuroPallet/Dry van/Reefer
            Van/Lowbed/Backbone/Block pallet)
        licensePlate:
          type: string
        vin:
          type: string
        equipmentId:
          type: string
        seal:
          type: string
        requirementCodes:
          type: array
          items:
            type: string
        business:
          $ref: '#/components/schemas/Business'
        operational:
          type: boolean
        internal:
          type: boolean
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
    TransportEquipmentModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - transportEquipment
            - items
        name:
          type: string
        description:
          type: string
        remark:
          type: string
        barCode:
          type: string
        quantity:
          type: integer
          format: int32
        weight:
          $ref: '#/components/schemas/ValueWithUnit'
        grossWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        maxStackableWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        stackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
        isStackObjectMetricsUpdated:
          type: boolean
        loadWidth:
          $ref: '#/components/schemas/ValueWithUnit'
        loadHeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadLength:
          $ref: '#/components/schemas/ValueWithUnit'
        maxWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
        equipmentType:
          type: string
          description: The type of equipment (Trailer/Chassis/Pallet/Box/etc.)
        equipmentSubType:
          type: string
          description: >-
            The subtype of equipment (EuroPallet/Dry van/Reefer
            Van/Lowbed/Backbone/Block pallet)
        licensePlate:
          type: string
        vin:
          type: string
        equipmentId:
          type: string
          description: |2-

                        The container number of the transport order.Should be 11 characters.First 3 characters should be letters. 
                        4th character should be U, J or Z and last 7 characters should be numbers.The format is in ISO 6346.
                        
        seal:
          type: string
          description: Seal number of the equipment
        requirementCodes:
          type: array
          description: The specific requirements for the transport.
          items:
            type: string
            description: The specific requirements for the transport.
        business:
          $ref: '#/components/schemas/Business'
        operational:
          type: boolean
        internal:
          type: boolean
    TransportEquipmentTypeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            equipmentTypes:
              type: array
              items:
                type: string
            subEquipmentTypes:
              type: array
              items:
                type: string
    TransportEquipmentTypeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            equipmentTypes:
              type: array
              items:
                type: string
            subEquipmentTypes:
              type: array
              items:
                type: string
    TransportOrderContract:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/CapacityContract'
        - type: object
          properties:
            trip:
              $ref: '#/components/schemas/Trip'
    TransportOrderContractModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/CapacityContractModel'
        - type: object
          properties:
            trip:
              $ref: '#/components/schemas/TripModel'
    Trip:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        versionNumber:
          type: integer
          format: int32
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        type:
          type: string
          enum:
            - internal
            - internal_empty
            - forwarded
        tripNr:
          type: string
        status:
          type: string
          enum:
            - draft
            - requested
            - accepted
            - confirmed
            - in_transit
            - completed
            - cancelled
            - modified
        planStatus:
          type: string
          enum:
            - ok
            - too_late
            - too_early
            - off_route
        routeStatus:
          type: string
          enum:
            - on_route
            - off_route
        currentAction:
          $ref: '#/components/schemas/Action'
        transportMode:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        capacityContract:
          $ref: '#/components/schemas/CapacityContract'
        linkedTrip:
          type: boolean
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/Chauffeur'
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipment'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Actor'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElement'
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        kmStart:
          type: integer
          format: int32
        kmEnd:
          type: integer
          format: int32
        booking:
          $ref: '#/components/schemas/Booking'
        shareSettings:
          $ref: '#/components/schemas/ShareSettings'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        expectedCost:
          $ref: '#/components/schemas/Money'
        expectedRevenue:
          $ref: '#/components/schemas/Money'
        actualCost:
          $ref: '#/components/schemas/Money'
        CO2eWTW:
          type: number
          format: double
        CO2eTTW:
          type: number
          format: double
        nextAction:
          $ref: '#/components/schemas/Action'
        lastAction:
          $ref: '#/components/schemas/Action'
        estimatedDuration:
          type: integer
          format: int32
        name:
          type: string
        route:
          $ref: '#/components/schemas/Route'
    TripAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/TripInlineAssociation'
          reference: '#/components/schemas/TripReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/TripInlineAssociation'
        - $ref: '#/components/schemas/TripReferenceAssociation'
    TripInlineAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        entity:
          $ref: '#/components/schemas/Trip'
        description:
          type: string
    TripModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
          enum:
            - internal
            - internal_empty
            - forwarded
        tripNr:
          type: string
        route:
          $ref: '#/components/schemas/RouteModel'
        status:
          type: string
          enum:
            - draft
            - requested
            - accepted
            - confirmed
            - in_transit
            - completed
            - cancelled
            - modified
        planStatus:
          type: string
          enum:
            - ok
            - too_late
            - too_early
            - off_route
        routeStatus:
          type: string
          enum:
            - on_route
            - off_route
        currentAction:
          $ref: '#/components/schemas/ActionModel'
        transportMode:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        capacityContract:
          $ref: '#/components/schemas/CapacityContractModel'
        linkedTrip:
          type: boolean
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurModel'
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipmentModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorAssociation'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintAssociation'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElementModel'
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        kmStart:
          type: integer
          format: int32
        kmEnd:
          type: integer
          format: int32
        booking:
          $ref: '#/components/schemas/Booking'
        shareSettings:
          $ref: '#/components/schemas/ShareSettings'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        expectedCost:
          $ref: '#/components/schemas/MoneyModel'
        expectedRevenue:
          $ref: '#/components/schemas/MoneyModel'
        actualCost:
          $ref: '#/components/schemas/MoneyModel'
        CO2eWTW:
          type: number
          format: double
        CO2eTTW:
          type: number
          format: double
        nextAction:
          $ref: '#/components/schemas/ActionModel'
        lastAction:
          $ref: '#/components/schemas/ActionModel'
        versionNumber:
          type: integer
          format: int32
        hasAgreedToPrice:
          type: boolean
          description: >-
            Set this value to 'true' if the user has agreed to the pricing of
            this element. Only needed once the NeedsBillingApproval Exception is
            thrown
          writeOnly: true
    TripReferenceAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        uuid:
          type: string
        description:
          type: string
    UnloadAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            isContainmentAction:
              type: boolean
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            stackPointer:
              $ref: '#/components/schemas/StackPointer'
            containmentUUID:
              type: string
            containmentGoodsTypes:
              type: array
              items:
                type: string
                enum:
                  - transportEquipment
                  - items
    UnloadActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            stop:
              $ref: '#/components/schemas/Association'
            isContainmentAction:
              type: boolean
            pin:
              type: string
            tar:
              type: string
            shipmentLine:
              $ref: '#/components/schemas/ShipmentLine'
            stackPointer:
              $ref: '#/components/schemas/StackPointer'
            containmentUUID:
              type: string
            containmentGoodsTypes:
              type: array
              items:
                type: string
                enum:
                  - transportEquipment
                  - items
    UpcomingRestingTimes:
      type: object
      properties:
        week:
          type: integer
          format: int32
        year:
          type: integer
          format: int32
        upcomingRestingTime:
          type: integer
          description: The upcoming resting times in seconds
          format: int32
    User:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        type:
          type: string
          enum:
            - user
            - developer
            - chauffeur
        username:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phone:
          type: string
        passwordModified:
          type: string
          format: date-time
        twoFactorAuthentication:
          type: boolean
        status:
          type: string
          enum:
            - DELETED
            - DEFAULT
            - CONFIRMED
            - REGISTERED
        loginMethod:
          type: string
          enum:
            - DEFAULT
            - SAML
        accountType:
          type: string
          enum:
            - default
            - customer
            - supplier
            - planning
            - financial
        standardLoadingSize:
          maximum: 100
          minimum: 10
          type: integer
          format: int32
        timezone:
          type: string
        vehicleGroups:
          type: array
          items:
            $ref: '#/components/schemas/VehicleGroup'
    UserModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - user
            - developer
            - chauffeur
        username:
          type: string
        avatar:
          $ref: '#/components/schemas/FileModel'
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phone:
          type: string
        passwordModified:
          type: string
          format: date-time
        twoFactorAuthentication:
          type: boolean
        status:
          type: string
          enum:
            - DELETED
            - DEFAULT
            - CONFIRMED
            - REGISTERED
        loginMethod:
          type: string
          enum:
            - DEFAULT
            - SAML
        timezone:
          type: string
        vehicleGroups:
          type: array
          items:
            $ref: '#/components/schemas/VehicleGroupModel'
        activeAdministration:
          $ref: '#/components/schemas/AdministrationModel'
        accountType:
          type: string
          enum:
            - default
            - customer
            - supplier
            - planning
            - financial
        standardLoadingSize:
          type: integer
          format: int32
    ValueWithUnit:
      type: object
      properties:
        value:
          type: string
        unit:
          type: string
    Vehicle:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        versionNumber:
          type: integer
          format: int32
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        transportMode:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        loadCapacities:
          type: array
          items:
            $ref: '#/components/schemas/ValueWithUnit'
        loadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        legalStatistics:
          $ref: '#/components/schemas/VehicleLegalStatistics'
        capacityContract:
          $ref: '#/components/schemas/CapacityContract'
        name:
          type: string
        description:
          type: string
        vin:
          type: string
        licensePlate:
          type: string
        vehicleType:
          type: string
        emissionStandard:
          type: string
          enum:
            - euro0
            - euro1
            - euro2
            - euro3
            - euro4
            - euro5
            - euro6
            - euro7
            - euro_eev
        fuelCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        fuelType:
          type: string
        maxLinks:
          type: integer
          format: int32
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        loadLength:
          $ref: '#/components/schemas/ValueWithUnit'
        loadHeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadWidth:
          $ref: '#/components/schemas/ValueWithUnit'
        maxWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        emptyWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        operational:
          type: boolean
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Attribute'
    VehicleGroup:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/Vehicle'
    VehicleGroupModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/VehicleModel'
    VehicleLegalStatistics:
      type: object
      properties:
        lastInstantOfAVehicleOwnerLocation:
          type: string
          format: date-time
        countryCabotageStatistics:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CountryCabotageStatistics'
        lastInstantOfInternationalTrip:
          type: string
          format: date-time
        lastInternationalTripDestinationCountry:
          type: string
    VehicleModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        vin:
          type: string
        licensePlate:
          type: string
        vehicleType:
          type: string
        transportMode:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        emissionStandard:
          type: string
          enum:
            - euro0
            - euro1
            - euro2
            - euro3
            - euro4
            - euro5
            - euro6
            - euro7
            - euro_eev
        fuelCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        fuelType:
          type: string
        maxLinks:
          type: integer
          format: int32
        loadCapacities:
          type: array
          items:
            $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        loadLength:
          $ref: '#/components/schemas/ValueWithUnit'
        loadHeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadWidth:
          $ref: '#/components/schemas/ValueWithUnit'
        maxWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        emptyWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
        operational:
          type: boolean
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        legalStatistics:
          $ref: '#/components/schemas/VehicleLegalStatistics'
        capacityContract:
          $ref: '#/components/schemas/CapacityContractModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        stackCapacities:
          type: array
          items:
            $ref: '#/components/schemas/StackCapacity'
        versionNumber:
          type: integer
          format: int32
        hasAgreedToPrice:
          type: boolean
          description: >-
            Set this value to 'true' if the user has agreed to the pricing of
            this element. Only needed once the NeedsBillingApproval Exception is
            thrown
          writeOnly: true
    VehicleTypeConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            vehicleTypes:
              type: array
              items:
                type: string
    VehicleTypeConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            vehicleTypes:
              type: array
              items:
                type: string
    WaitAction:
      required:
        - lifeCycle
        - name
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/Action'
        - type: object
          properties:
            reason:
              type: string
    WaitActionModel:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/ActionModel'
        - type: object
          properties:
            trip:
              $ref: '#/components/schemas/TripAssociation'
            reason:
              type: string
    WeightConstraintValue:
      required:
        - name
      type: object
      allOf:
        - $ref: '#/components/schemas/Constraint'
        - type: object
          properties:
            weightConstraintType:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    WeightConstraintValueModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/ConstraintModel'
        - type: object
          properties:
            weightConstraintType:
              type: string
              enum:
                - minimum
                - maximum
                - range
            maximum:
              $ref: '#/components/schemas/ValueWithUnit'
            minimum:
              $ref: '#/components/schemas/ValueWithUnit'
    ZoneGeoReference:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReference'
        - type: object
          properties:
            granularity:
              type: string
              enum:
                - country
                - city
                - postal_code
                - street
                - exact
            postalCodeRanges:
              type: array
              items:
                $ref: '#/components/schemas/PostalCodeRange'
    ZoneGeoReferenceModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GeoReferenceModel'
        - type: object
          properties:
            granularity:
              type: string
              enum:
                - country
                - city
                - postal_code
                - street
                - exact
            postalCodeRanges:
              type: array
              items:
                $ref: '#/components/schemas/PostalCodeRange'
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        errors:
          type: array
          items:
            type: string
        suggestion:
          type: string
    BillingModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        plan:
          $ref: '#/components/schemas/PlanModel'
        companyName:
          type: string
        vat:
          type: string
        email:
          type: string
        administrativeReference:
          $ref: '#/components/schemas/AdministrativeReference'
        customerId:
          type: string
        intentId:
          type: string
        lastBilled:
          type: string
          format: date-time
        lastUsageEventsRun:
          type: string
          format: date-time
        approvedBillingElementTypes:
          type: array
          items:
            type: string
            enum:
              - user
              - vehicle
              - consignment
              - invoice
              - quote
              - trip
              - messageAutomation
              - integration
    InvoiceLineModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        sequenceNr:
          type: integer
          format: int32
        quantity:
          type: number
          format: double
        description:
          type: string
        startDateTime:
          type: string
          format: date-time
        endDateTime:
          type: string
          format: date-time
        value:
          $ref: '#/components/schemas/MoneyModel'
        subTotal:
          $ref: '#/components/schemas/MoneyModel'
        tax:
          $ref: '#/components/schemas/MoneyModel'
        total:
          $ref: '#/components/schemas/MoneyModel'
        plan:
          $ref: '#/components/schemas/PlanModel'
        subscription:
          $ref: '#/components/schemas/SubscriptionModel'
        entityId:
          type: string
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        pricingCategory:
          $ref: '#/components/schemas/PricingCategoryModel'
        distinctPerInvoiceId:
          type: string
    InvoiceModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        year:
          type: integer
          format: int32
          readOnly: true
        number:
          type: integer
          format: int32
          readOnly: true
        name:
          type: string
        description:
          type: string
        reference:
          type: string
        paymentReference:
          type: string
        status:
          type: string
          enum:
            - concept
            - open
            - paid
            - reminded
            - too_late
            - cancelled
        reminderCount:
          type: integer
          format: int32
        direction:
          type: string
          enum:
            - in
            - out
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        cancelledReason:
          type: string
        lines:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineModel'
        subjectBusiness:
          $ref: '#/components/schemas/Business'
        targetBusiness:
          $ref: '#/components/schemas/Business'
        creator:
          $ref: '#/components/schemas/UserModel'
        date:
          type: string
          format: date-time
          readOnly: true
        dueAt:
          type: string
          format: date-time
        nextReminderDate:
          type: string
          format: date-time
        subTotal:
          $ref: '#/components/schemas/MoneyModel'
        tax:
          $ref: '#/components/schemas/MoneyModel'
        total:
          $ref: '#/components/schemas/MoneyModel'
        totalOpen:
          $ref: '#/components/schemas/MoneyModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        billing:
          $ref: '#/components/schemas/BillingModel'
    PlanModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        interval:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        intervalCount:
          type: integer
          format: int32
        trialPeriodDays:
          type: integer
          format: int32
        amount:
          $ref: '#/components/schemas/MoneyModel'
        usageElementTypePrices:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/PlanValue'
        startedAt:
          type: string
          format: date-time
        expiredAt:
          type: string
          format: date-time
        primary:
          type: boolean
    PlanValue:
      type: object
      properties:
        value:
          type: number
          format: double
        freemium:
          type: integer
          format: int32
        filters:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationFilter'
    SubscriptionModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        plans:
          type: array
          items:
            $ref: '#/components/schemas/PlanModel'
    TireModel:
      required:
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        tireClass:
          type: string
          enum:
            - P
            - LT
            - ST
            - T
        fabricType:
          type: string
          enum:
            - B
            - D
            - R
            - C
        threadWidth:
          type: integer
          format: int32
        aspectRatio:
          type: string
        speedingRate:
          type: string
        diameter:
          type: integer
          format: int32
        loadIndex:
          type: integer
          format: int32
        madeIn:
          type: string
        invoice:
          $ref: '#/components/schemas/InvoiceModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
        name:
          type: string
          description: Name of the TransportOrder, for display and search purposes only.
        vehicle:
          $ref: '#/components/schemas/Vehicle'
    TiresResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        tires:
          type: array
          items:
            $ref: '#/components/schemas/TireModel'
    ActionResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        action:
          $ref: '#/components/schemas/Action'
    ActionsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
    UpdateActionTimesRequest:
      type: object
      properties:
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
    ActorCreateModel:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        user:
          $ref: '#/components/schemas/User'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailModel'
    ActorResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        actor:
          $ref: '#/components/schemas/ActorModel'
    ActorsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
    AchCreditTransferModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        accountNumber:
          type: string
        bankName:
          type: string
        fingerprint:
          type: string
        refundAccountHolderName:
          type: string
        refundAccountHolderType:
          type: string
        refundRoutingNumber:
          type: string
        routingNumber:
          type: string
        swiftCode:
          type: string
    AchDebitModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bankName:
          type: string
        country:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
        routingNumber:
          type: string
        type:
          type: string
    AcssDebitModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bankAddressCity:
          type: string
        bankAddressLine1:
          type: string
        bankAddressLine2:
          type: string
        bankAddressPostalCode:
          type: string
        bankName:
          type: string
        category:
          type: string
        country:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
        routingNumber:
          type: string
    AlipayModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        dataString:
          type: string
        nativeUrl:
          type: string
        statementDescriptor:
          type: string
    AuBecsDebitModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bsbNumber:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
    BancontactModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bankCode:
          type: string
        bankName:
          type: string
        bic:
          type: string
        ibanLast4:
          type: string
        preferredLanguage:
          type: string
        statementDescriptor:
          type: string
    CardModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        addressLine1Check:
          type: string
        addressZipCheck:
          type: string
        brand:
          type: string
        country:
          type: string
        cvcCheck:
          type: string
        description:
          type: string
        dynamicLast4:
          type: string
        expMonth:
          type: integer
          format: int64
        expYear:
          type: integer
          format: int64
        fingerprint:
          type: string
        funding:
          type: string
        iin:
          type: string
        issuer:
          type: string
        last4:
          type: string
        name:
          type: string
        threeDSecure:
          type: string
        tokenizationMethod:
          type: string
    CardPresentModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        applicationCryptogram:
          type: string
        applicationPreferredName:
          type: string
        authorizationCode:
          type: string
        authorizationResponseCode:
          type: string
        brand:
          type: string
        country:
          type: string
        cvmType:
          type: string
        dataType:
          type: string
        dedicatedFileName:
          type: string
        description:
          type: string
        emvAuthData:
          type: string
        evidenceCustomerSignature:
          type: string
        evidenceTransactionCertificate:
          type: string
        expMonth:
          type: integer
          format: int64
        expYear:
          type: integer
          format: int64
        fingerprint:
          type: string
        funding:
          type: string
        iin:
          type: string
        issuer:
          type: string
        last4:
          type: string
        posDeviceId:
          type: string
        posEntryMode:
          type: string
        readMethod:
          type: string
        reader:
          type: string
        terminalVerificationResults:
          type: string
        transactionStatusInformation:
          type: string
    ChargeCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        name:
          type: string
        description:
          type: string
        amount:
          $ref: '#/components/schemas/MoneyModel'
        method:
          type: string
          enum:
            - UNKNOWN
            - INTERNAL
            - WITHDRAW
            - IDEAL
            - CARD
            - PAYPAL
        state:
          type: string
          enum:
            - PENDING
            - CHARGEABLE
            - CONSUMED
            - FAILED
            - CANCELED
        sourceId:
          type: string
        source:
          $ref: '#/components/schemas/SourceModel'
        creator:
          $ref: '#/components/schemas/UserModel'
        fromUser:
          $ref: '#/components/schemas/UserModel'
        fromBusiness:
          $ref: '#/components/schemas/Business'
        toUser:
          $ref: '#/components/schemas/UserModel'
        toBusiness:
          $ref: '#/components/schemas/Business'
        startsAt:
          type: string
          format: date-time
        endsAt:
          type: string
          format: date-time
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
    EpsModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        reference:
          type: string
        statementDescriptor:
          type: string
    IdealModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bank:
          type: string
        bic:
          type: string
        ibanLast4:
          type: string
        statementDescriptor:
          type: string
    KlarnaModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        backgroundImageUrl:
          type: string
        clientToken:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        locale:
          type: string
        logoUrl:
          type: string
        pageTitle:
          type: string
        payLaterAssetUrlsDescriptive:
          type: string
        payLaterAssetUrlsStandard:
          type: string
        payLaterName:
          type: string
        payLaterRedirectUrl:
          type: string
        payNowAssetUrlsDescriptive:
          type: string
        payNowAssetUrlsStandard:
          type: string
        payNowName:
          type: string
        payNowRedirectUrl:
          type: string
        payOverTimeAssetUrlsDescriptive:
          type: string
        payOverTimeAssetUrlsStandard:
          type: string
        payOverTimeName:
          type: string
        payOverTimeRedirectUrl:
          type: string
        paymentMethodCategories:
          type: string
        purchaseCountry:
          type: string
        purchaseType:
          type: string
        redirectUrl:
          type: string
        shippingFirstName:
          type: string
        shippingLastName:
          type: string
    MultibancoModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        entity:
          type: string
        reference:
          type: string
        refundAccountHolderAddressCity:
          type: string
        refundAccountHolderAddressCountry:
          type: string
        refundAccountHolderAddressLine1:
          type: string
        refundAccountHolderAddressLine2:
          type: string
        refundAccountHolderAddressPostalCode:
          type: string
        refundAccountHolderAddressState:
          type: string
        refundAccountHolderName:
          type: string
        refundIban:
          type: string
    P24Model:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        reference:
          type: string
    SepaCreditTransferModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bankName:
          type: string
        bic:
          type: string
        iban:
          type: string
        refundAccountHolderAddressCity:
          type: string
        refundAccountHolderAddressCountry:
          type: string
        refundAccountHolderAddressLine1:
          type: string
        refundAccountHolderAddressLine2:
          type: string
        refundAccountHolderAddressPostalCode:
          type: string
        refundAccountHolderAddressState:
          type: string
        refundAccountHolderName:
          type: string
        refundIban:
          type: string
    SepaDebitModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bankCode:
          type: string
        branchCode:
          type: string
        country:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
        mandateReference:
          type: string
        mandateUrl:
          type: string
    SofortModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bankCode:
          type: string
        bankName:
          type: string
        bic:
          type: string
        country:
          type: string
        ibanLast4:
          type: string
        preferredLanguage:
          type: string
        statementDescriptor:
          type: string
    SourceModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        amount:
          type: integer
          format: int64
        type:
          type: string
          enum:
            - ach_credit_transfer
            - ach_debit
            - alipay
            - bancontact
            - card
            - card_present
            - eps
            - giropay
            - ideal
            - multibanco
            - klarna
            - p24
            - sepa_debit
            - sofort
            - three_d_secure
            - wechat
        clientSecret:
          type: string
        codeVerification:
          type: string
        achCreditTransfer:
          $ref: '#/components/schemas/AchCreditTransferModel'
        achDebit:
          $ref: '#/components/schemas/AchDebitModel'
        acssDebit:
          $ref: '#/components/schemas/AcssDebitModel'
        alipay:
          $ref: '#/components/schemas/AlipayModel'
        auBecsDebit:
          $ref: '#/components/schemas/AuBecsDebitModel'
        bancontact:
          $ref: '#/components/schemas/BancontactModel'
        card:
          $ref: '#/components/schemas/CardModel'
        cardPresent:
          $ref: '#/components/schemas/CardPresentModel'
        eps:
          $ref: '#/components/schemas/EpsModel'
        ideal:
          $ref: '#/components/schemas/IdealModel'
        klarna:
          $ref: '#/components/schemas/KlarnaModel'
        multibanco:
          $ref: '#/components/schemas/MultibancoModel'
        p24:
          $ref: '#/components/schemas/P24Model'
        sepaCreditTransfer:
          $ref: '#/components/schemas/SepaCreditTransferModel'
        sepaDebit:
          $ref: '#/components/schemas/SepaDebitModel'
        sofort:
          $ref: '#/components/schemas/SofortModel'
        threeDSecure:
          $ref: '#/components/schemas/ThreeDSecureModel'
        wechat:
          $ref: '#/components/schemas/WechatModel'
    ThreeDSecureModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        addressLine1Check:
          type: string
        addressZipCheck:
          type: string
        authenticated:
          type: boolean
        brand:
          type: string
        card:
          type: string
        country:
          type: string
        customer:
          type: string
        cvcCheck:
          type: string
        description:
          type: string
        dynamicLast4:
          type: string
        expMonth:
          type: integer
          format: int64
        expYear:
          type: integer
          format: int64
        fingerprint:
          type: string
        funding:
          type: string
        iin:
          type: string
        issuer:
          type: string
        last4:
          type: string
        name:
          type: string
        threeDSecure:
          type: string
        tokenizationMethod:
          type: string
    WechatModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        prepayId:
          type: string
        qrCodeUrl:
          type: string
        statementDescriptor:
          type: string
    AchCreditTransfer:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        account_number:
          type: string
        bank_name:
          type: string
        fingerprint:
          type: string
        refund_account_holder_name:
          type: string
        refund_account_holder_type:
          type: string
        refund_routing_number:
          type: string
        routing_number:
          type: string
        swift_code:
          type: string
    AchDebit:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank_name:
          type: string
        country:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
        routing_number:
          type: string
        type:
          type: string
    AcssDebit:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank_address_city:
          type: string
        bank_address_line_1:
          type: string
        bank_address_line_2:
          type: string
        bank_address_postal_code:
          type: string
        bank_name:
          type: string
        category:
          type: string
        country:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
        routing_number:
          type: string
    Address:
      type: object
      properties:
        city:
          type: string
        country:
          type: string
        line1:
          type: string
        line2:
          type: string
        postalCode:
          type: string
        state:
          type: string
    Alipay:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        data_string:
          type: string
        native_url:
          type: string
        statement_descriptor:
          type: string
    AuBecsDebit:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bsb_number:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
    Bancontact:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank_code:
          type: string
        bank_name:
          type: string
        bic:
          type: string
        iban_last4:
          type: string
        preferred_language:
          type: string
        statement_descriptor:
          type: string
    Card:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        address_line1_check:
          type: string
        address_zip_check:
          type: string
        brand:
          type: string
        country:
          type: string
        cvc_check:
          type: string
        description:
          type: string
        dynamic_last4:
          type: string
        exp_month:
          type: integer
          format: int64
        exp_year:
          type: integer
          format: int64
        fingerprint:
          type: string
        funding:
          type: string
        iin:
          type: string
        issuer:
          type: string
        last4:
          type: string
        name:
          type: string
        three_d_secure:
          type: string
        tokenization_method:
          type: string
    CardPresent:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        application_cryptogram:
          type: string
        application_preferred_name:
          type: string
        authorization_code:
          type: string
        authorization_response_code:
          type: string
        brand:
          type: string
        country:
          type: string
        cvm_type:
          type: string
        data_type:
          type: string
        dedicated_file_name:
          type: string
        description:
          type: string
        emv_auth_data:
          type: string
        evidence_customer_signature:
          type: string
        evidence_transaction_certificate:
          type: string
        exp_month:
          type: integer
          format: int64
        exp_year:
          type: integer
          format: int64
        fingerprint:
          type: string
        funding:
          type: string
        iin:
          type: string
        issuer:
          type: string
        last4:
          type: string
        pos_device_id:
          type: string
        pos_entry_mode:
          type: string
        read_method:
          type: string
        reader:
          type: string
        terminal_verification_results:
          type: string
        transaction_status_information:
          type: string
    ChargeModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        name:
          type: string
        description:
          type: string
        amount:
          $ref: '#/components/schemas/MoneyModel'
        method:
          type: string
          enum:
            - UNKNOWN
            - INTERNAL
            - WITHDRAW
            - IDEAL
            - CARD
            - PAYPAL
        state:
          type: string
          enum:
            - PENDING
            - CHARGEABLE
            - CONSUMED
            - FAILED
            - CANCELED
        sourceId:
          type: string
        source:
          $ref: '#/components/schemas/SourceModel'
        creator:
          $ref: '#/components/schemas/UserModel'
        fromUser:
          $ref: '#/components/schemas/UserModel'
        fromBusiness:
          $ref: '#/components/schemas/Business'
        toUser:
          $ref: '#/components/schemas/UserModel'
        toBusiness:
          $ref: '#/components/schemas/Business'
        startsAt:
          type: string
          format: date-time
        endsAt:
          type: string
          format: date-time
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
    ChargeResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        charge:
          $ref: '#/components/schemas/ChargeModel'
        transaction:
          $ref: '#/components/schemas/TransactionModel'
        source:
          $ref: '#/components/schemas/Source'
    CodeVerification:
      type: object
      properties:
        attemptsRemaining:
          type: integer
          format: int64
        status:
          type: string
    Eps:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        reference:
          type: string
        statement_descriptor:
          type: string
    Giropay:
      type: object
      properties:
        bankCode:
          type: string
        bankName:
          type: string
        bic:
          type: string
        statementDescriptor:
          type: string
    Ideal:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank:
          type: string
        bic:
          type: string
        iban_last4:
          type: string
        statement_descriptor:
          type: string
    Item:
      type: object
      properties:
        amount:
          type: integer
          format: int64
        currency:
          type: string
        description:
          type: string
        parent:
          type: string
        quantity:
          type: integer
          format: int64
        type:
          type: string
    Klarna:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        background_image_url:
          type: string
        client_token:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        locale:
          type: string
        logo_url:
          type: string
        page_title:
          type: string
        pay_later_asset_urls_descriptive:
          type: string
        pay_later_asset_urls_standard:
          type: string
        pay_later_name:
          type: string
        pay_later_redirect_url:
          type: string
        pay_now_asset_urls_descriptive:
          type: string
        pay_now_asset_urls_standard:
          type: string
        pay_now_name:
          type: string
        pay_now_redirect_url:
          type: string
        pay_over_time_asset_urls_descriptive:
          type: string
        pay_over_time_asset_urls_standard:
          type: string
        pay_over_time_name:
          type: string
        pay_over_time_redirect_url:
          type: string
        payment_method_categories:
          type: string
        purchase_country:
          type: string
        purchase_type:
          type: string
        redirect_url:
          type: string
        shipping_first_name:
          type: string
        shipping_last_name:
          type: string
    Multibanco:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        entity:
          type: string
        reference:
          type: string
        refund_account_holder_address_city:
          type: string
        refund_account_holder_address_country:
          type: string
        refund_account_holder_address_line1:
          type: string
        refund_account_holder_address_line2:
          type: string
        refund_account_holder_address_postal_code:
          type: string
        refund_account_holder_address_state:
          type: string
        refund_account_holder_name:
          type: string
        refund_iban:
          type: string
    Owner:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/Address'
        email:
          type: string
        name:
          type: string
        phone:
          type: string
        verifiedAddress:
          $ref: '#/components/schemas/Address'
        verifiedEmail:
          type: string
        verifiedName:
          type: string
        verifiedPhone:
          type: string
    P24:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        reference:
          type: string
    Receiver:
      type: object
      properties:
        address:
          type: string
        amountCharged:
          type: integer
          format: int64
        amountReceived:
          type: integer
          format: int64
        amountReturned:
          type: integer
          format: int64
        refundAttributesMethod:
          type: string
        refundAttributesStatus:
          type: string
    Redirect:
      type: object
      properties:
        failureReason:
          type: string
        returnUrl:
          type: string
        status:
          type: string
        url:
          type: string
    SepaCreditTransfer:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank_name:
          type: string
        bic:
          type: string
        iban:
          type: string
        refund_account_holder_address_city:
          type: string
        refund_account_holder_address_country:
          type: string
        refund_account_holder_address_line1:
          type: string
        refund_account_holder_address_line2:
          type: string
        refund_account_holder_address_postal_code:
          type: string
        refund_account_holder_address_state:
          type: string
        refund_account_holder_name:
          type: string
        refund_iban:
          type: string
    SepaDebit:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank_code:
          type: string
        branch_code:
          type: string
        country:
          type: string
        fingerprint:
          type: string
        last4:
          type: string
        mandate_reference:
          type: string
        mandate_url:
          type: string
    ShippingDetails:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/Address'
        carrier:
          type: string
        name:
          type: string
        phone:
          type: string
        trackingNumber:
          type: string
    Sofort:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        bank_code:
          type: string
        bank_name:
          type: string
        bic:
          type: string
        country:
          type: string
        iban_last4:
          type: string
        preferred_language:
          type: string
        statement_descriptor:
          type: string
    Source:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        amount:
          type: integer
          format: int64
        type:
          type: string
          enum:
            - ach_credit_transfer
            - ach_debit
            - alipay
            - bancontact
            - card
            - card_present
            - eps
            - giropay
            - ideal
            - multibanco
            - klarna
            - p24
            - sepa_debit
            - sofort
            - three_d_secure
            - wechat
        clientSecret:
          type: string
        codeVerification:
          type: string
        achCreditTransfer:
          $ref: '#/components/schemas/AchCreditTransfer'
        achDebit:
          $ref: '#/components/schemas/AchDebit'
        acssDebit:
          $ref: '#/components/schemas/AcssDebit'
        alipay:
          $ref: '#/components/schemas/Alipay'
        auBecsDebit:
          $ref: '#/components/schemas/AuBecsDebit'
        bancontact:
          $ref: '#/components/schemas/Bancontact'
        card:
          $ref: '#/components/schemas/Card'
        cardPresent:
          $ref: '#/components/schemas/CardPresent'
        eps:
          $ref: '#/components/schemas/Eps'
        ideal:
          $ref: '#/components/schemas/Ideal'
        klarna:
          $ref: '#/components/schemas/Klarna'
        multibanco:
          $ref: '#/components/schemas/Multibanco'
        p24:
          $ref: '#/components/schemas/P24'
        sepaCreditTransfer:
          $ref: '#/components/schemas/SepaCreditTransfer'
        sepaDebit:
          $ref: '#/components/schemas/SepaDebit'
        sofort:
          $ref: '#/components/schemas/Sofort'
        threeDSecure:
          $ref: '#/components/schemas/ThreeDSecure'
        wechat:
          $ref: '#/components/schemas/Wechat'
    SourceOrder:
      type: object
      properties:
        amount:
          type: integer
          format: int64
        currency:
          type: string
        email:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
        shipping:
          $ref: '#/components/schemas/ShippingDetails'
    ThreeDSecure:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        address_line1_check:
          type: string
        address_zip_check:
          type: string
        authenticated:
          type: boolean
        brand:
          type: string
        card:
          type: string
        country:
          type: string
        customer:
          type: string
        cvc_check:
          type: string
        description:
          type: string
        dynamic_last4:
          type: string
        exp_month:
          type: integer
          format: int64
        exp_year:
          type: integer
          format: int64
        fingerprint:
          type: string
        funding:
          type: string
        iin:
          type: string
        issuer:
          type: string
        last4:
          type: string
        name:
          type: string
        three_d_secure:
          type: string
        tokenization_method:
          type: string
    TransactionModel:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - SUCCESS
            - CANCELLED
        transferredFrom:
          type: string
        transferredTo:
          type: string
        creator:
          $ref: '#/components/schemas/UserModel'
        fromUser:
          $ref: '#/components/schemas/UserModel'
        fromBusiness:
          $ref: '#/components/schemas/Business'
        toUser:
          $ref: '#/components/schemas/UserModel'
        toBusiness:
          $ref: '#/components/schemas/Business'
        amount:
          $ref: '#/components/schemas/MoneyModel'
        fee:
          $ref: '#/components/schemas/MoneyModel'
        net:
          $ref: '#/components/schemas/MoneyModel'
        parent:
          $ref: '#/components/schemas/TransactionModel'
        source:
          $ref: '#/components/schemas/SourceModel'
        type:
          type: string
          enum:
            - INTERNAL
            - EXTERNAL
            - WITHDRAW
    Wechat:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        prepay_id:
          type: string
        qr_code_url:
          type: string
        statement_descriptor:
          type: string
    Billing:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        plan:
          $ref: '#/components/schemas/Plan'
        companyName:
          type: string
        vat:
          type: string
        email:
          type: string
        administrativeReference:
          $ref: '#/components/schemas/AdministrativeReference'
        customerId:
          type: string
        intentId:
          type: string
        lastBilled:
          type: string
          format: date-time
        lastUsageEventsRun:
          type: string
          format: date-time
        approvedBillingElementTypes:
          type: array
          items:
            type: string
            enum:
              - user
              - vehicle
              - consignment
              - invoice
              - quote
              - trip
              - messageAutomation
              - integration
    Invoice:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        administration:
          $ref: '#/components/schemas/Administration'
        year:
          type: integer
          format: int32
        number:
          type: integer
          format: int32
        reference:
          type: string
        paymentReference:
          type: string
        status:
          type: string
          enum:
            - concept
            - open
            - paid
            - reminded
            - too_late
            - cancelled
        reminderCount:
          type: integer
          format: int32
        direction:
          type: string
          enum:
            - in
            - out
        currency:
          $ref: '#/components/schemas/Currency'
        cancelledReason:
          type: string
          readOnly: true
        lines:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLine'
        subjectBusiness:
          $ref: '#/components/schemas/Business'
        targetBusiness:
          $ref: '#/components/schemas/Business'
        creator:
          $ref: '#/components/schemas/User'
        nextReminderDate:
          type: string
          format: date-time
        subTotal:
          $ref: '#/components/schemas/Money'
        tax:
          $ref: '#/components/schemas/Money'
        total:
          $ref: '#/components/schemas/Money'
        totalOpen:
          $ref: '#/components/schemas/Money'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        billing:
          $ref: '#/components/schemas/Billing'
        name:
          type: string
        description:
          type: string
        date:
          type: string
          format: date-time
        dueAt:
          type: string
          format: date-time
    InvoiceLine:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        sequenceNr:
          type: integer
          format: int32
        quantity:
          type: number
          format: double
        description:
          type: string
        startDateTime:
          type: string
          format: date-time
        endDateTime:
          type: string
          format: date-time
        value:
          $ref: '#/components/schemas/Money'
        subTotal:
          $ref: '#/components/schemas/Money'
        tax:
          $ref: '#/components/schemas/Money'
        total:
          $ref: '#/components/schemas/Money'
        entityId:
          type: string
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        pricingCategory:
          $ref: '#/components/schemas/PricingCategory'
        distinctPerInvoiceId:
          type: string
    Plan:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        amount:
          $ref: '#/components/schemas/Money'
        usageElementTypePrices:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/PlanValue'
        primary:
          type: boolean
        name:
          type: string
        description:
          type: string
        interval:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        intervalCount:
          type: integer
          format: int32
        trialPeriodDays:
          type: integer
          format: int32
        startedAt:
          type: string
          format: date-time
        expiredAt:
          type: string
          format: date-time
    InvoiceResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        invoice:
          $ref: '#/components/schemas/InvoiceModel'
    InvoicesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceModel'
    FindByCategoryAndDateRangeRequest:
      type: object
      properties:
        pricingCategoryId:
          type: string
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - debit
            - credit
        state:
          type: string
          enum:
            - actual
            - expected
        administrationId:
          type: string
        businessId:
          type: string
        offset:
          type: integer
          format: int32
        amount:
          type: integer
          format: int32
    FindByDateRangeRequest:
      type: object
      properties:
        from:
          type: string
          format: date-time
        to:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - debit
            - credit
        state:
          type: string
          enum:
            - actual
            - expected
        administrationId:
          type: string
        businessId:
          type: string
        offset:
          type: integer
          format: int32
        amount:
          type: integer
          format: int32
    FindByRelatedEntityRequest:
      type: object
      properties:
        entityId:
          type: string
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        type:
          type: string
          enum:
            - debit
            - credit
        state:
          type: string
          enum:
            - actual
            - expected
        administrationId:
          type: string
        businessId:
          type: string
        offset:
          type: integer
          format: int32
        amount:
          type: integer
          format: int32
    AccountValidationModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        firstValue:
          type: number
          format: double
        secondValue:
          type: number
          format: double
    BankAccountModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        accountHolderName:
          type: string
        accountHolderType:
          type: string
        bankName:
          type: string
        routingNumber:
          type: string
        accountNumber:
          type: string
        last4:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        country:
          type: string
        validation:
          $ref: '#/components/schemas/AccountValidationModel'
        validated:
          type: boolean
    PayoutCreateModel:
      type: object
      properties:
        nonce:
          type: string
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        amount:
          $ref: '#/components/schemas/MoneyModel'
        source:
          $ref: '#/components/schemas/SourceModel'
        failed:
          type: boolean
        bankAccount:
          $ref: '#/components/schemas/BankAccountModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
    PayoutModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        amount:
          $ref: '#/components/schemas/MoneyModel'
        source:
          $ref: '#/components/schemas/SourceModel'
        failed:
          type: boolean
        bankAccount:
          $ref: '#/components/schemas/BankAccountModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
    PayoutResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        payout:
          $ref: '#/components/schemas/PayoutModel'
        transaction:
          $ref: '#/components/schemas/TransactionModel'
    PayoutsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        payouts:
          type: array
          items:
            $ref: '#/components/schemas/PayoutModel'
    AccountValidation:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        firstValue:
          type: number
          format: double
        secondValue:
          type: number
          format: double
    BankAccount:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        routingNumber:
          type: string
        accountNumber:
          type: string
        last4:
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
        country:
          type: string
        validation:
          $ref: '#/components/schemas/AccountValidation'
        validated:
          type: boolean
        accountHolderName:
          type: string
        accountHolderType:
          type: string
        bankName:
          type: string
    Payout:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        administration:
          $ref: '#/components/schemas/Administration'
        amount:
          $ref: '#/components/schemas/Money'
        source:
          $ref: '#/components/schemas/Source'
        failed:
          type: boolean
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
    PlanCreateModel:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        interval:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        intervalCount:
          type: integer
          format: int32
        trialPeriodDays:
          type: integer
          format: int32
        amount:
          $ref: '#/components/schemas/MoneyModel'
        usageElementTypePrices:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/PlanValue'
        startedAt:
          type: string
          format: date-time
        expiredAt:
          type: string
          format: date-time
        primary:
          type: boolean
    PlanResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        plan:
          $ref: '#/components/schemas/PlanModel'
    PlansResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        plans:
          type: array
          items:
            $ref: '#/components/schemas/PlanModel'
    QuoteLineModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        sequenceNr:
          type: integer
          format: int32
        optional:
          type: boolean
        quantity:
          type: number
          format: double
        description:
          type: string
        startDateTime:
          type: string
          format: date-time
        endDateTime:
          type: string
          format: date-time
        value:
          $ref: '#/components/schemas/MoneyModel'
        subTotal:
          $ref: '#/components/schemas/MoneyModel'
        tax:
          $ref: '#/components/schemas/MoneyModel'
        total:
          $ref: '#/components/schemas/MoneyModel'
        plan:
          $ref: '#/components/schemas/PlanModel'
        subscription:
          $ref: '#/components/schemas/SubscriptionModel'
        pricingCategory:
          $ref: '#/components/schemas/PricingCategoryModel'
        entityId:
          type: string
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
    QuoteModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        year:
          type: integer
          format: int32
        number:
          type: integer
          format: int32
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - concept
            - open
            - accepted
            - declined
            - invoiced
            - cancelled
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        declinedReason:
          type: string
        lines:
          type: array
          items:
            $ref: '#/components/schemas/QuoteLineModel'
        subjectBusiness:
          $ref: '#/components/schemas/Business'
        targetBusiness:
          $ref: '#/components/schemas/Business'
        creator:
          $ref: '#/components/schemas/UserModel'
        date:
          type: string
          format: date-time
          readOnly: true
        dueAt:
          type: string
          format: date-time
        subTotal:
          $ref: '#/components/schemas/MoneyModel'
        tax:
          $ref: '#/components/schemas/MoneyModel'
        total:
          $ref: '#/components/schemas/MoneyModel'
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        shareSettings:
          $ref: '#/components/schemas/ShareSettings'
    QuoteResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        quote:
          $ref: '#/components/schemas/QuoteModel'
    Quote:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        administration:
          $ref: '#/components/schemas/Administration'
        year:
          type: integer
          format: int32
          readOnly: true
        number:
          type: integer
          format: int32
          readOnly: true
        status:
          type: string
          enum:
            - concept
            - open
            - accepted
            - declined
            - invoiced
            - cancelled
        direction:
          type: string
          enum:
            - in
            - out
        currency:
          $ref: '#/components/schemas/Currency'
        declinedReason:
          type: string
        lines:
          type: array
          items:
            $ref: '#/components/schemas/QuoteLine'
        subjectBusiness:
          $ref: '#/components/schemas/Business'
        targetBusiness:
          $ref: '#/components/schemas/Business'
        creator:
          $ref: '#/components/schemas/User'
        subTotal:
          $ref: '#/components/schemas/Money'
        tax:
          $ref: '#/components/schemas/Money'
        total:
          $ref: '#/components/schemas/Money'
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/Invoice'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        shareSettings:
          $ref: '#/components/schemas/ShareSettings'
        name:
          type: string
        description:
          type: string
        date:
          type: string
          format: date-time
          readOnly: true
        dueAt:
          type: string
          format: date-time
    QuoteLine:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        sequenceNr:
          type: integer
          format: int32
        optional:
          type: boolean
        quantity:
          type: number
          format: double
        description:
          type: string
        startDateTime:
          type: string
          format: date-time
        endDateTime:
          type: string
          format: date-time
        value:
          $ref: '#/components/schemas/Money'
        subTotal:
          $ref: '#/components/schemas/Money'
        tax:
          $ref: '#/components/schemas/Money'
        total:
          $ref: '#/components/schemas/Money'
        pricingCategory:
          $ref: '#/components/schemas/PricingCategory'
        entityId:
          type: string
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
    QuotesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/QuoteModel'
    AdministrationCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        primary:
          type: boolean
        business:
          $ref: '#/components/schemas/Business'
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        balance:
          $ref: '#/components/schemas/MoneyModel'
        numberFormat:
          type: string
        numberLength:
          type: integer
          format: int32
        dueDays:
          type: integer
          format: int32
        invoiceNumberIndex:
          type: object
          additionalProperties:
            type: integer
            format: int32
        quoteNumberIndex:
          type: object
          additionalProperties:
            type: integer
            format: int32
        automaticallySendReminders:
          type: boolean
        invoiceTermsAndConditions:
          type: string
        quoteTermsAndConditions:
          type: string
        invoiceNumbering:
          type: integer
          format: int32
        quoteNumbering:
          type: integer
          format: int32
    AdministrationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        administration:
          $ref: '#/components/schemas/AdministrationModel'
    AdministrationsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        administrations:
          type: array
          items:
            $ref: '#/components/schemas/AdministrationModel'
    TransactionsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionModel'
    TransactionResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        transaction:
          $ref: '#/components/schemas/TransactionModel'
    Alert:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        message:
          type: string
        emailAddresses:
          type: array
          items:
            type: string
    AlertResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        alert:
          $ref: '#/components/schemas/Alert'
    AlertsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/Alert'
    Publisher:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        logo:
          $ref: '#/components/schemas/File'
        name:
          type: string
        description:
          type: string
        approved:
          type: boolean
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
    PublisherResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        publisher:
          $ref: '#/components/schemas/Publisher'
    PublishersResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        publishers:
          type: array
          items:
            $ref: '#/components/schemas/Publisher'
    AppCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        logo:
          $ref: '#/components/schemas/FileModel'
        name:
          type: string
        description:
          type: string
        publisher:
          $ref: '#/components/schemas/PublisherModel'
        termsAndConditions:
          type: string
        lastVersion:
          $ref: '#/components/schemas/AppVersionModel'
        versions:
          type: array
          items:
            $ref: '#/components/schemas/AppVersionModel'
        approved:
          type: boolean
        public:
          type: boolean
    AppVersionModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        buildNumber:
          type: integer
          format: int32
        version:
          type: string
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionModel'
        approved:
          type: boolean
    PermissionModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        read:
          type: boolean
        write:
          type: boolean
        delete:
          type: boolean
        permissionScope:
          type: string
          enum:
            - PUBLIC
            - PRIVATE
            - OWNER
        isObjectPermission:
          type: boolean
    PublisherModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        logo:
          $ref: '#/components/schemas/FileModel'
        name:
          type: string
        description:
          type: string
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserModel'
    AppModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        logo:
          $ref: '#/components/schemas/FileModel'
        name:
          type: string
        description:
          type: string
        publisher:
          $ref: '#/components/schemas/PublisherModel'
        termsAndConditions:
          type: string
        lastVersion:
          $ref: '#/components/schemas/AppVersionModel'
        versions:
          type: array
          items:
            $ref: '#/components/schemas/AppVersionModel'
        approved:
          type: boolean
        public:
          type: boolean
    AppResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        app:
          $ref: '#/components/schemas/AppModel'
    AppsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        apps:
          type: array
          items:
            $ref: '#/components/schemas/AppModel'
    AttributeCreateModel:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        color:
          type: string
    AttributeResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        attribute:
          $ref: '#/components/schemas/AttributeModel'
    AttributesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
    BanCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        business:
          $ref: '#/components/schemas/Business'
        actor:
          $ref: '#/components/schemas/ActorModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
    BanModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        business:
          $ref: '#/components/schemas/Business'
        actor:
          $ref: '#/components/schemas/ActorModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
    BanResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        ban:
          $ref: '#/components/schemas/BanModel'
    BansResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        bans:
          type: array
          items:
            $ref: '#/components/schemas/BanModel'
    BoardCreateRequest:
      required:
        - title
      type: object
      properties:
        nonce:
          type: string
        title:
          type: string
          description: The title of the board
        description:
          type: string
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserModel'
        creator:
          $ref: '#/components/schemas/UserModel'
        statistics:
          $ref: '#/components/schemas/BoardStatistics'
    BoardStatistics:
      type: object
      properties:
        laneStats:
          type: array
          items:
            $ref: '#/components/schemas/LaneStats'
        totalComments:
          type: integer
          format: int32
        totalDocuments:
          type: integer
          format: int32
    LaneStats:
      type: object
      properties:
        title:
          type: string
        color:
          type: string
        totalToDos:
          type: integer
          format: int32
        position:
          type: integer
          format: int32
    BoardModel:
      required:
        - title
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        title:
          type: string
          description: The title of the board
        description:
          type: string
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserModel'
        creator:
          $ref: '#/components/schemas/UserModel'
        statistics:
          $ref: '#/components/schemas/BoardStatistics'
    BoardResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        board:
          $ref: '#/components/schemas/BoardModel'
    BoardsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        boards:
          type: array
          items:
            $ref: '#/components/schemas/BoardModel'
    AirBookingModel:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/BookingModel'
        - type: object
          properties:
            airlinePrefix:
              type: string
            serialNumber:
              type: string
            carrierCode:
              type: string
            airwayBillNo:
              type: string
            houseAirwayBillNo:
              type: string
            airwayBill:
              $ref: '#/components/schemas/DocumentModel'
    BookingCreateRequest:
      required:
        - type
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          description: The type of booking
          enum:
            - maritime
            - road
            - air
        name:
          type: string
        bookingNumber:
          type: string
        externalReference:
          type: string
        capacityContract:
          $ref: '#/components/schemas/CapacityContractModel'
        quote:
          $ref: '#/components/schemas/QuoteModel'
        invoice:
          $ref: '#/components/schemas/InvoiceModel'
      discriminator:
        propertyName: type
        mapping:
          air: '#/components/schemas/AirBookingModel'
          maritime: '#/components/schemas/MaritimeBookingModel'
          road: '#/components/schemas/RoadBookingModel'
      oneOf:
        - $ref: '#/components/schemas/MaritimeBookingModel'
        - $ref: '#/components/schemas/RoadBookingModel'
        - $ref: '#/components/schemas/AirBookingModel'
    MaritimeBookingModel:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/BookingModel'
        - type: object
          properties:
            billOfLadingNumber:
              type: string
            billOfLading:
              $ref: '#/components/schemas/Document'
    RoadBookingModel:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/BookingModel'
        - type: object
          properties:
            crm:
              $ref: '#/components/schemas/DocumentModel'
    BookingModel:
      required:
        - type
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          description: The type of booking
          enum:
            - maritime
            - road
            - air
        name:
          type: string
        bookingNumber:
          type: string
        externalReference:
          type: string
        capacityContract:
          $ref: '#/components/schemas/CapacityContractModel'
        quote:
          $ref: '#/components/schemas/QuoteModel'
        invoice:
          $ref: '#/components/schemas/InvoiceModel'
      discriminator:
        propertyName: type
        mapping:
          air: '#/components/schemas/AirBookingModel'
          maritime: '#/components/schemas/MaritimeBookingModel'
          road: '#/components/schemas/RoadBookingModel'
      oneOf:
        - $ref: '#/components/schemas/MaritimeBookingModel'
        - $ref: '#/components/schemas/RoadBookingModel'
        - $ref: '#/components/schemas/AirBookingModel'
    BookingResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        booking:
          $ref: '#/components/schemas/BookingModel'
    BookingsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        bookings:
          type: array
          items:
            $ref: '#/components/schemas/BookingModel'
    BusinessCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        relationType:
          type: string
        alias:
          type: string
        description:
          type: string
        transportLicenseNumber:
          type: string
        eori:
          type: string
        scacCode:
          type: string
        industry:
          $ref: '#/components/schemas/IndustryModel'
        website:
          type: string
        coc:
          type: string
        vat:
          type: string
        logo:
          $ref: '#/components/schemas/File'
        banners:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        locations:
          type: array
          items:
            $ref: '#/components/schemas/LocationModel'
        identification:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
    BusinessResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        business:
          $ref: '#/components/schemas/Business'
    BusinessesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        businesses:
          type: array
          items:
            $ref: '#/components/schemas/Business'
    CameraModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - telenormicCamera
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
      discriminator:
        propertyName: type
        mapping:
          telenormicCamera: '#/components/schemas/TelenormicCameraModel'
      oneOf:
        - $ref: '#/components/schemas/TelenormicCameraModel'
    CameraResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        camera:
          $ref: '#/components/schemas/CameraModel'
    TelenormicCameraModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/CameraModel'
        - type: object
          properties:
            url:
              type: string
            playbackUrl:
              type: string
            playbackUrlWs:
              type: string
            downTaskUrl:
              type: string
            downUrl:
              type: string
            clientIp:
              type: string
            clientIp2:
              type: string
            clientIp3:
              type: string
            clientPort:
              type: integer
              format: int32
            begin:
              type: integer
              format: int32
            end:
              type: integer
              format: int32
            length:
              type: integer
              format: int32
    CamerasResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        cameras:
          type: array
          items:
            $ref: '#/components/schemas/CameraModel'
    CapacityContractResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        capacityContract:
          $ref: '#/components/schemas/CapacityContractModel'
    CapacityContractsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        capacityContracts:
          type: array
          items:
            $ref: '#/components/schemas/CapacityContractModel'
    CapacityCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        business:
          $ref: '#/components/schemas/Business'
        schedule:
          $ref: '#/components/schemas/ScheduleModel'
        modality:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        subType:
          type: string
          enum:
            - load
            - vehicle
        capacityPerUnit:
          $ref: '#/components/schemas/ValueWithUnit'
        totalUnits:
          type: integer
          format: int32
        availableCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        totalCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
    CapacitiesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        capacities:
          type: array
          items:
            $ref: '#/components/schemas/CapacityModel'
        totalResults:
          type: integer
          format: int64
    CertificateCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        name:
          type: string
        school:
          type: string
        title:
          type: string
        fieldOfStudy:
          type: string
        grade:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        identifier:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
    CertificateModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        name:
          type: string
        school:
          type: string
        title:
          type: string
        fieldOfStudy:
          type: string
        grade:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        identifier:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
    CertificateResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        certificate:
          $ref: '#/components/schemas/CertificateModel'
    CertificatesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        certificates:
          type: array
          items:
            $ref: '#/components/schemas/CertificateModel'
    CreateChatRequest:
      type: object
      properties:
        title:
          type: string
        users:
          type: array
          items:
            $ref: '#/components/schemas/IdObject'
    IdObject:
      type: object
      properties:
        id:
          type: string
    ChatUser:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        user:
          $ref: '#/components/schemas/User'
        business:
          $ref: '#/components/schemas/Business'
        chauffeur:
          $ref: '#/components/schemas/Chauffeur'
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        permission:
          type: string
          enum:
            - NONE
            - READ
            - CHAT
            - MODERATOR
            - ADMIN
        muted:
          type: boolean
        markedAsUnread:
          type: boolean
          description: If this user has the chat on read yes/no
        unreadMessages:
          type: integer
          format: int32
    IMAP:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        host:
          type: string
        port:
          type: string
        username:
          type: string
        password:
          type: string
        enabled:
          type: boolean
    MailAddress:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        email:
          type: string
        smtp:
          $ref: '#/components/schemas/SMTP'
        imap:
          $ref: '#/components/schemas/IMAP'
    MailMessage:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        imap:
          $ref: '#/components/schemas/IMAP'
        contentId:
          type: string
        messageNumber:
          type: integer
          format: int32
        receivedDate:
          type: string
          format: date-time
        sentDate:
          type: string
          format: date-time
        read:
          type: boolean
        subject:
          type: string
        plainText:
          type: string
        text:
          type: string
        sender:
          $ref: '#/components/schemas/MailAddress'
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/MailAddress'
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/File'
    Message:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        user:
          $ref: '#/components/schemas/ChatUser'
        message:
          type: string
        state:
          type: string
          enum:
            - normal
            - important
            - pinned
            - deleted
        type:
          type: string
          enum:
            - normal
            - mail_message
        edited:
          type: boolean
        files:
          type: array
          items:
            $ref: '#/components/schemas/File'
        replyTo:
          $ref: '#/components/schemas/Message'
        responses:
          type: array
          items:
            $ref: '#/components/schemas/Message'
        received:
          type: array
          items:
            $ref: '#/components/schemas/MessageReceived'
        read:
          type: array
          items:
            $ref: '#/components/schemas/MessageRead'
        mailMessage:
          $ref: '#/components/schemas/MailMessage'
        translatedMessage:
          type: string
    MessageRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
    MessageReceived:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
    SMTP:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        host:
          type: string
        port:
          type: string
        username:
          type: string
        password:
          type: string
    ChatUserModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/UserModel'
        business:
          $ref: '#/components/schemas/Business'
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
        permission:
          type: string
          enum:
            - NONE
            - READ
            - CHAT
            - MODERATOR
            - ADMIN
        muted:
          type: boolean
        markedAsUnread:
          type: boolean
          description: If this user has the chat on read yes/no
        unreadMessages:
          type: integer
          format: int32
    IMAPModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        host:
          type: string
        port:
          type: string
        username:
          type: string
        password:
          type: string
        enabled:
          type: boolean
    MailAddressModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        email:
          type: string
        smtp:
          $ref: '#/components/schemas/SMTPModel'
        imap:
          $ref: '#/components/schemas/IMAPModel'
    MailMessageModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        imap:
          $ref: '#/components/schemas/IMAPModel'
        contentId:
          type: string
        messageNumber:
          type: integer
          format: int32
        receivedDate:
          type: string
          format: date-time
        sentDate:
          type: string
          format: date-time
        read:
          type: boolean
        subject:
          type: string
        plainText:
          type: string
        text:
          type: string
        sender:
          $ref: '#/components/schemas/MailAddressModel'
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/MailAddressModel'
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
    MessageModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/ChatUserModel'
        message:
          type: string
        state:
          type: string
          enum:
            - normal
            - important
            - pinned
            - deleted
        type:
          type: string
          enum:
            - normal
            - mail_message
        edited:
          type: boolean
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        replyTo:
          $ref: '#/components/schemas/MessageModel'
        received:
          type: array
          items:
            $ref: '#/components/schemas/MessageReceivedModel'
        read:
          type: array
          items:
            $ref: '#/components/schemas/MessageReadModel'
        mailMessage:
          $ref: '#/components/schemas/MailMessageModel'
        translatedMessage:
          type: string
    MessageReadModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    MessageReceivedModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    MessageResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          $ref: '#/components/schemas/MessageModel'
    SMTPModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        host:
          type: string
        port:
          type: string
        username:
          type: string
        password:
          type: string
    MessagesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageModel'
        unreadResults:
          type: integer
          format: int32
    ReadMessagesRequest:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/IdObject'
    ReceivedMessagesRequest:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/IdObject'
    UpdateChatMessageRoute:
      type: object
    MessageTemplate:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        type:
          type: string
          enum:
            - general
        contextEntity:
          type: string
          enum:
            - vehicle
            - trip
            - upcoming_trips
        message:
          type: string
    MessageTemplateModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
          enum:
            - general
        contextEntity:
          type: string
          enum:
            - vehicle
            - trip
            - upcoming_trips
        message:
          type: string
    MessageTemplateResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        messageTemplate:
          $ref: '#/components/schemas/MessageTemplateModel'
    MessageFromMessageTemplateResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        generatedMessage:
          type: string
    MessageTemplatesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        messageTemplates:
          type: array
          items:
            $ref: '#/components/schemas/MessageTemplateModel'
    ChatModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        title:
          type: string
        type:
          type: string
          enum:
            - private
            - public
        active:
          type: boolean
        unreadMessages:
          type: integer
          format: int32
        maxCharacters:
          type: integer
          format: int32
    ChatResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        chat:
          $ref: '#/components/schemas/ChatModel'
        unreadMessages:
          type: integer
          format: int64
    ChatsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chats:
          type: array
          items:
            $ref: '#/components/schemas/ChatModel'
        messagesUnread:
          type: integer
          format: int32
    ChatUserResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        chatUser:
          $ref: '#/components/schemas/ChatUserModel'
    UpdateChatRoute:
      type: object
    ChauffeurActivityCreateModel:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - work
            - driving
            - available
            - rest
        name:
          type: string
        description:
          type: string
        remarks:
          type: string
        kmsStart:
          type: integer
          format: int32
        kmsEnd:
          type: integer
          format: int32
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
    ChauffeurActivity:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - work
            - driving
            - available
            - rest
        name:
          type: string
        description:
          type: string
        remarks:
          type: string
        kmsStart:
          type: integer
          format: int32
        kmsEnd:
          type: integer
          format: int32
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
    ChauffeurActivityResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        chauffeurActivity:
          $ref: '#/components/schemas/ChauffeurActivity'
    ChauffeurCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - driver
            - conductor
            - captain
            - pilot
        picture:
          $ref: '#/components/schemas/FileModel'
        firstName:
          type: string
        lastName:
          type: string
        user:
          $ref: '#/components/schemas/UserModel'
        dateOfBirth:
          type: string
          format: date
        birthPlace:
          type: string
        nationality:
          type: string
        hourlyRate:
          $ref: '#/components/schemas/MoneyModel'
        hoursPerMonth:
          type: number
          format: double
        adr:
          $ref: '#/components/schemas/ChauffeurADR'
        driverLicense:
          $ref: '#/components/schemas/ChauffeurDriverLicense'
        tachoCard:
          $ref: '#/components/schemas/ChauffeurTachoCard'
        remainingDrivingTimes:
          $ref: '#/components/schemas/RemainingDrivingTimes'
        upcomingRestingTimes:
          $ref: '#/components/schemas/UpcomingRestingTimes'
        languages:
          type: array
          items:
            type: string
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
    ChauffeurResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
    ChauffeurTimeslot:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - work
            - rest
            - free
            - vacation
        chauffeur:
          $ref: '#/components/schemas/Chauffeur'
        timeWindow:
          $ref: '#/components/schemas/TimeWindow'
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        trip:
          $ref: '#/components/schemas/Trip'
    TimeWindow:
      type: object
      properties:
        id:
          type: string
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
    ChauffeurTimeslotResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        chauffeurTimeslot:
          $ref: '#/components/schemas/ChauffeurTimeslot'
    ChauffeurActivitiesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeurActivities:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurActivity'
    ExtendedChauffeurModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - driver
            - conductor
            - captain
            - pilot
        picture:
          $ref: '#/components/schemas/FileModel'
        user:
          $ref: '#/components/schemas/UserModel'
        firstName:
          type: string
        lastName:
          type: string
        dateOfBirth:
          type: string
          format: date
        birthPlace:
          type: string
        nationality:
          type: string
        hourlyRate:
          $ref: '#/components/schemas/MoneyModel'
        hoursPerMonth:
          type: number
          format: double
        adr:
          $ref: '#/components/schemas/ChauffeurADR'
        driverLicense:
          $ref: '#/components/schemas/ChauffeurDriverLicense'
        tachoCard:
          $ref: '#/components/schemas/ChauffeurTachoCard'
        remainingDrivingTimes:
          $ref: '#/components/schemas/RemainingDrivingTimes'
        upcomingRestingTimes:
          $ref: '#/components/schemas/UpcomingRestingTimes'
        languages:
          type: array
          items:
            type: string
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/Vehicle'
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipment'
    ExtendedChauffeurResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        chauffeur:
          $ref: '#/components/schemas/ExtendedChauffeurModel'
    ChauffeurTimeslotModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - work
            - rest
            - free
            - vacation
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        timeWindow:
          $ref: '#/components/schemas/TimeWindow'
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
        trip:
          $ref: '#/components/schemas/TripModel'
    ChauffeurTimeslotsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeurTimeslots:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurTimeslotModel'
    ChauffeurTransportEquipmentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipmentModel'
    TripsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        trips:
          type: array
          items:
            $ref: '#/components/schemas/TripModel'
    ChauffeurVehiclesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/VehicleModel'
    ChauffeursResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurModel'
    GetChauffeursTimeslotsRequest:
      type: object
      properties:
        chauffeurIds:
          type: array
          items:
            type: string
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
    ChauffeurTimeslots:
      type: object
      properties:
        chauffeurId:
          type: string
        timeslots:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurTimeslot'
    ChauffeursTimeslotsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeurTimeslots:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurTimeslots'
    ChauffeurLightTrips:
      type: object
      properties:
        chauffeur:
          type: string
        trips:
          type: array
          items:
            $ref: '#/components/schemas/LightTrip'
    ChauffeurLightTripsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeursTrips:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurLightTrips'
    LightTrip:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        versionNumber:
          type: integer
          format: int32
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hasAgreedToPrice:
          type: boolean
        type:
          type: string
          enum:
            - internal
            - internal_empty
            - forwarded
        tripNr:
          type: string
        status:
          type: string
          enum:
            - draft
            - requested
            - accepted
            - confirmed
            - in_transit
            - completed
            - cancelled
            - modified
        planStatus:
          type: string
          enum:
            - ok
            - too_late
            - too_early
            - off_route
        routeStatus:
          type: string
          enum:
            - on_route
            - off_route
        currentAction:
          $ref: '#/components/schemas/Action'
        transportMode:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        capacityContract:
          $ref: '#/components/schemas/CapacityContract'
        linkedTrip:
          type: boolean
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/Chauffeur'
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipment'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Actor'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElement'
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        kmStart:
          type: integer
          format: int32
        kmEnd:
          type: integer
          format: int32
        booking:
          $ref: '#/components/schemas/Booking'
        shareSettings:
          $ref: '#/components/schemas/ShareSettings'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        expectedCost:
          $ref: '#/components/schemas/Money'
        expectedRevenue:
          $ref: '#/components/schemas/Money'
        actualCost:
          $ref: '#/components/schemas/Money'
        CO2eWTW:
          type: number
          format: double
        CO2eTTW:
          type: number
          format: double
        nextAction:
          $ref: '#/components/schemas/Action'
        lastAction:
          $ref: '#/components/schemas/Action'
        estimatedDuration:
          type: integer
          format: int32
        name:
          type: string
        route:
          $ref: '#/components/schemas/Route'
    ExtendedChauffeursResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/ExtendedChauffeurModel'
    ComplaintCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        chauffeur:
          $ref: '#/components/schemas/Chauffeur'
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        user:
          $ref: '#/components/schemas/User'
        complaint:
          type: string
        location:
          $ref: '#/components/schemas/Location'
        business:
          $ref: '#/components/schemas/Business'
        identifier:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
    ComplaintModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        chauffeur:
          $ref: '#/components/schemas/ChauffeurModel'
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
        user:
          $ref: '#/components/schemas/UserModel'
        complaint:
          type: string
        location:
          $ref: '#/components/schemas/LocationModel'
        business:
          $ref: '#/components/schemas/Business'
    ComplaintResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        complaint:
          $ref: '#/components/schemas/ComplaintModel'
    ComplaintsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        complaints:
          type: array
          items:
            $ref: '#/components/schemas/ComplaintModel'
    AddDocumentsToTripRequest:
      type: object
      properties:
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
    TripResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        trip:
          $ref: '#/components/schemas/TripModel'
    ConsignmentResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        consignment:
          $ref: '#/components/schemas/ConsignmentModel'
    ConsignmentCreateRequest:
      required:
        - name
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
          description: Name of the Consignment. For display purposes and search only.
        consignmentNr:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - draft
            - requested
            - confirmed
            - in_transit
            - completed
            - cancelled
            - partially_planned
            - planned
            - partially_completed
            - partially_in_transit
        goods:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        combined:
          type: boolean
        consignment:
          $ref: '#/components/schemas/ConsignmentModel'
        originalPhysicalSender:
          $ref: '#/components/schemas/LocationModel'
        originalLegalSender:
          $ref: '#/components/schemas/LocationModel'
        originalPhysicalAddressee:
          $ref: '#/components/schemas/LocationModel'
        originalLegalAddressee:
          $ref: '#/components/schemas/LocationModel'
        isPlannedToLastLocation:
          type: boolean
        type:
          type: string
          description: >-
            This field can be used to categorize and/or group shipments by type,
            depending on the needs of a specific logistic process.
        remark:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        constraints:
          type: array
          description: >-
            In the context of a Consignment, constraints can be used to e.g.
            define minimum or maximum temperatures for consignments, or date
            time constraints for delivery.
          items:
            $ref: '#/components/schemas/ConstraintModel'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElementModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        expectedRevenue:
          $ref: '#/components/schemas/MoneyModel'
        expectedCost:
          $ref: '#/components/schemas/MoneyModel'
        hasAgreedToPrice:
          type: boolean
          description: >-
            Set this value to 'true' if the user has agreed to the pricing of
            this element. Only needed once the NeedsBillingApproval Exception is
            thrown
          writeOnly: true
        versionNumber:
          type: integer
          format: int32
    ConsignmentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        consignments:
          type: array
          items:
            $ref: '#/components/schemas/ConsignmentModel'
    SplitConsignmentsRequest:
      type: object
      properties:
        consignment:
          $ref: '#/components/schemas/Consignment'
        relatedConsignments:
          type: array
          items:
            $ref: '#/components/schemas/Consignment'
    ConstraintCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - accessConstraint
            - timeWindowsConstraint
            - startDateTimeConstraint
            - endDateTimeConstraint
            - sizeConstraint
            - weightConstraint
            - speedConstraint
            - sensorValueConstraint
            - fuelTypeConstraint
            - vehicleTypeConstraint
            - emissionStandardConstraint
            - attributeConstraint
            - transportEquipmentTypeConstraint
            - routeConstraint
            - andConstraint
            - orConstraint
            - notConstraint
            - genericConstraint
        enforceability:
          type: string
          enum:
            - enforced
            - preference
      discriminator:
        propertyName: type
        mapping:
          genericConstraint: '#/components/schemas/GenericConstraintValue'
          andConstraint: '#/components/schemas/AndConstraintValue'
          orConstraint: '#/components/schemas/OrConstraintValue'
          notConstraint: '#/components/schemas/NotConstraintValue'
          startDateTimeConstraint: '#/components/schemas/StartDateTimeConstraintValue'
          endDateTimeConstraint: '#/components/schemas/EndDateTimeConstraintValue'
          timeWindowsConstraint: '#/components/schemas/TimeWindowsConstraintValue'
          sizeConstraint: '#/components/schemas/SizeConstraintValue'
          weightConstraint: '#/components/schemas/WeightConstraintValue'
          speedConstraint: '#/components/schemas/SpeedConstraintValue'
          sensorValueConstraint: '#/components/schemas/SensorValueConstraintValue'
          fuelTypeConstraint: '#/components/schemas/FuelTypeConstraintValue'
          vehicleTypeConstraint: '#/components/schemas/VehicleTypeConstraintValue'
          transportEquipmentTypeConstraint: '#/components/schemas/TransportEquipmentTypeConstraintValue'
          attributeConstraint: '#/components/schemas/AttributeConstraintValue'
      oneOf:
        - $ref: '#/components/schemas/GenericConstraintValue'
        - $ref: '#/components/schemas/AndConstraintValue'
        - $ref: '#/components/schemas/OrConstraintValue'
        - $ref: '#/components/schemas/NotConstraintValue'
        - $ref: '#/components/schemas/StartDateTimeConstraintValue'
        - $ref: '#/components/schemas/EndDateTimeConstraintValue'
        - $ref: '#/components/schemas/TimeWindowsConstraintValue'
        - $ref: '#/components/schemas/SizeConstraintValue'
        - $ref: '#/components/schemas/WeightConstraintValue'
        - $ref: '#/components/schemas/SpeedConstraintValue'
        - $ref: '#/components/schemas/SensorValueConstraintValue'
        - $ref: '#/components/schemas/FuelTypeConstraintValue'
        - $ref: '#/components/schemas/VehicleTypeConstraintValue'
        - $ref: '#/components/schemas/TransportEquipmentTypeConstraintValue'
        - $ref: '#/components/schemas/AttributeConstraintValue'
    ConstraintResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        constraint:
          $ref: '#/components/schemas/ConstraintModel'
    ConstraintsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
    ContractCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        title:
          type: string
        description:
          type: string
        deliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        contractor:
          $ref: '#/components/schemas/Business'
        contractorSignee:
          $ref: '#/components/schemas/ContactPersonModel'
        client:
          $ref: '#/components/schemas/Business'
        clientSignee:
          $ref: '#/components/schemas/ContactPersonModel'
    ContractResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        contract:
          $ref: '#/components/schemas/ContractModel'
    ContractsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        contracts:
          type: array
          items:
            $ref: '#/components/schemas/ContractModel'
    ADR:
      type: object
      properties:
        UNNumber:
          type: string
        language:
          type: string
        description:
          type: string
        technicalName:
          type: string
        waste:
          type: boolean
        environmentallyHazardous:
          type: boolean
        class:
          type: string
        classificationCode:
          type: string
        packagingGroup:
          type: string
        dangerLabels:
          type: string
        dangerNUmber:
          type: string
        tunnelCode:
          type: string
    DamageCreateModel:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        dateTime:
          type: string
          format: date-time
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
        transportEquipment:
          $ref: '#/components/schemas/VehicleModel'
        consignment:
          $ref: '#/components/schemas/ConsignmentModel'
        items:
          $ref: '#/components/schemas/ItemsModel'
    ItemsModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/GoodsModel'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/MoneyModel'
            statisticalValue:
              $ref: '#/components/schemas/MoneyModel'
            adr:
              $ref: '#/components/schemas/ADR'
            productType:
              type: string
              description: The product type of goods, for instance bananas.
            packagingMaterial:
              type: string
              description: >-
                Description of the package type f.e. pallet, europallet, drum,
                carton etc.
            hsCode:
              type: string
            recordsCode:
              type: string
            mrnCode:
              type: string
    DamageModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        dateTime:
          type: string
          format: date-time
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
        transportEquipment:
          $ref: '#/components/schemas/VehicleModel'
        consignment:
          $ref: '#/components/schemas/ConsignmentModel'
        items:
          $ref: '#/components/schemas/ItemsModel'
    DamageResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        damage:
          $ref: '#/components/schemas/DamageModel'
    DamagesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        damages:
          type: array
          items:
            $ref: '#/components/schemas/DamageModel'
    DocumentCreateRequest:
      required:
        - content
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        fileName:
          type: string
        mimeType:
          type: string
        encoding:
          type: string
        owner:
          $ref: '#/components/schemas/ActorAssociation'
        content:
          $ref: '#/components/schemas/DocumentContent'
        file:
          $ref: '#/components/schemas/FileModel'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        externalAttributes:
          type: object
          additionalProperties:
            type: object
    DocumentResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        document:
          $ref: '#/components/schemas/DocumentModel'
    DocumentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
    ArrivalEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    DepartureEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    EventCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - generalEvent
            - sensorUpdateEvent
            - gateInEvent
            - gateOutEvent
            - arrivalEvent
            - departureEvent
            - stopEngineEvent
            - startEngineEvent
            - startWaitingEvent
            - stopWaitingEvent
            - stopMovingEvent
            - startMovingEvent
            - locationUpdateEvent
            - updateEvent
            - associationRemovedEvent
            - associationCreatedEvent
            - capacityChangeEvent
        lifeCycle:
          type: string
          enum:
            - requested
            - planned
            - projected
            - actual
            - realized
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        dateTime:
          type: string
          format: date-time
      discriminator:
        propertyName: type
        mapping:
          arrivalEvent: '#/components/schemas/ArrivalEventModel'
          departureEvent: '#/components/schemas/DepartureEventModel'
          gateInEvent: '#/components/schemas/GateInEventModel'
          gateOutEvent: '#/components/schemas/GateOutEventModel'
          generalEvent: '#/components/schemas/GeneralEventModel'
          sensorUpdateEvent: '#/components/schemas/SensorUpdateEventModel'
          startEngineEvent: '#/components/schemas/StartEngineEventModel'
          startMovingEvent: '#/components/schemas/StartMovingEventModel'
          startWaitingEvent: '#/components/schemas/StartWaitingEventModel'
          stopEngineEvent: '#/components/schemas/StopEngineEventModel'
          stopMovingEvent: '#/components/schemas/StopMovingEventModel'
          locationUpdateEvent: '#/components/schemas/LocationUpdateEventModel'
          updateEvent: '#/components/schemas/UpdateEventModel'
      oneOf:
        - $ref: '#/components/schemas/ArrivalEventModel'
        - $ref: '#/components/schemas/DepartureEventModel'
        - $ref: '#/components/schemas/GateInEventModel'
        - $ref: '#/components/schemas/GateOutEventModel'
        - $ref: '#/components/schemas/GeneralEventModel'
        - $ref: '#/components/schemas/SensorUpdateEventModel'
        - $ref: '#/components/schemas/StartEngineEventModel'
        - $ref: '#/components/schemas/StartMovingEventModel'
        - $ref: '#/components/schemas/StartWaitingEventModel'
        - $ref: '#/components/schemas/StopEngineEventModel'
        - $ref: '#/components/schemas/StopMovingEventModel'
        - $ref: '#/components/schemas/LocationUpdateEventModel'
        - $ref: '#/components/schemas/UpdateEventModel'
    GateInEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            full:
              type: boolean
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    GateOutEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            full:
              type: boolean
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    GeneralEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            name:
              type: string
            description:
              type: string
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    LocationUpdateEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
            distanceToNextStop:
              type: integer
              format: int32
            timeToNextStop:
              type: integer
              format: int32
    SensorUpdateEventModel:
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/ValueWithUnit'
    StartEngineEventModel:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/VehicleModel'
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    StartMovingEventModel:
      required:
        - geoReference
        - vehicle
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/VehicleModel'
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    StartWaitingEventModel:
      required:
        - geoReference
        - vehicle
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/VehicleModel'
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    StopEngineEventModel:
      required:
        - geoReference
        - vehicle
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/VehicleModel'
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    StopMovingEventModel:
      required:
        - geoReference
        - vehicle
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/VehicleModel'
            geoReference:
              $ref: '#/components/schemas/GeoReferenceModel'
    UpdateEventModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            entity:
              type: object
    CapacityChangeEventModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/EventModel'
        - type: object
          properties:
            capacityChangeEventType:
              type: string
              enum:
                - emptyCapacityInitializationEvent
                - stopCapacityChangeEvent
                - loadEvent
                - unloadGoodsEvent
                - attachTransportEquipmentEvent
                - detachTransportEquipmentEvent
                - loadTransportEquipmentEvent
                - unloadTransportEquipmentEvent
            checkpointDateTime:
              type: string
              format: date-time
            sequenceNr:
              type: integer
              format: int32
            stackCapacities:
              type: array
              items:
                $ref: '#/components/schemas/StackCapacity'
            preStackCapacityMetrics:
              $ref: '#/components/schemas/StackCapacityMetrics'
            postStackCapacityMetrics:
              $ref: '#/components/schemas/StackCapacityMetrics'
    EventModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - generalEvent
            - sensorUpdateEvent
            - gateInEvent
            - gateOutEvent
            - arrivalEvent
            - departureEvent
            - stopEngineEvent
            - startEngineEvent
            - startWaitingEvent
            - stopWaitingEvent
            - stopMovingEvent
            - startMovingEvent
            - locationUpdateEvent
            - updateEvent
            - associationRemovedEvent
            - associationCreatedEvent
            - capacityChangeEvent
        lifeCycle:
          type: string
          enum:
            - requested
            - planned
            - projected
            - actual
            - realized
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        dateTime:
          type: string
          format: date-time
      discriminator:
        propertyName: type
        mapping:
          arrivalEvent: '#/components/schemas/ArrivalEventModel'
          departureEvent: '#/components/schemas/DepartureEventModel'
          gateInEvent: '#/components/schemas/GateInEventModel'
          gateOutEvent: '#/components/schemas/GateOutEventModel'
          generalEvent: '#/components/schemas/GeneralEventModel'
          sensorUpdateEvent: '#/components/schemas/SensorUpdateEventModel'
          startEngineEvent: '#/components/schemas/StartEngineEventModel'
          startMovingEvent: '#/components/schemas/StartMovingEventModel'
          startWaitingEvent: '#/components/schemas/StartWaitingEventModel'
          stopEngineEvent: '#/components/schemas/StopEngineEventModel'
          stopMovingEvent: '#/components/schemas/StopMovingEventModel'
          locationUpdateEvent: '#/components/schemas/LocationUpdateEventLightModel'
          updateEvent: '#/components/schemas/UpdateEventModel'
      oneOf:
        - $ref: '#/components/schemas/ArrivalEventModel'
        - $ref: '#/components/schemas/DepartureEventModel'
        - $ref: '#/components/schemas/GateInEventModel'
        - $ref: '#/components/schemas/GateOutEventModel'
        - $ref: '#/components/schemas/GeneralEventModel'
        - $ref: '#/components/schemas/SensorUpdateEventModel'
        - $ref: '#/components/schemas/StartEngineEventModel'
        - $ref: '#/components/schemas/StartMovingEventModel'
        - $ref: '#/components/schemas/StartWaitingEventModel'
        - $ref: '#/components/schemas/StopEngineEventModel'
        - $ref: '#/components/schemas/StopMovingEventModel'
        - $ref: '#/components/schemas/LocationUpdateEventModel'
        - $ref: '#/components/schemas/UpdateEventModel'
    EventResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        event:
          $ref: '#/components/schemas/EventModel'
    LocationUpdateEventLightModel:
      required:
        - geoReference
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - generalEvent
            - sensorUpdateEvent
            - gateInEvent
            - gateOutEvent
            - arrivalEvent
            - departureEvent
            - stopEngineEvent
            - startEngineEvent
            - startWaitingEvent
            - stopWaitingEvent
            - stopMovingEvent
            - startMovingEvent
            - locationUpdateEvent
            - updateEvent
            - associationRemovedEvent
            - associationCreatedEvent
            - capacityChangeEvent
        lifeCycle:
          type: string
          enum:
            - requested
            - planned
            - projected
            - actual
            - realized
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        dateTime:
          type: string
          format: date-time
        geoReference:
          $ref: '#/components/schemas/GeoReferenceModel'
        distanceToNextStop:
          type: integer
          format: int32
        timeToNextStop:
          type: integer
          format: int32
    EventsResponse:
      type: object
      properties:
        results:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ItemResponse'
    FeedbackCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        email:
          type: string
        user:
          $ref: '#/components/schemas/UserModel'
        rate:
          type: integer
          format: int32
        feedback:
          type: string
        wouldPay:
          type: boolean
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
    FeedbackModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        email:
          type: string
        user:
          $ref: '#/components/schemas/UserModel'
        rate:
          type: integer
          format: int32
        feedback:
          type: string
        wouldPay:
          type: boolean
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
    FeedbackResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        feedback:
          $ref: '#/components/schemas/FeedbackModel'
    FeedbacksResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        feedback:
          type: array
          items:
            $ref: '#/components/schemas/FeedbackModel'
    FileResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        file:
          $ref: '#/components/schemas/FileModel'
    FileCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        url:
          type: string
        path:
          type: string
        name:
          type: string
        originalName:
          type: string
        size:
          type: integer
          format: int64
        purpose:
          type: string
        type:
          type: string
          enum:
            - IMAGE
            - VIDEO
            - MUSIC
            - WORD
            - EXCEL
            - CSV
            - PDF
            - EMAIL
            - JSON
        mimeType:
          type: string
        extension:
          type: string
    FleetCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        number:
          type: string
    FleetModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        number:
          type: string
    FleetResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        fleet:
          $ref: '#/components/schemas/FleetModel'
    FleetLight:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        vehicles:
          type: array
          items:
            type: string
    FleetsLightResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        fleets:
          type: array
          items:
            $ref: '#/components/schemas/FleetLight'
    FleetsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        fleets:
          type: array
          items:
            $ref: '#/components/schemas/FleetModel'
    CurrenciesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        currencies:
          type: array
          items:
            $ref: '#/components/schemas/CurrencyModel'
    EmptyEntityResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        value:
          type: object
    IndustriesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        industries:
          type: array
          items:
            $ref: '#/components/schemas/IndustryModel'
    LanguageModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        localName:
          type: string
        code:
          type: string
        iso3166:
          type: string
        decimalDelimiter:
          type: string
        thousandDelimiter:
          type: string
        dateFormat:
          type: string
        measurementUnit:
          type: string
          enum:
            - metric
            - imperial
    LanguagesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        languages:
          type: array
          items:
            $ref: '#/components/schemas/LanguageModel'
    MappingToJsonRequest:
      type: object
      properties:
        mapping:
          type: object
          additionalProperties:
            type: object
    MappingToJsonResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        value:
          type: string
    PermissionsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionModel'
    PricingCategoriesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        pricingCategories:
          type: array
          items:
            $ref: '#/components/schemas/PricingCategoryModel'
    TaxRatesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        taxRates:
          type: array
          items:
            $ref: '#/components/schemas/TaxRateModel'
    EntitiesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        entities:
          type: array
          items:
            $ref: '#/components/schemas/Entity'
    Entity:
      type: object
      properties:
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        entity:
          type: object
    GoodsCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - transportEquipment
            - items
        name:
          type: string
        description:
          type: string
        remark:
          type: string
        barCode:
          type: string
        quantity:
          type: integer
          format: int32
        weight:
          $ref: '#/components/schemas/ValueWithUnit'
        grossWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        maxStackableWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        stackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
        isStackObjectMetricsUpdated:
          type: boolean
      discriminator:
        propertyName: type
        mapping:
          items: '#/components/schemas/ItemsModel'
          transportEquipment: '#/components/schemas/TransportEquipmentModel'
      oneOf:
        - $ref: '#/components/schemas/ItemsModel'
        - $ref: '#/components/schemas/TransportEquipmentModel'
    GoodsModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - transportEquipment
            - items
        name:
          type: string
        description:
          type: string
        remark:
          type: string
        barCode:
          type: string
        quantity:
          type: integer
          format: int32
        weight:
          $ref: '#/components/schemas/ValueWithUnit'
        grossWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        maxStackableWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        stackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
        isStackObjectMetricsUpdated:
          type: boolean
      discriminator:
        propertyName: type
        mapping:
          items: '#/components/schemas/ItemsModel'
          transportEquipment: '#/components/schemas/TransportEquipmentModel'
      oneOf:
        - $ref: '#/components/schemas/ItemsModel'
        - $ref: '#/components/schemas/TransportEquipmentModel'
    GoodsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        goods:
          $ref: '#/components/schemas/GoodsModel'
    GoodsListResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        goodsList:
          type: array
          items:
            $ref: '#/components/schemas/GoodsModel'
    TransportEquipmentResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        transportEquipment:
          $ref: '#/components/schemas/TransportEquipment'
    ExtendedTransportEquipmentModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - transportEquipment
            - items
        name:
          type: string
        description:
          type: string
        remark:
          type: string
        barCode:
          type: string
        quantity:
          type: integer
          format: int32
        weight:
          $ref: '#/components/schemas/ValueWithUnit'
        grossWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        maxStackableWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        stackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
        isStackObjectMetricsUpdated:
          type: boolean
        loadWidth:
          $ref: '#/components/schemas/ValueWithUnit'
        loadHeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadLength:
          $ref: '#/components/schemas/ValueWithUnit'
        maxWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
        equipmentType:
          type: string
          description: The type of equipment (Trailer/Chassis/Pallet/Box/etc.)
        equipmentSubType:
          type: string
          description: >-
            The subtype of equipment (EuroPallet/Dry van/Reefer
            Van/Lowbed/Backbone/Block pallet)
        licensePlate:
          type: string
        vin:
          type: string
        equipmentId:
          type: string
          description: |2-

                        The container number of the transport order.Should be 11 characters.First 3 characters should be letters. 
                        4th character should be U, J or Z and last 7 characters should be numbers.The format is in ISO 6346.
                        
        seal:
          type: string
          description: Seal number of the equipment
        requirementCodes:
          type: array
          description: The specific requirements for the transport.
          items:
            type: string
            description: The specific requirements for the transport.
        business:
          $ref: '#/components/schemas/Business'
        operational:
          type: boolean
        internal:
          type: boolean
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/VehicleModel'
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurModel'
    ExtendedTransportEquipmentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/ExtendedTransportEquipmentModel'
    TransportEquipmentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipmentModel'
    ChauffeursOnTruckByDateRangeRequest:
      type: object
      properties:
        chauffeurs:
          type: array
          items:
            type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
    InsightMultiTableResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        tables:
          type: array
          items:
            $ref: '#/components/schemas/Table'
        type:
          type: string
          enum:
            - table
            - multiTable
    Table:
      type: object
      properties:
        name:
          type: string
        values:
          type: array
          items:
            $ref: '#/components/schemas/ValueRow'
        resultRow:
          $ref: '#/components/schemas/ValueRow'
    Value:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
          enum:
            - constant
            - string
            - integer
            - float
            - datetime
            - duration
            - date
            - time
            - boolean
            - object
            - array
            - filters
            - table
        value:
          type: object
        defaultValue:
          type: object
        size:
          type: string
    ValueRow:
      type: object
      properties:
        values:
          type: array
          items:
            $ref: '#/components/schemas/Value'
        order:
          type: integer
          format: int32
    ChauffeursBorderCrossingByDateRangeRequest:
      type: object
      properties:
        chauffeurs:
          type: array
          items:
            type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
    PerCustomerTransportOrdersByDateRangeRequest:
      type: object
      properties:
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - declined
            - cancelled
            - requested
            - accepted
            - calculated_trip
            - partially_planned
            - planned
            - actual
            - realized
            - concept
    InsightTableResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        table:
          $ref: '#/components/schemas/Table'
        type:
          type: string
          enum:
            - table
            - multiTable
    UserReportRequest:
      type: object
      properties:
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
    VehiclesCO2ByDateRangeRequest:
      type: object
      properties:
        type:
          type: string
        vehicles:
          type: array
          items:
            type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
    VehiclesSensorValueAtDateRequest:
      type: object
      properties:
        type:
          type: string
        vehicles:
          type: array
          items:
            type: string
        date:
          type: string
          format: date-time
    VehiclesTripsByDateRangeRequest:
      type: object
      properties:
        vehicles:
          type: array
          items:
            type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
    IntegrationCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - manual
            - configured
            - messageAutomation
            - fileTemplate
            - apiAccess
        name:
          type: string
        description:
          type: string
        schedule:
          $ref: '#/components/schemas/IntegrationSchedulerSchedule'
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationDataSourceModel'
        enabled:
          type: boolean
        lastHandled:
          type: string
          format: date-time
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
      discriminator:
        propertyName: type
        mapping:
          configured: '#/components/schemas/ConfiguredIntegrationModel'
          fileTemplate: '#/components/schemas/FileTemplateIntegrationModel'
          manual: '#/components/schemas/ManualIntegrationModel'
          messageAutomation: '#/components/schemas/MessageAutomationIntegrationModel'
          apiAccess: '#/components/schemas/ApiAccessIntegrationModel'
      oneOf:
        - $ref: '#/components/schemas/ConfiguredIntegrationModel'
        - $ref: '#/components/schemas/FileTemplateIntegrationModel'
        - $ref: '#/components/schemas/ManualIntegrationModel'
        - $ref: '#/components/schemas/MessageAutomationIntegrationModel'
        - $ref: '#/components/schemas/ApiAccessIntegrationModel'
    IntegrationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        integration:
          $ref: '#/components/schemas/IntegrationModel'
    IntegrationCredentialsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        credentials:
          $ref: '#/components/schemas/IntegrationCredentialsModel'
    IntegrationLogModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        integration:
          $ref: '#/components/schemas/IntegrationModel'
        integrationTask:
          $ref: '#/components/schemas/IntegrationTaskModel'
        type:
          type: string
          enum:
            - info
            - warning
            - error
            - success
        message:
          type: string
        code:
          type: string
    IntegrationLogsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        integrationLogs:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationLogModel'
    IntegrationTaskModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        type:
          type: string
        name:
          type: string
        description:
          type: string
        instanceId:
          type: string
        status:
          type: string
          enum:
            - queue
            - processing
            - success
            - error
        nextTaskExecution:
          type: string
          format: date-time
        sequenceNr:
          type: integer
          format: int32
    IntegrationObjectModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - queue
            - processing
            - success
            - error
            - retry
        trigger:
          type: string
          enum:
            - afterCreatingTrip
            - afterUpdatingTrip
            - afterConfirmingTrip
            - afterStartingTrip
            - afterFinishingTrip
            - afterCancelingTrip
            - afterLocationUpdateEvent
            - afterCreatingMessage
            - afterUpdatingMessage
            - afterCreatingEvent
            - afterStartEngineEvent
            - afterStartMovingEvent
            - afterStopMovingEvent
            - afterStopEngineEvent
            - afterCreatingWaitAction
            - afterUpdatingWaitAction
            - afterCreatingUnloadAction
            - afterUpdatingUnloadAction
            - afterCreatingStopAction
            - afterUpdatingStopAction
            - afterCreatingMoveAction
            - afterUpdatingMoveAction
            - afterCreatingLoadAction
            - afterUpdatingLoadAction
            - afterCreatingDetachTransportEquipmentAction
            - afterUpdatingDetachTransportEquipmentAction
            - afterCreatingDetachChauffeurAction
            - afterUpdatingDetachChauffeurAction
            - afterCreatingBreakAction
            - afterUpdatingBreakAction
            - afterCreatingAttachTransportEquipmentAction
            - afterUpdatingAttachTransportEquipmentAction
            - afterCreatingAttachChauffeurAction
            - afterUpdatingAttachChauffeurAction
            - afterActionLifeCycleUpdate
            - afterCreatingCapacityContract
            - afterUpdatingCapacityContract
            - afterCreatingMessageAutomation
            - AfterUpdatingMessageAutomation
            - afterCreatingTransportOrder
            - afterUpdatingTransportOrder
            - afterCreatingConsignment
            - afterUpdatingConsignment
            - afterCreatingBusiness
            - afterUpdatingBusiness
            - afterCreatingInvoice
            - afterSendingInvoice
            - afterUpdatingInvoice
            - afterCreatingQuote
            - afterUpdatingQuote
            - afterCreatingUser
            - afterUpdatingUser
            - afterCreatingLocation
            - afterUpdatingLocation
            - afterExceedingStopAverageDuration
            - afterHomeBaseReturnOverdue
            - afterCreatingBooking
            - afterUpdatingBooking
            - afterCreatingIntegration
            - afterUpdatingIntegration
        objectId:
          type: string
        value:
          type: string
        changedFields:
          type: string
        errorMessage:
          type: string
        instanceId:
          type: string
        retriedCount:
          type: integer
          format: int32
    IntegrationObjectsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        integrationObjects:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationObjectModel'
    IntegrationRequestLogModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        requestUrl:
          type: string
        requestPort:
          type: string
        requestBody:
          type: string
        connectionType:
          type: string
          enum:
            - api
            - ftp
            - sftp
            - sql
            - web_hook
            - email
        responseCode:
          type: integer
          format: int32
        responseBody:
          type: string
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        integration:
          $ref: '#/components/schemas/IntegrationModel'
        integrationTask:
          $ref: '#/components/schemas/IntegrationTaskModel'
    IntegrationRequestLogsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        requestLogs:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationRequestLogModel'
    IntegrationTasksResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        integrationTasks:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationTaskModel'
    IntegrationsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        integrations:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationModel'
    IntegrationFunctionsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        functions:
          type: array
          items:
            type: string
    ImportDataIntegrationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
    ImportDataIntegrationRequest:
      type: object
      properties:
        data:
          type: string
        entityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        fields:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationField'
    Response:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
    TestIntegrationDataSourceMappingResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        data:
          type: string
    TestIntegrationDataSourceMappingRequest:
      type: object
      properties:
        data:
          type: string
        dataSource:
          $ref: '#/components/schemas/IntegrationDataSource'
    TestIntegrationFileTemplateMappingResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        data:
          type: string
    IntegrationFileTemplateResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        file:
          $ref: '#/components/schemas/FileModel'
        matrix:
          type: array
          items:
            type: array
            items:
              type: string
        matrixFingerPrint:
          type: string
        html:
          type: string
        htmlFingerPrint:
          type: string
    LaneModel:
      required:
        - position
        - title
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        position:
          type: integer
          description: The position of the lane within a board
          format: int32
        title:
          type: string
          description: The title of the lane
        color:
          type: string
        default:
          type: boolean
        todoStatus:
          type: string
          enum:
            - default
            - todo
            - overDue
            - in_progress
            - completed
    LaneResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        lane:
          $ref: '#/components/schemas/LaneModel'
    LanesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        lanes:
          type: array
          items:
            $ref: '#/components/schemas/LaneModel'
    LocationCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        type:
          type: string
          enum:
            - warehouse
            - store
            - environmentalZone
            - restrictedArea
            - customer
            - parkingSpot
            - loadingUnloadingArea
            - operationalBase
            - fuelStation
        name:
          type: string
        unCode:
          type: string
        geoReference:
          $ref: '#/components/schemas/GeoReferenceModel'
        administrativeReference:
          $ref: '#/components/schemas/AdministrativeReference'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
        pricingElements:
          type: array
          items:
            $ref: '#/components/schemas/PricingElementModel'
        remark:
          type: string
        hash:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
    LocationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        location:
          $ref: '#/components/schemas/LocationModel'
    LocationsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        locations:
          type: array
          items:
            $ref: '#/components/schemas/LocationModel'
    LatLonPointGeoReferenceResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        latLonPointGeoReference:
          $ref: '#/components/schemas/LatLonPointGeoReferenceModel'
    LocationActionAverageDurationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        duration:
          type: integer
          format: int64
        count:
          type: integer
          format: int64
    MailResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        mail:
          $ref: '#/components/schemas/MailMessageModel'
    MailMessageCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        imap:
          $ref: '#/components/schemas/IMAP'
        contentId:
          type: string
        messageNumber:
          type: integer
          format: int32
        receivedDate:
          type: string
          format: date-time
        sentDate:
          type: string
          format: date-time
        read:
          type: boolean
        subject:
          type: string
        plainText:
          type: string
        text:
          type: string
        sender:
          $ref: '#/components/schemas/MailAddress'
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/MailAddress'
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
    ContactDetailAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
      discriminator:
        propertyName: associationType
        mapping:
          inline: '#/components/schemas/ContactDetailInlineAssociation'
          reference: '#/components/schemas/ContactDetailReferenceAssociation'
      oneOf:
        - $ref: '#/components/schemas/ContactDetailInlineAssociation'
        - $ref: '#/components/schemas/ContactDetailReferenceAssociation'
    ContactDetailInlineAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        entity:
          $ref: '#/components/schemas/ContactDetail'
        description:
          type: string
    ContactDetailReferenceAssociation:
      type: object
      properties:
        associationType:
          type: string
          enum:
            - inline
            - reference
        uuid:
          type: string
        description:
          type: string
    CustomerModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        business:
          $ref: '#/components/schemas/Business'
        contactPerson:
          $ref: '#/components/schemas/ContactPersonModel'
        customer:
          $ref: '#/components/schemas/CustomerModel'
      description: The Customer, who this transport order is executed for
    MailAndTransportOrderResponse:
      type: object
      properties:
        success:
          type: boolean
        mail:
          $ref: '#/components/schemas/MailMessageModel'
        transportOrder:
          $ref: '#/components/schemas/TransportOrder'
    TeamModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
    TransportOrder:
      required:
        - customer
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        orderId:
          type: string
          description: >-
            Order ID is the Unique Identifier specifically for orders. If not
            set, the serve will generate one.
        name:
          type: string
          description: Name of the TransportOrder, for display and search purposes only.
        type:
          type: string
          description: >-
            The type of Transport Order. Normal Transport Orders are defined as
            `standard`.
          default: STANDARD
          enum:
            - standard
            - expected
            - forwarded
        status:
          type: string
          description: >-
            The status of the `TransportOrder`. It shows the lifecycle of the
            order.
          enum:
            - declined
            - cancelled
            - requested
            - accepted
            - calculated_trip
            - partially_planned
            - planned
            - actual
            - realized
            - concept
        description:
          type: string
          description: The description of the transport order
        referenceDescription:
          type: string
          description: >-
            The reference description of the transport order. This often is the
            invoice reference or reference of the customer side
        customer:
          $ref: '#/components/schemas/CustomerModel'
        mailMessage:
          $ref: '#/components/schemas/MailMessageModel'
        vat:
          $ref: '#/components/schemas/TaxRateModel'
        deliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        team:
          $ref: '#/components/schemas/TeamModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailAssociation'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        shareSettings:
          $ref: '#/components/schemas/TransportOrderShareSettings'
        template:
          type: boolean
        expectedRevenue:
          $ref: '#/components/schemas/MoneyModel'
        expectedCost:
          $ref: '#/components/schemas/MoneyModel'
        versionNumber:
          type: integer
          format: int32
    TransportOrderShareSettings:
      type: object
      properties:
        isOpen:
          type: boolean
        shareCode:
          type: string
        validUntil:
          type: string
          format: date-time
    MailsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        mails:
          type: array
          items:
            $ref: '#/components/schemas/MailMessageModel'
    FinancialOverview:
      type: object
      properties:
        actualTotalRevenue:
          $ref: '#/components/schemas/Money'
        actualOpenRevenue:
          $ref: '#/components/schemas/Money'
        actualTotalCost:
          $ref: '#/components/schemas/Money'
        actualResult:
          $ref: '#/components/schemas/Money'
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/Invoice'
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/Quote'
        quotedTotalRevenue:
          $ref: '#/components/schemas/Money'
        quotedDeclinedRevenue:
          $ref: '#/components/schemas/Money'
        quotedAcceptedRevenue:
          $ref: '#/components/schemas/Money'
        pipelineTripsExpectedCost:
          $ref: '#/components/schemas/Money'
        pipelineTrips:
          type: integer
          format: int32
        scheduledTripsExpectedCost:
          $ref: '#/components/schemas/Money'
        scheduledTrips:
          type: integer
          format: int32
        inTransitTripsExpectedCost:
          $ref: '#/components/schemas/Money'
        inTransitTrips:
          type: integer
          format: int32
        expectedTotalCost:
          $ref: '#/components/schemas/Money'
        expectedResult:
          $ref: '#/components/schemas/Money'
    FinancialOverviewResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        financialOverview:
          $ref: '#/components/schemas/FinancialOverview'
    OperationalOverview:
      type: object
      properties:
        netProfit:
          $ref: '#/components/schemas/Money'
        netProfitPerTrip:
          $ref: '#/components/schemas/Money'
        totalMeters:
          type: number
          format: double
        totalEmptyMeters:
          type: number
          format: double
        averageMetersPerVehicle:
          type: number
          format: double
        previousPeriodAverageMetersPerVehicle:
          type: number
          format: double
        revenuePerMeter:
          $ref: '#/components/schemas/Money'
        totalConsignmentsCount:
          type: integer
          format: int32
        tripsCount:
          type: integer
          format: int32
        completedTrips:
          type: integer
          format: int32
        onTimeTrips:
          type: integer
          format: int32
        lateTrips:
          type: integer
          format: int32
        atRiskTrips:
          type: integer
          format: int32
    OperationalOverviewResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        operationalOverview:
          $ref: '#/components/schemas/OperationalOverview'
    OperationalTripsPerDayResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        tripsPerDay:
          type: array
          items:
            $ref: '#/components/schemas/TripMetersPerDay'
    TripMetersPerDay:
      type: object
      properties:
        day:
          type: string
        tripsCount:
          type: integer
          format: int64
        totalMeters:
          type: integer
          format: int64
        emptyMeters:
          type: integer
          format: int64
    MessageAutomationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        messageAutomation:
          $ref: '#/components/schemas/MessageAutomationModel'
    MessageAutomationsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        messageAutomations:
          type: array
          items:
            $ref: '#/components/schemas/MessageAutomationModel'
    FileBasedAutomationRecipientData:
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomationRecipientData'
        - type: object
          properties:
            files:
              type: array
              items:
                $ref: '#/components/schemas/File'
    MessageAutomationData:
      required:
        - type
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        requestMessage:
          type: string
        recipientsData:
          type: array
          items:
            $ref: '#/components/schemas/MessageAutomationRecipientData'
        requestAt:
          type: string
          format: date-time
        type:
          type: string
      discriminator:
        propertyName: type
    MessageAutomationRecipientData:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        recipient:
          type: string
        responseAt:
          type: string
          format: date-time
        type:
          type: string
          enum:
            - messageAutomationRecipientData
            - questionAnswerAutomationRecipientData
            - fileBasedAutomationRecipientData
      discriminator:
        propertyName: type
        mapping:
          questionAnswerAutomationRecipientData: '#/components/schemas/QuestionAnswerAutomationRecipientData'
          fileBasedAutomationRecipientData: '#/components/schemas/FileBasedAutomationRecipientData'
      oneOf:
        - $ref: '#/components/schemas/QuestionAnswerAutomationRecipientData'
        - $ref: '#/components/schemas/FileBasedAutomationRecipientData'
    MessageAutomationTask:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
        name:
          type: string
        description:
          type: string
        instanceId:
          type: string
        status:
          type: string
          enum:
            - queue
            - processing
            - success
            - error
        messageAutomation:
          $ref: '#/components/schemas/MessageAutomation'
        messageAutomationData:
          type: array
          items:
            $ref: '#/components/schemas/MessageAutomationData'
    MessageAutomationTasksResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        messageAutomationTasks:
          type: array
          items:
            $ref: '#/components/schemas/MessageAutomationTask'
    QuestionAnswerAutomationRecipientData:
      type: object
      allOf:
        - $ref: '#/components/schemas/MessageAutomationRecipientData'
        - type: object
          properties:
            responseAnswerMessage:
              type: string
    NotificationCreateRequest:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/UserModel'
        image:
          $ref: '#/components/schemas/FileModel'
        title:
          type: string
        link:
          type: string
        message:
          type: string
        notificationLevel:
          type: string
          enum:
            - INFO
            - UPDATE
            - ACTION
            - INTERMEDIATE
            - IMPORTANT
            - HIGH
            - URGENT
        notificationState:
          type: string
          enum:
            - NORMAL
            - IMPORTANT
            - PINNED
            - DELETED
        push:
          type: boolean
        hasSentPush:
          type: boolean
        email:
          type: boolean
        hasSentEmail:
          type: boolean
        action:
          type: string
        actionType:
          type: string
          enum:
            - NONE
            - BUTTON
            - ARTICLE
        actionName:
          type: string
        actionValue:
          type: string
        date:
          type: string
          format: date-time
        read:
          type: array
          items:
            $ref: '#/components/schemas/NotificationReadModel'
    NotificationReadModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        isRead:
          type: boolean
        by:
          $ref: '#/components/schemas/UserModel'
        readAt:
          type: string
          format: date-time
    NotificationModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/UserModel'
        image:
          $ref: '#/components/schemas/FileModel'
        title:
          type: string
        link:
          type: string
        message:
          type: string
        notificationLevel:
          type: string
          enum:
            - INFO
            - UPDATE
            - ACTION
            - INTERMEDIATE
            - IMPORTANT
            - HIGH
            - URGENT
        notificationState:
          type: string
          enum:
            - NORMAL
            - IMPORTANT
            - PINNED
            - DELETED
        push:
          type: boolean
        hasSentPush:
          type: boolean
        email:
          type: boolean
        hasSentEmail:
          type: boolean
        action:
          type: string
        actionType:
          type: string
          enum:
            - NONE
            - BUTTON
            - ARTICLE
        actionName:
          type: string
        actionValue:
          type: string
        date:
          type: string
          format: date-time
        read:
          type: array
          items:
            $ref: '#/components/schemas/NotificationReadModel'
    NotificationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        notification:
          $ref: '#/components/schemas/NotificationModel'
    NotificationsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/NotificationModel'
        notificationsUnread:
          type: integer
          format: int32
    NotificationIdList:
      type: object
      properties:
        notifications:
          type: array
          items:
            type: string
    Notification:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        user:
          $ref: '#/components/schemas/User'
        image:
          $ref: '#/components/schemas/File'
        title:
          type: string
        link:
          type: string
        message:
          type: string
        notificationLevel:
          type: string
          enum:
            - INFO
            - UPDATE
            - ACTION
            - INTERMEDIATE
            - IMPORTANT
            - HIGH
            - URGENT
        notificationState:
          type: string
          enum:
            - NORMAL
            - IMPORTANT
            - PINNED
            - DELETED
        push:
          type: boolean
        hasSentPush:
          type: boolean
        email:
          type: boolean
        hasSentEmail:
          type: boolean
        action:
          type: string
        actionType:
          type: string
          enum:
            - NONE
            - BUTTON
            - ARTICLE
        actionName:
          type: string
        actionValue:
          type: string
        date:
          type: string
          format: date-time
        read:
          type: array
          items:
            $ref: '#/components/schemas/NotificationRead'
    NotificationRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        isRead:
          type: boolean
        by:
          $ref: '#/components/schemas/User'
        readAt:
          type: string
          format: date-time
    BillingPaymentIntentRequest:
      type: object
      properties:
        id:
          type: string
        companyName:
          type: string
        vat:
          type: string
        email:
          type: string
        administrativeReference:
          $ref: '#/components/schemas/AdministrativeReference'
    PaymentIntentResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        billingId:
          type: string
        paymentIntentId:
          type: string
        clientSecret:
          type: string
    BillingEstimateResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        estimate:
          $ref: '#/components/schemas/Money'
        endOfBillingPeriod:
          type: string
          format: date-time
    BillingResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        billing:
          $ref: '#/components/schemas/Billing'
    BillingUsageEvent:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - user
            - vehicle
            - consignment
            - invoice
            - quote
            - trip
            - messageAutomation
            - integration
        billing:
          $ref: '#/components/schemas/Billing'
        unitPrice:
          $ref: '#/components/schemas/Money'
        totalPrice:
          $ref: '#/components/schemas/Money'
        quantity:
          type: integer
          format: int32
        entityId:
          type: string
        description:
          type: string
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        billed:
          type: boolean
        freemium:
          type: boolean
        canBeReplaced:
          type: boolean
        pastEntityIds:
          type: array
          items:
            type: string
    BillingUsageEventsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        events:
          type: array
          items:
            $ref: '#/components/schemas/BillingUsageEvent'
    LanguageLabels:
      type: object
      properties:
        language:
          type: string
        labels:
          type: string
    PlatformCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        nameSpace:
          type: string
        logo:
          $ref: '#/components/schemas/FileModel'
        favicon:
          $ref: '#/components/schemas/FileModel'
        notificationLogo:
          $ref: '#/components/schemas/FileModel'
        fullLogo:
          $ref: '#/components/schemas/FileModel'
        backgroundImage:
          $ref: '#/components/schemas/FileModel'
        darkLogo:
          $ref: '#/components/schemas/FileModel'
        darkFavicon:
          $ref: '#/components/schemas/FileModel'
        darkNotificationLogo:
          $ref: '#/components/schemas/FileModel'
        darkFullLogo:
          $ref: '#/components/schemas/FileModel'
        darkBackgroundImage:
          $ref: '#/components/schemas/FileModel'
        primaryColor:
          type: string
        secondaryColor:
          type: string
        darkPrimaryColor:
          type: string
        darkSecondaryColor:
          type: string
        hostNames:
          type: array
          items:
            $ref: '#/components/schemas/PlatformHostNameModel'
        features:
          type: array
          items:
            $ref: '#/components/schemas/PlatformFeature'
        planningSettings:
          $ref: '#/components/schemas/PlatformPlanningSettings'
        pricingSettings:
          $ref: '#/components/schemas/PlatformPricingSettings'
        credentialSettings:
          $ref: '#/components/schemas/PlatformCredentialSettings'
        routingSettings:
          $ref: '#/components/schemas/PlatformRoutingSettings'
        translationSettings:
          $ref: '#/components/schemas/PlatformTranslationSettings'
        canRegister:
          type: boolean
        canRequestAccess:
          type: boolean
        description:
          type: string
        contactEmail:
          type: string
        apps:
          type: array
          items:
            $ref: '#/components/schemas/AppModel'
        disablingAt:
          type: string
          format: date-time
        disabled:
          type: boolean
        inWaitList:
          type: boolean
    PlatformCredentialSettings:
      type: object
      properties:
        force2FA:
          type: boolean
        stripeKey:
          type: string
        stripePublicKey:
          type: string
        ptvKey:
          type: string
        ptvSecret:
          type: string
        awsKey:
          type: string
        awsSecret:
          type: string
        googleApiKey:
          type: string
        googleApiSecret:
          type: string
        googleCaptchaKey:
          type: string
        googleCaptchaSecret:
          type: string
    PlatformFeature:
      type: object
      properties:
        name:
          type: string
    PlatformHostNameModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        hostName:
          type: string
    PlatformPlanningSettings:
      type: object
      properties:
        defaultDeliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        alwaysCombinedTransport:
          type: boolean
        finishTripOnActionsComplete:
          type: boolean
        loadActionDefaultDuration:
          type: integer
          description: >-
            Default action duration in seconds if not yet enough data is
            available
          format: int32
        unloadActionDefaultDuration:
          type: integer
          description: >-
            Default action duration in seconds if not yet enough data is
            available
          format: int32
        stopActionDefaultDuration:
          type: integer
          description: >-
            Default action duration in seconds if not yet enough data is
            available
          format: int32
        attachTransportEquipmentActionDefaultDuration:
          type: integer
          description: >-
            Default action duration in seconds if not yet enough data is
            available
          format: int32
        detachTransportEquipmentActionDefaultDuration:
          type: integer
          description: >-
            Default action duration in seconds if not yet enough data is
            available
          format: int32
        defaultTransportOrderTemplate:
          type: string
        defaultTripStartDuration:
          type: integer
          format: int32
    PlatformPricingSettings:
      type: object
      properties:
        defaultChauffeurCostPricing:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
        defaultVehicleCostPricing:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
    PlatformRoutingSettings:
      type: object
      properties:
        routingEngine:
          type: string
          enum:
            - transportial
            - ptv
        seaPassages:
          $ref: '#/components/schemas/SeaPassages'
    PlatformTranslationSettings:
      type: object
      properties:
        languagesLabels:
          type: array
          items:
            $ref: '#/components/schemas/LanguageLabels'
    SeaPassages:
      type: object
      properties:
        allowSuez:
          type: boolean
        allowPanama:
          type: boolean
        allowMalacca:
          type: boolean
        allowGibraltar:
          type: boolean
        allowDover:
          type: boolean
        allowBering:
          type: boolean
        allowMagellan:
          type: boolean
        allowBabelmandeb:
          type: boolean
        allowKiel:
          type: boolean
        allowCorinth:
          type: boolean
        allowNorthwest:
          type: boolean
        allowNortheast:
          type: boolean
    PlatformModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        nameSpace:
          type: string
        logo:
          $ref: '#/components/schemas/FileModel'
        favicon:
          $ref: '#/components/schemas/FileModel'
        notificationLogo:
          $ref: '#/components/schemas/FileModel'
        fullLogo:
          $ref: '#/components/schemas/FileModel'
        backgroundImage:
          $ref: '#/components/schemas/FileModel'
        darkLogo:
          $ref: '#/components/schemas/FileModel'
        darkFavicon:
          $ref: '#/components/schemas/FileModel'
        darkNotificationLogo:
          $ref: '#/components/schemas/FileModel'
        darkFullLogo:
          $ref: '#/components/schemas/FileModel'
        darkBackgroundImage:
          $ref: '#/components/schemas/FileModel'
        primaryColor:
          type: string
        secondaryColor:
          type: string
        darkPrimaryColor:
          type: string
        darkSecondaryColor:
          type: string
        hostNames:
          type: array
          items:
            $ref: '#/components/schemas/PlatformHostNameModel'
        features:
          type: array
          items:
            $ref: '#/components/schemas/PlatformFeature'
        planningSettings:
          $ref: '#/components/schemas/PlatformPlanningSettings'
        pricingSettings:
          $ref: '#/components/schemas/PlatformPricingSettings'
        credentialSettings:
          $ref: '#/components/schemas/PlatformCredentialSettings'
        routingSettings:
          $ref: '#/components/schemas/PlatformRoutingSettings'
        translationSettings:
          $ref: '#/components/schemas/PlatformTranslationSettings'
        uiSettings:
          $ref: '#/components/schemas/PlatformUISettings'
        canRegister:
          type: boolean
        canRequestAccess:
          type: boolean
        description:
          type: string
        contactEmail:
          type: string
        apps:
          type: array
          items:
            $ref: '#/components/schemas/AppModel'
        disablingAt:
          type: string
          format: date-time
        disabled:
          type: boolean
        inWaitList:
          type: boolean
    PlatformResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        platform:
          $ref: '#/components/schemas/PlatformModel'
    PlatformUISettings:
      type: object
      properties:
        disabledFields:
          type: array
          items:
            type: string
        requiredFields:
          type: array
          items:
            type: string
        requireVerifiedBusinesses:
          type: boolean
    PlatformsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        platforms:
          type: array
          items:
            $ref: '#/components/schemas/PlatformModel'
    UpdatePlatformSettingsRequest:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        logo:
          $ref: '#/components/schemas/File'
        favicon:
          $ref: '#/components/schemas/File'
        notificationLogo:
          $ref: '#/components/schemas/File'
        fullLogo:
          $ref: '#/components/schemas/File'
        backgroundImage:
          $ref: '#/components/schemas/File'
        primaryColor:
          type: string
        secondaryColor:
          type: string
        darkPrimaryColor:
          type: string
        darkSecondaryColor:
          type: string
        business:
          $ref: '#/components/schemas/Business'
        features:
          type: array
          items:
            $ref: '#/components/schemas/PlatformFeature'
        planningSettings:
          $ref: '#/components/schemas/PlatformPlanningSettings'
        pricingSettings:
          $ref: '#/components/schemas/PlatformPricingSettings'
        credentialSettings:
          $ref: '#/components/schemas/PlatformCredentialSettings'
        routingSettings:
          $ref: '#/components/schemas/PlatformRoutingSettings'
        translationSettings:
          $ref: '#/components/schemas/PlatformTranslationSettings'
    SAMLAssertResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
    CertificateInfo:
      type: object
      properties:
        certificateId:
          type: string
        base64EncodedString:
          type: string
        issuer:
          type: string
        subject:
          type: string
        isValid:
          type: boolean
        validFrom:
          type: string
          format: date-time
        validTo:
          type: string
          format: date-time
        validationError:
          type: string
    IDPSAMLMetadata:
      type: object
      properties:
        type:
          type: string
          enum:
            - SPSAMLMetadata
            - IDPSAMLMetadata
        entityID:
          type: string
        signingCertificates:
          type: array
          items:
            $ref: '#/components/schemas/CertificateInfo'
        ssoServices:
          type: array
          items:
            $ref: '#/components/schemas/SSOService'
        protocol:
          type: string
        xmlDigitalSignature:
          type: string
        nameIDPolicyFormat:
          type: string
        wantSignedAuthnRequests:
          type: boolean
    SAML:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        allowedDomains:
          uniqueItems: true
          type: array
          items:
            type: string
        idpSAMLMetadata:
          $ref: '#/components/schemas/IDPSAMLMetadata'
        spSAMLMetadata:
          $ref: '#/components/schemas/SPSAMLMetadata'
        enabled:
          type: boolean
    SPSAMLMetadata:
      type: object
      properties:
        type:
          type: string
          enum:
            - SPSAMLMetadata
            - IDPSAMLMetadata
        entityID:
          type: string
        signingCertificates:
          type: array
          items:
            $ref: '#/components/schemas/CertificateInfo'
        ssoServices:
          type: array
          items:
            $ref: '#/components/schemas/SSOService'
        protocol:
          type: string
        xmlDigitalSignature:
          type: string
        nameIDPolicyFormat:
          type: string
        isAuthenRequestSigned:
          type: boolean
        wantAssertionsSigned:
          type: boolean
    SSOService:
      type: object
      properties:
        binding:
          type: string
        location:
          type: string
    SAMLResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        saml:
          $ref: '#/components/schemas/SAML'
    SPSAMLMetadataXMLResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        spSAMLMetadataXMLString:
          type: string
    PlatformSAMLMetadataResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        spSAMLMetadata:
          $ref: '#/components/schemas/SPSAMLMetadata'
    SAMLsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        samls:
          type: array
          items:
            $ref: '#/components/schemas/SAML'
    PricingCreateModel:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        targetEntityType:
          type: string
          enum:
            - fleetVehicle
            - vehicle
            - trip
            - transportOrder
            - consignment
            - accumulatedData
        triggerType:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        modules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
        businesses:
          type: array
          items:
            $ref: '#/components/schemas/Business'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        lastHandled:
          type: string
          format: date-time
        direct:
          type: boolean
        combinePerCustomer:
          type: boolean
        selfBill:
          type: boolean
        taxRates:
          type: array
          items:
            $ref: '#/components/schemas/PricingTaxRateModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        enabled:
          type: boolean
    PricingModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        targetEntityType:
          type: string
          enum:
            - fleetVehicle
            - vehicle
            - trip
            - transportOrder
            - consignment
            - accumulatedData
        triggerType:
          type: string
          enum:
            - endOfWeek
            - endOfWeekOrMonth
            - endOfMonth
            - endOfQuarter
            - endOfTrip
            - endOfTransportOrder
        currency:
          $ref: '#/components/schemas/CurrencyModel'
        modules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
        businesses:
          type: array
          items:
            $ref: '#/components/schemas/Business'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        lastHandled:
          type: string
          format: date-time
        direct:
          type: boolean
        combinePerCustomer:
          type: boolean
        selfBill:
          type: boolean
        taxRates:
          type: array
          items:
            $ref: '#/components/schemas/PricingTaxRateModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        enabled:
          type: boolean
    PricingResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        pricing:
          $ref: '#/components/schemas/PricingModel'
    PricingsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        pricings:
          type: array
          items:
            $ref: '#/components/schemas/PricingModel'
    PricingVariableIndexCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        variableName:
          type: string
        category:
          $ref: '#/components/schemas/PricingCategoryModel'
        value:
          type: number
          format: double
        timeRelated:
          type: boolean
    PricingVariableIndexResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        pricingVariableIndex:
          $ref: '#/components/schemas/PricingVariableIndexModel'
    PricingVariableIndexesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        pricingVariableIndexes:
          type: array
          items:
            $ref: '#/components/schemas/PricingVariableIndexModel'
    CalculateRouteFromActionsRequest:
      type: object
      properties:
        name:
          type: string
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
        route:
          $ref: '#/components/schemas/Route'
    RouteResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        route:
          $ref: '#/components/schemas/RouteModel'
    CalculateRouteFromGeoReferencesRequest:
      type: object
      properties:
        name:
          type: string
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        geoReferences:
          type: array
          items:
            $ref: '#/components/schemas/GeoReference'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
    RouteCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        time:
          type: integer
          format: int32
        cost:
          type: integer
          format: int32
        distance:
          type: integer
          format: int32
        expenses:
          type: array
          items:
            $ref: '#/components/schemas/RouteCostElementModel'
        additionalInfo:
          type: object
          additionalProperties:
            type: object
        lineString:
          type: string
        actors:
          type: array
          items:
            $ref: '#/components/schemas/ActorModel'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionModel'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintAssociation'
    RoutesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        routes:
          type: array
          items:
            $ref: '#/components/schemas/RouteModel'
    CalculateRouteRequest:
      type: object
      properties:
        name:
          type: string
        locations:
          type: array
          items:
            $ref: '#/components/schemas/Location'
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/Vehicle'
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/Constraint'
        startDateTime:
          type: string
          format: date-time
    CalculateRouteResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        route:
          $ref: '#/components/schemas/RouteModel'
    ScheduleRoute:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        transportModes:
          type: array
          items:
            type: string
            enum:
              - maritime
              - road
              - rail
              - air
              - inlandWaterway
        stops:
          type: object
          properties:
            associationType:
              type: string
              enum:
                - inline
                - reference
          discriminator:
            propertyName: associationType
        route:
          $ref: '#/components/schemas/Route'
        timeSlots:
          type: array
          items:
            $ref: '#/components/schemas/TimeSlot'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModule'
    ScheduleRouteModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        transportModes:
          type: array
          items:
            type: string
            enum:
              - maritime
              - road
              - rail
              - air
              - inlandWaterway
        stops:
          type: object
          properties:
            associationType:
              type: string
              enum:
                - inline
                - reference
          discriminator:
            propertyName: associationType
        route:
          $ref: '#/components/schemas/RouteModel'
        timeSlots:
          type: array
          items:
            $ref: '#/components/schemas/TimeSlotModel'
        pricingModules:
          type: array
          items:
            $ref: '#/components/schemas/PricingModuleModel'
    ScheduleRouteResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        scheduleRoute:
          $ref: '#/components/schemas/ScheduleRouteModel'
    ScheduleRoutesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        scheduleRoutes:
          type: array
          items:
            $ref: '#/components/schemas/ScheduleRouteModel'
    SensorCreateModel:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        placement:
          type: string
          description: >-
            Sometimes more than one sensor can be associated with a single
            entity. This is the case e.g. in cooled trailers that are divided
            into compartments with different temperatures, where each
            compartment has its own sensor. The placement member can be used to
            identify where a sensor is placed. Parties using OpenTripModel to
            exchange sensor data may wish to agree on a standardized naming, but
            this is too specific to describe in the standard.
        type:
          type: string
          description: Type of the sensor, e.g. temperature, speed, etc.
          example: temperature
        constraints:
          type: array
          items:
            $ref: '#/components/schemas/ConstraintModel'
    SensorResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        sensor:
          $ref: '#/components/schemas/SensorModel'
    SensorTypesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        sensorTypes:
          type: array
          items:
            type: string
    SensorUpdateResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        update:
          $ref: '#/components/schemas/SensorUpdateEventModel'
    SensorUpdatesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        updates:
          type: array
          items:
            $ref: '#/components/schemas/SensorUpdateEventModel'
    SensorsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        sensors:
          type: array
          items:
            $ref: '#/components/schemas/SensorModel'
    ServiceCardCreateRequest:
      required:
        - issuedAt
        - validUntil
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        type:
          type: string
        description:
          type: string
        chauffeur:
          $ref: '#/components/schemas/Chauffeur'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentModel'
        issuedAt:
          type: string
          format: date-time
        validUntil:
          type: string
          format: date-time
    ServiceCardResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        serviceCard:
          $ref: '#/components/schemas/ServiceCardModel'
    SupportTicketActionCreateModel:
      type: object
      properties:
        nonce:
          type: string
        user:
          $ref: '#/components/schemas/UserModel'
        message:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        visibleToClient:
          type: boolean
        sendEmail:
          type: boolean
        timeSpent:
          type: number
          format: double
    SupportTicketActionModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/UserModel'
        message:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        visibleToClient:
          type: boolean
        sendEmail:
          type: boolean
        timeSpent:
          type: number
          format: double
    SupportTicketActionResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        supportTicketAction:
          $ref: '#/components/schemas/SupportTicketActionModel'
        supportTicket:
          $ref: '#/components/schemas/SupportTicketModel'
    SupportTicketModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phoneNumber:
          type: string
        subject:
          type: string
        message:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        user:
          $ref: '#/components/schemas/UserModel'
        token:
          type: string
        supportGroup:
          type: string
          enum:
            - NONE
            - GENERAL
            - MARKETING
            - TECHNICAL
        status:
          type: string
          enum:
            - OPEN
            - PLANNED
            - IN_PROGRESS
            - WAITING
            - CLOSED
        priority:
          type: string
          enum:
            - LOW
            - NORMAL
            - HIGH
            - URGENT
        assignedTo:
          $ref: '#/components/schemas/UserModel'
        planned:
          type: string
          format: date-time
        actions:
          type: array
          items:
            $ref: '#/components/schemas/SupportTicketActionModel'
    SupportTicketCreateModel:
      type: object
      properties:
        nonce:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phoneNumber:
          type: string
        subject:
          type: string
        message:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
        user:
          $ref: '#/components/schemas/UserModel'
        token:
          type: string
        supportGroup:
          type: string
          enum:
            - NONE
            - GENERAL
            - MARKETING
            - TECHNICAL
        status:
          type: string
          enum:
            - OPEN
            - PLANNED
            - IN_PROGRESS
            - WAITING
            - CLOSED
        priority:
          type: string
          enum:
            - LOW
            - NORMAL
            - HIGH
            - URGENT
        assignedTo:
          $ref: '#/components/schemas/UserModel'
        planned:
          type: string
          format: date-time
        actions:
          type: array
          items:
            $ref: '#/components/schemas/SupportTicketActionModel'
    SupportTicketResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        supportTicket:
          $ref: '#/components/schemas/SupportTicketModel'
    App:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        logo:
          $ref: '#/components/schemas/File'
        name:
          type: string
        description:
          type: string
        publisher:
          $ref: '#/components/schemas/Publisher'
        termsAndConditions:
          type: string
        lastVersion:
          $ref: '#/components/schemas/AppVersion'
        versions:
          type: array
          items:
            $ref: '#/components/schemas/AppVersion'
        approved:
          type: boolean
        public:
          type: boolean
    AppHook:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - ui
            - api
        subtype:
          type: string
          enum:
            - ui_dashboard_tab
            - ui_menu_tab
        name:
          type: string
        description:
          type: string
    AppVersion:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        description:
          type: string
        buildNumber:
          type: integer
          format: int32
        version:
          type: string
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/Permission'
        hooks:
          type: array
          items:
            $ref: '#/components/schemas/AppHook'
        approved:
          type: boolean
    ErrorLogModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        requestLog:
          $ref: '#/components/schemas/RequestLogModel'
        error:
          type: string
        backtrace:
          type: string
    Platform:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        nameSpace:
          type: string
        logo:
          $ref: '#/components/schemas/File'
        favicon:
          $ref: '#/components/schemas/File'
        notificationLogo:
          $ref: '#/components/schemas/File'
        fullLogo:
          $ref: '#/components/schemas/File'
        backgroundImage:
          $ref: '#/components/schemas/File'
        darkLogo:
          $ref: '#/components/schemas/File'
        darkFavicon:
          $ref: '#/components/schemas/File'
        darkNotificationLogo:
          $ref: '#/components/schemas/File'
        darkFullLogo:
          $ref: '#/components/schemas/File'
        darkBackgroundImage:
          $ref: '#/components/schemas/File'
        primaryColor:
          type: string
        secondaryColor:
          type: string
        darkPrimaryColor:
          type: string
        darkSecondaryColor:
          type: string
        hostNames:
          type: array
          items:
            $ref: '#/components/schemas/PlatformHostName'
        features:
          type: array
          items:
            $ref: '#/components/schemas/PlatformFeature'
        planningSettings:
          $ref: '#/components/schemas/PlatformPlanningSettings'
        pricingSettings:
          $ref: '#/components/schemas/PlatformPricingSettings'
        credentialSettings:
          $ref: '#/components/schemas/PlatformCredentialSettings'
        routingSettings:
          $ref: '#/components/schemas/PlatformRoutingSettings'
        translationSettings:
          $ref: '#/components/schemas/PlatformTranslationSettings'
        uiSettings:
          $ref: '#/components/schemas/PlatformUISettings'
        canRegister:
          type: boolean
        canRequestAccess:
          type: boolean
        description:
          type: string
        contactEmail:
          type: string
        apps:
          type: array
          items:
            $ref: '#/components/schemas/App'
        disablingAt:
          type: string
          format: date-time
        disabled:
          type: boolean
        inWaitList:
          type: boolean
    PlatformHostName:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hostName:
          type: string
    RequestLogModel:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        ip:
          type: string
        url:
          type: string
        pathInfo:
          type: string
        userAgent:
          type: string
        requestMethod:
          type: string
        requestHeaderNames:
          type: string
        body:
          type: string
        responseCode:
          type: integer
          format: int32
        requestStartTime:
          type: integer
          format: int64
        requestEndTime:
          type: integer
          format: int64
        responseTime:
          type: integer
          format: int64
        user:
          $ref: '#/components/schemas/User'
        platform:
          $ref: '#/components/schemas/Platform'
    SupportTicketErrorsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorLogModel'
    SupportTicketRequestsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        requests:
          type: array
          items:
            $ref: '#/components/schemas/RequestLogModel'
    TachographResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        widget:
          $ref: '#/components/schemas/Widget'
    Widget:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        type:
          type: string
          enum:
            - map
            - customer-portal
            - transport-order-request-input
            - chauffeur-planner
        credentials:
          $ref: '#/components/schemas/WidgetCredentials'
        apiAccessIntegration:
          $ref: '#/components/schemas/ApiAccessIntegration'
        hostNames:
          type: array
          items:
            $ref: '#/components/schemas/WidgetHostname'
        ips:
          type: array
          items:
            $ref: '#/components/schemas/WidgetHostname'
        styling:
          type: string
        active:
          type: boolean
        code:
          type: string
        data:
          type: string
    WidgetCredentials:
      type: object
    WidgetHostname:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        hostName:
          type: string
    Team:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
    TeamResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        team:
          $ref: '#/components/schemas/TeamModel'
    TeamsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamModel'
    TenderBidModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - concept
            - offered
            - declined
            - accepted
            - not_chosen
        business:
          $ref: '#/components/schemas/Business'
        user:
          $ref: '#/components/schemas/UserModel'
        broker:
          $ref: '#/components/schemas/TenderBrokerModel'
        bid:
          $ref: '#/components/schemas/MoneyModel'
        remark:
          type: string
        counterBid:
          $ref: '#/components/schemas/TenderBidModel'
    TenderBidResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        tenderBid:
          $ref: '#/components/schemas/TenderBidModel'
    TenderBrokerModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        logo:
          $ref: '#/components/schemas/FileModel'
        name:
          type: string
        description:
          type: string
        business:
          $ref: '#/components/schemas/Business'
      readOnly: true
    TenderBid:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        status:
          type: string
          enum:
            - concept
            - offered
            - declined
            - accepted
            - not_chosen
        business:
          $ref: '#/components/schemas/Business'
        user:
          $ref: '#/components/schemas/User'
        broker:
          $ref: '#/components/schemas/TenderBroker'
        bid:
          $ref: '#/components/schemas/Money'
        remark:
          type: string
        counterBid:
          $ref: '#/components/schemas/TenderBid'
    TenderBroker:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        logo:
          $ref: '#/components/schemas/File'
        name:
          type: string
        description:
          type: string
        business:
          $ref: '#/components/schemas/Business'
      readOnly: true
    TenderBidCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        status:
          type: string
          enum:
            - concept
            - offered
            - declined
            - accepted
            - not_chosen
        business:
          $ref: '#/components/schemas/Business'
        user:
          $ref: '#/components/schemas/UserModel'
        broker:
          $ref: '#/components/schemas/TenderBrokerModel'
        bid:
          $ref: '#/components/schemas/MoneyModel'
        remark:
          type: string
        counterBid:
          $ref: '#/components/schemas/TenderBidCreateRequest'
    TenderCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
            - one_time
            - reoccurring
        status:
          type: string
          enum:
            - concept
            - open
            - accepted
            - closed
        targetPrice:
          $ref: '#/components/schemas/MoneyModel'
        acceptAutomaticallyAtTargetPrice:
          type: boolean
        business:
          $ref: '#/components/schemas/Business'
        creator:
          $ref: '#/components/schemas/UserModel'
        brokers:
          type: array
          items:
            $ref: '#/components/schemas/TenderBrokerModel'
        contract:
          $ref: '#/components/schemas/ContractModel'
        mostRecentBid:
          $ref: '#/components/schemas/TenderBidModel'
        lowestAmountBid:
          $ref: '#/components/schemas/TenderBidModel'
        totalBidCount:
          type: integer
          format: int32
    TenderModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
            - one_time
            - reoccurring
        status:
          type: string
          enum:
            - concept
            - open
            - accepted
            - closed
        targetPrice:
          $ref: '#/components/schemas/MoneyModel'
        acceptAutomaticallyAtTargetPrice:
          type: boolean
        business:
          $ref: '#/components/schemas/Business'
        creator:
          $ref: '#/components/schemas/UserModel'
        brokers:
          type: array
          items:
            $ref: '#/components/schemas/TenderBrokerModel'
        contract:
          $ref: '#/components/schemas/ContractModel'
        mostRecentBid:
          $ref: '#/components/schemas/TenderBidModel'
        lowestAmountBid:
          $ref: '#/components/schemas/TenderBidModel'
        totalBidCount:
          type: integer
          format: int32
    TenderResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        tender:
          $ref: '#/components/schemas/TenderModel'
    DeclineTenderBidRequest:
      type: object
      properties:
        tenderBidId:
          type: string
        reasoning:
          type: string
    SearchTenderBidsRequest:
      type: object
      properties:
        query:
          type: string
        status:
          type: string
          description: Filter on the status of the Tender
          enum:
            - concept
            - open
            - accepted
            - closed
        user:
          type: string
          description: The user ID who created the Tender
        business:
          type: string
          description: The business ID who created the Tender
    SearchTendersRequest:
      type: object
      properties:
        query:
          type: string
        status:
          type: string
          description: Filter on the status of the Tender
          enum:
            - concept
            - open
            - accepted
            - closed
        user:
          type: string
          description: The user ID who created the Tender
        business:
          type: string
          description: The business ID who created the Tender
    TerminalCreateRequest:
      required:
        - name
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        integrationType:
          type: string
          enum:
            - portbase
        ean:
          type: string
        bicsCode:
          type: string
        quayName:
          type: string
        smdgCode:
          type: string
        allowedModalities:
          type: array
          items:
            type: string
        terminalSettings:
          type: array
          items:
            $ref: '#/components/schemas/TerminalSettingModel'
        tarRequired:
          type: boolean
        roadLicenseIdRequired:
          type: boolean
    TerminalSettingModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        loading:
          type: boolean
        full:
          type: boolean
        modality:
          type: string
        sealNumberAllowed:
          type: boolean
        reeferAllowed:
          type: boolean
        grossWeightAllowed:
          type: boolean
        outOfGaugeAllowed:
          type: boolean
        dangerousGoodsAllowed:
          type: boolean
        cargoCutOffInMinutes:
          type: integer
          format: int32
    TerminalModel:
      required:
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        integrationType:
          type: string
          enum:
            - portbase
        ean:
          type: string
        bicsCode:
          type: string
        quayName:
          type: string
        smdgCode:
          type: string
        allowedModalities:
          type: array
          items:
            type: string
        terminalSettings:
          type: array
          items:
            $ref: '#/components/schemas/TerminalSettingModel'
        tarRequired:
          type: boolean
        roadLicenseIdRequired:
          type: boolean
    TerminalResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        terminal:
          $ref: '#/components/schemas/TerminalModel'
    TerminalsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        terminals:
          type: array
          items:
            $ref: '#/components/schemas/TerminalModel'
    Tire:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        tireClass:
          type: string
          enum:
            - P
            - LT
            - ST
            - T
        fabricType:
          type: string
          enum:
            - B
            - D
            - R
            - C
        threadWidth:
          type: integer
          format: int32
        aspectRatio:
          type: string
        speedingRate:
          type: string
        diameter:
          type: integer
          format: int32
        loadIndex:
          type: integer
          format: int32
        madeIn:
          type: string
        invoice:
          $ref: '#/components/schemas/Invoice'
        name:
          type: string
          description: Name of the Tire, for display and search purposes only.
        description:
          type: string
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/Note'
    TireResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        tire:
          $ref: '#/components/schemas/TireModel'
    ToDoComment:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        comment:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        creator:
          $ref: '#/components/schemas/User'
    ToDoCommentResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        toDoComment:
          $ref: '#/components/schemas/ToDoComment'
    ToDoCommentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        toDoComments:
          type: array
          items:
            $ref: '#/components/schemas/ToDoComment'
    ToDoModel:
      required:
        - name
        - position
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        position:
          type: integer
          description: The position of a todo within a lane
          format: int32
        name:
          type: string
          description: The name of a todo task
        description:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        type:
          type: string
          enum:
            - general
            - type_a
            - type_b
            - type_c
        statuses:
          type: array
          items:
            type: string
            enum:
              - default
              - todo
              - overDue
              - in_progress
              - completed
        relatedEntityType:
          type: string
          enum:
            - action
            - attachTransportEquipmentAction
            - detachTransportEquipmentAction
            - stopAction
            - loadAction
            - unloadAction
            - waitAction
            - consignment
            - extendedConsignment
            - transportEquipment
            - extendedTransportEquipment
            - items
            - goods
            - constraint
            - actor
            - location
            - route
            - sensor
            - vehicle
            - extendedVehicle
            - trip
            - transportOrder
            - extendedTransportOrder
            - business
            - event
            - locationUpdateEvent
            - startMovingEvent
            - startWaitingEvent
            - stopEngineEvent
            - stopMovingEvent
            - message
            - document
            - chauffeur
            - extendedChauffeur
            - chauffeurTimeslot
            - chat
            - user
            - administration
            - fleetVehicle
            - messageAutomation
            - capacity_contract
            - booking
            - invoice
            - invoice_line
            - quote
            - quote_line
            - integration
            - to_do
        relatedEntityName:
          type: string
        relatedEntityId:
          type: string
        reporter:
          $ref: '#/components/schemas/UserModel'
        assignee:
          $ref: '#/components/schemas/UserModel'
        deadline:
          type: string
          description: The date and time for the deadline of the task todo
          format: date-time
        statistics:
          $ref: '#/components/schemas/ToDoStatsCount'
    ToDoStatsCount:
      type: object
      properties:
        commentsCount:
          type: integer
          format: int64
        attachmentCount:
          type: integer
          format: int64
    ToDoResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        toDo:
          $ref: '#/components/schemas/ToDoModel'
    ToDoStatistics:
      type: object
      properties:
        total:
          type: integer
          format: int32
        todo:
          type: integer
          format: int32
        overDue:
          type: integer
          format: int32
        inProgress:
          type: integer
          format: int32
        completed:
          type: integer
          format: int32
    ToDoStatisticsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        toDoStatistics:
          $ref: '#/components/schemas/ToDoStatistics'
    ToDosResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        toDos:
          type: array
          items:
            $ref: '#/components/schemas/ToDoModel'
    FieldsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        fields:
          type: array
          items:
            $ref: '#/components/schemas/TQLField'
    TQLField:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
    QueryRequest:
      type: object
      properties:
        query:
          $ref: '#/components/schemas/Query'
    QueryResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        results:
          type: array
          items:
            type: object
    TransportOrderResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        transportOrder:
          $ref: '#/components/schemas/TransportOrder'
    CreateTransportOrderFromDocumentsRequest:
      type: object
      properties:
        documents:
          type: array
          items:
            type: string
    TransportOrderCreateRequest:
      required:
        - name
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
          description: Name of the TransportOrder, for display and search purposes only.
        type:
          type: string
          description: >-
            The type of Transport Order. Normal Transport Orders are defined as
            `standard`.
          default: STANDARD
          enum:
            - standard
            - expected
            - forwarded
        status:
          type: string
          enum:
            - declined
            - cancelled
            - requested
            - accepted
            - calculated_trip
            - partially_planned
            - planned
            - actual
            - realized
            - concept
        description:
          type: string
        customer:
          $ref: '#/components/schemas/CustomerModel'
        vat:
          $ref: '#/components/schemas/TaxRateModel'
        deliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        team:
          $ref: '#/components/schemas/TeamModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailAssociation'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        referenceDescription:
          type: string
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        template:
          type: boolean
        expectedRevenue:
          $ref: '#/components/schemas/MoneyModel'
        expectedCost:
          $ref: '#/components/schemas/MoneyModel'
        versionNumber:
          type: integer
          format: int32
    TransportOrdersResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        transportOrders:
          type: array
          items:
            $ref: '#/components/schemas/TransportOrder'
    ExtendedTransportOrderModel:
      required:
        - customer
        - name
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        orderId:
          type: string
          description: >-
            Order ID is the Unique Identifier specifically for orders. If not
            set, the serve will generate one.
        name:
          type: string
          description: Name of the TransportOrder, for display and search purposes only.
        type:
          type: string
          description: >-
            The type of Transport Order. Normal Transport Orders are defined as
            `standard`.
          default: STANDARD
          enum:
            - standard
            - expected
            - forwarded
        status:
          type: string
          description: >-
            The status of the `TransportOrder`. It shows the lifecycle of the
            order.
          enum:
            - declined
            - cancelled
            - requested
            - accepted
            - calculated_trip
            - partially_planned
            - planned
            - actual
            - realized
            - concept
        description:
          type: string
          description: The description of the transport order
        referenceDescription:
          type: string
          description: >-
            The reference description of the transport order. This often is the
            invoice reference or reference of the customer side
        customer:
          $ref: '#/components/schemas/CustomerModel'
        mailMessage:
          $ref: '#/components/schemas/MailMessageModel'
        vat:
          $ref: '#/components/schemas/TaxRateModel'
        deliveryTerms:
          type: string
          enum:
            - EXW
            - FCA
            - FAS
            - FOB
            - CPT
            - CIP
            - CFR
            - CIF
            - DAP
            - DPU
            - DDP
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        team:
          $ref: '#/components/schemas/TeamModel'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAssociation'
        contactDetails:
          type: array
          items:
            $ref: '#/components/schemas/ContactDetailAssociation'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/IdentifierModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/NoteModel'
        administration:
          $ref: '#/components/schemas/AdministrationModel'
        shareSettings:
          $ref: '#/components/schemas/TransportOrderShareSettings'
        template:
          type: boolean
        expectedRevenue:
          $ref: '#/components/schemas/MoneyModel'
        expectedCost:
          $ref: '#/components/schemas/MoneyModel'
        versionNumber:
          type: integer
          format: int32
    ExtendedTransportOrderResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        transportOrder:
          $ref: '#/components/schemas/ExtendedTransportOrderModel'
    SearchTransportOrdersRequest:
      type: object
      properties:
        query:
          type: string
        type:
          type: string
        types:
          type: array
          items:
            type: string
        status:
          type: string
          enum:
            - declined
            - cancelled
            - requested
            - accepted
            - calculated_trip
            - partially_planned
            - planned
            - actual
            - realized
            - concept
        statuses:
          type: array
          items:
            type: string
            enum:
              - declined
              - cancelled
              - requested
              - accepted
              - calculated_trip
              - partially_planned
              - planned
              - actual
              - realized
              - concept
        teams:
          type: array
          items:
            type: string
        customer:
          type: string
        customers:
          type: array
          items:
            type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        sortBy:
          type: array
          items:
            type: object
    TripIdsRequest:
      type: object
      properties:
        tripIds:
          type: array
          items:
            type: string
    CreateOptimizedTripsRequest:
      type: object
      properties:
        optimizeType:
          type: string
          enum:
            - time
            - co2
            - cost
        locations:
          type: array
          items:
            type: string
        consignments:
          type: array
          items:
            type: string
        vehicles:
          type: array
          items:
            type: string
        transportEquipments:
          type: array
          items:
            type: string
        startDate:
          type: string
          format: date-time
    TripsRequest:
      type: object
      properties:
        trips:
          type: array
          items:
            $ref: '#/components/schemas/TripModel'
    UpdateTripActionTimesRequest:
      type: object
      properties:
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
    UpdateTripActionRequest:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/ActionModel'
    TypeCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        targetEntityType:
          type: string
          enum:
            - transportEquipmentType
            - transportEquipmentSubType
            - toDoStatus
        label:
          type: string
        value:
          type: string
        childOf:
          $ref: '#/components/schemas/TypeCreateRequest'
        defaultValues:
          type: object
          additionalProperties:
            type: object
    TypeModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        targetEntityType:
          type: string
          enum:
            - transportEquipmentType
            - transportEquipmentSubType
            - toDoStatus
        label:
          type: string
        value:
          type: string
        childOf:
          $ref: '#/components/schemas/TypeModel'
        defaultValues:
          type: object
          additionalProperties:
            type: object
        hiddenFields:
          type: array
          items:
            type: string
    TypeResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        type:
          $ref: '#/components/schemas/TypeModel'
    TypesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        types:
          type: array
          items:
            $ref: '#/components/schemas/TypeModel'
    UserResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        user:
          $ref: '#/components/schemas/UserModel'
    CreateUserRequest:
      type: object
      properties:
        username:
          type: string
        email:
          type: string
        role:
          $ref: '#/components/schemas/UserRole'
    UserRole:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        level:
          type: integer
          format: int32
    UserFCMRequest:
      type: object
      properties:
        token:
          type: string
    UserFCM:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        user:
          $ref: '#/components/schemas/User'
        token:
          type: string
        endsAt:
          type: string
          format: date-time
        endedAt:
          type: string
          format: date-time
    UserFCMResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        userFCM:
          $ref: '#/components/schemas/UserFCM'
    UserForgotRequest:
      type: object
      properties:
        email:
          type: string
    ExistsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        exists:
          type: boolean
    SessionModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/UserModel'
        refresh_token:
          type: string
        ip:
          type: string
        device:
          type: string
        startedAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
        endedAt:
          type: string
          format: date-time
        passedTwoFactorAuthentication:
          type: boolean
        access_token:
          type: string
    SessionResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        session:
          $ref: '#/components/schemas/SessionModel'
    SessionsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        sessions:
          type: array
          items:
            $ref: '#/components/schemas/SessionModel'
    UserLoginMethodRequest:
      type: object
      properties:
        username:
          type: string
    UserLoginMethodResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        loginMethod:
          type: string
          enum:
            - DEFAULT
            - SAML
        redirectURL:
          type: string
        platform:
          $ref: '#/components/schemas/Platform'
    InviteUserRequest:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        username:
          type: string
        email:
          type: string
        role:
          $ref: '#/components/schemas/UserRole'
    LoginUserOtpRequest:
      type: object
      properties:
        token:
          type: string
    LoginUserRequest:
      type: object
      properties:
        username:
          type: string
        password:
          type: string
    UserRecoverRequest:
      type: object
      properties:
        id:
          type: string
        token:
          type: string
        password:
          type: string
        repeatPassword:
          type: string
    UserRegisterRequest:
      type: object
      properties:
        type:
          type: string
          enum:
            - user
            - developer
            - chauffeur
        accountType:
          type: string
          enum:
            - default
            - customer
            - supplier
            - planning
            - financial
        firstName:
          type: string
        lastName:
          type: string
        username:
          type: string
        email:
          type: string
        password:
          type: string
        repeatPassword:
          type: string
        recaptcha:
          type: string
        newsletter:
          type: boolean
        termsAndConditions:
          type: boolean
        billingId:
          type: string
        business:
          $ref: '#/components/schemas/Business'
    UsersResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserModel'
    UpdatePasswordRequest:
      type: object
      properties:
        oldPassword:
          type: string
        newPassword:
          type: string
        repeatPassword:
          type: string
    UpdateUserRequest:
      type: object
      properties:
        username:
          type: string
        email:
          type: string
        role:
          $ref: '#/components/schemas/UserRole'
    User2FASetupResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        qr:
          type: string
        recoveryCodes:
          type: array
          items:
            type: string
    User2FARecoverRequest:
      type: object
      properties:
        recoveryCode:
          type: string
    User2FARecoveryResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        recovered:
          type: boolean
    User2FAVerifyRequest:
      type: object
      properties:
        token:
          type: string
    User2FAVerifyResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        verified:
          type: boolean
    UserStatusResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        status:
          type: string
          enum:
            - DELETED
            - DEFAULT
            - CONFIRMED
            - REGISTERED
    UserRoleModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        level:
          type: integer
          format: int32
    UserRoleResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        role:
          $ref: '#/components/schemas/UserRoleModel'
    UserRolesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        roles:
          type: array
          items:
            $ref: '#/components/schemas/UserRoleModel'
    NotificationSetting:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        enabled:
          type: boolean
        emails:
          type: boolean
        pushNotification:
          type: boolean
        sms:
          type: boolean
    SettingsModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        user:
          $ref: '#/components/schemas/UserModel'
        privacy:
          $ref: '#/components/schemas/SettingsPrivacy'
        userInterface:
          $ref: '#/components/schemas/SettingsUserInterface'
        security:
          $ref: '#/components/schemas/SettingsSecurity'
        notifications:
          $ref: '#/components/schemas/SettingsNotifications'
        planning:
          $ref: '#/components/schemas/SettingsPlanning'
    SettingsNotifications:
      type: object
      properties:
        transportOrder:
          $ref: '#/components/schemas/NotificationSetting'
        mail:
          $ref: '#/components/schemas/NotificationSetting'
        chat:
          $ref: '#/components/schemas/NotificationSetting'
        vehicle:
          $ref: '#/components/schemas/NotificationSetting'
        todo:
          $ref: '#/components/schemas/NotificationSetting'
        tender:
          $ref: '#/components/schemas/NotificationSetting'
        administration:
          $ref: '#/components/schemas/NotificationSetting'
        birthdays:
          $ref: '#/components/schemas/NotificationSetting'
        supportCenter:
          $ref: '#/components/schemas/NotificationSetting'
    SettingsPlanning:
      type: object
      properties:
        defaultLinkTrips:
          type: boolean
        splitConsignmentOnAutomaticTripCreation:
          type: boolean
        defaultShowSidebarSearch:
          type: boolean
    SettingsPrivacy:
      type: object
      properties:
        openToTheWeb:
          type: boolean
        publicProfile:
          type: boolean
        locationHistory:
          type: boolean
        openConnectionRequests:
          type: boolean
    SettingsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        settings:
          $ref: '#/components/schemas/SettingsModel'
    SettingsSecurity:
      type: object
      properties:
        unknownLoginNotification:
          type: boolean
    SettingsUserInterface:
      type: object
      properties:
        theme:
          type: string
          enum:
            - system
            - light
            - dark
            - lightDayDarkNight
        tableType:
          type: string
          enum:
            - dynamic
            - table
        simpleForms:
          type: boolean
        stickyChat:
          type: boolean
        largeType:
          type: boolean
        tutorials:
          type: boolean
        hiddenFields:
          type: array
          items:
            type: string
        defaultTransportOrderTemplate:
          type: string
    BoardComputerCreateRequest:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
          enum:
            - vehicle
            - meansOfTransport
            - mobile
        active:
          type: boolean
        boardComputerId:
          type: string
        inviteCode:
          type: string
        inviteUrl:
          type: string
        integration:
          $ref: '#/components/schemas/IntegrationModel'
    BoardComputerModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
          enum:
            - vehicle
            - meansOfTransport
            - mobile
        active:
          type: boolean
        boardComputerId:
          type: string
        inviteCode:
          type: string
        inviteUrl:
          type: string
        integration:
          $ref: '#/components/schemas/IntegrationModel'
    BoardComputerResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        boardComputer:
          $ref: '#/components/schemas/BoardComputerModel'
    BoardComputersResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        boardComputers:
          type: array
          items:
            $ref: '#/components/schemas/BoardComputerModel'
    BoardComputer:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        name:
          type: string
        type:
          type: string
          enum:
            - vehicle
            - meansOfTransport
            - mobile
        active:
          type: boolean
        boardComputerId:
          type: string
        inviteCode:
          type: string
        inviteUrl:
          type: string
        integration:
          $ref: '#/components/schemas/Integration'
        chauffeur:
          $ref: '#/components/schemas/Chauffeur'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
    VehicleResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        vehicle:
          $ref: '#/components/schemas/VehicleModel'
    ExtendedVehicleModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        description:
          type: string
        vin:
          type: string
        licensePlate:
          type: string
        vehicleType:
          type: string
        transportMode:
          type: string
          enum:
            - maritime
            - road
            - rail
            - air
            - inlandWaterway
        emissionStandard:
          type: string
          enum:
            - euro0
            - euro1
            - euro2
            - euro3
            - euro4
            - euro5
            - euro6
            - euro7
            - euro_eev
        fuelCapacity:
          $ref: '#/components/schemas/ValueWithUnit'
        fuelType:
          type: string
        maxLinks:
          type: integer
          format: int32
        loadCapacities:
          type: array
          items:
            $ref: '#/components/schemas/ValueWithUnit'
        length:
          $ref: '#/components/schemas/ValueWithUnit'
        height:
          $ref: '#/components/schemas/ValueWithUnit'
        width:
          $ref: '#/components/schemas/ValueWithUnit'
        loadLength:
          $ref: '#/components/schemas/ValueWithUnit'
        loadHeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadWidth:
          $ref: '#/components/schemas/ValueWithUnit'
        maxWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        emptyWeight:
          $ref: '#/components/schemas/ValueWithUnit'
        loadMeters:
          $ref: '#/components/schemas/ValueWithUnit'
        operational:
          type: boolean
        actors:
          type: array
          items:
            $ref: '#/components/schemas/Association'
        legalStatistics:
          $ref: '#/components/schemas/VehicleLegalStatistics'
        capacityContract:
          $ref: '#/components/schemas/CapacityContractModel'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeModel'
        stackCapacities:
          type: array
          items:
            $ref: '#/components/schemas/StackCapacity'
        versionNumber:
          type: integer
          format: int32
        hasAgreedToPrice:
          type: boolean
          description: >-
            Set this value to 'true' if the user has agreed to the pricing of
            this element. Only needed once the NeedsBillingApproval Exception is
            thrown
          writeOnly: true
    ExtendedVehicleResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        extendedVehicle:
          $ref: '#/components/schemas/ExtendedVehicleModel'
    ExtendedVehiclesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        extendedVehicles:
          type: array
          items:
            $ref: '#/components/schemas/ExtendedVehicleModel'
    VehicleChauffeursResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        chauffeurs:
          type: array
          items:
            $ref: '#/components/schemas/ChauffeurModel'
    VehicleActivitiesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        activities:
          type: array
          items:
            $ref: '#/components/schemas/VehicleActivityModel'
    VehicleActivityModel:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        name:
          type: string
        geoReference:
          $ref: '#/components/schemas/LatLonPointGeoReferenceModel'
        createdAt:
          type: string
          format: date-time
    VehicleLocationUpdateEventsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        events:
          type: array
          items:
            $ref: '#/components/schemas/LocationUpdateEventModel'
    VehicleTransportEquipmentsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        transportEquipments:
          type: array
          items:
            $ref: '#/components/schemas/TransportEquipmentModel'
    VehicleGeoReference:
      type: object
      properties:
        vehicleId:
          type: string
        vehicleName:
          type: string
        vehicleLicensePlate:
          type: string
        vehicleType:
          type: string
        lat:
          type: number
          format: double
        lon:
          type: number
          format: double
        locationUpdateDateTime:
          type: string
          format: date-time
        heading:
          $ref: '#/components/schemas/ValueWithUnit'
        bearing:
          $ref: '#/components/schemas/ValueWithUnit'
        trip:
          $ref: '#/components/schemas/Trip'
    VehicleLocationResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/VehicleGeoReference'
    VehicleLightTrips:
      type: object
      properties:
        vehicle:
          type: string
        trips:
          type: array
          items:
            $ref: '#/components/schemas/LightTrip'
    VehicleLightTripsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        vehiclesTrips:
          type: array
          items:
            $ref: '#/components/schemas/VehicleLightTrips'
    VehiclesResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        vehicles:
          type: array
          items:
            $ref: '#/components/schemas/VehicleModel'
    UpdateVehicleTripsOrderRequest:
      type: object
      properties:
        trip1:
          $ref: '#/components/schemas/Trip'
        trip2:
          $ref: '#/components/schemas/Trip'
    ArrivalEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    AvailableCapacityChange:
      type: object
      properties:
        preStackCapacityMetrics:
          $ref: '#/components/schemas/StackCapacityMetrics'
        postStackCapacityMetrics:
          $ref: '#/components/schemas/StackCapacityMetrics'
    CapacityChangeEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            capacityChangeEventType:
              type: string
              enum:
                - emptyCapacityInitializationEvent
                - stopCapacityChangeEvent
                - loadEvent
                - unloadGoodsEvent
                - attachTransportEquipmentEvent
                - detachTransportEquipmentEvent
                - loadTransportEquipmentEvent
                - unloadTransportEquipmentEvent
            checkpointDateTime:
              type: string
              format: date-time
            sequenceNr:
              type: integer
              format: int32
            stackCapacities:
              type: array
              items:
                $ref: '#/components/schemas/StackCapacity'
            availableCapacityChange:
              $ref: '#/components/schemas/AvailableCapacityChange'
            usedCapacityChange:
              $ref: '#/components/schemas/UsedCapacityChange'
            requiresRecalculation:
              type: boolean
    DepartureEvent:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    Event:
      type: object
      properties:
        id:
          type: string
          description: >-
            Uniquely identifies this entity. A ID can be assigned  or will be
            generated by the server if the request doesn't provide it. Once
            assigned, the ID can't be changed
          readOnly: true
        nonce:
          type: string
          description: >-
            Nonce, a field that is not saved and returns exactly the same value
            you sent. This ensures you can identify your object that has been
            updated or created.
        createdAt:
          type: string
          description: The date and time this Entity has been created
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          description: The date and time this Entity has been updated
          format: date-time
          readOnly: true
        type:
          type: string
          enum:
            - generalEvent
            - sensorUpdateEvent
            - gateInEvent
            - gateOutEvent
            - arrivalEvent
            - departureEvent
            - stopEngineEvent
            - startEngineEvent
            - startWaitingEvent
            - stopWaitingEvent
            - stopMovingEvent
            - startMovingEvent
            - locationUpdateEvent
            - updateEvent
            - associationRemovedEvent
            - associationCreatedEvent
            - capacityChangeEvent
        lifeCycle:
          type: string
          enum:
            - requested
            - planned
            - projected
            - actual
            - realized
        externalAttributes:
          type: object
          additionalProperties:
            type: object
        dateTime:
          type: string
          format: date-time
      discriminator:
        propertyName: type
        mapping:
          arrivalEvent: '#/components/schemas/ArrivalEvent'
          departureEvent: '#/components/schemas/DepartureEvent'
          gateInEvent: '#/components/schemas/GateInEvent'
          gateOutEvent: '#/components/schemas/GateOutEvent'
          generalEvent: '#/components/schemas/GeneralEvent'
          sensorUpdateEvent: '#/components/schemas/SensorUpdateEvent'
          startEngineEvent: '#/components/schemas/StartEngineEvent'
          startMovingEvent: '#/components/schemas/StartMovingEvent'
          startWaitingEvent: '#/components/schemas/StartWaitingEvent'
          stopEngineEvent: '#/components/schemas/StopEngineEvent'
          stopMovingEvent: '#/components/schemas/StopMovingEvent'
          locationUpdateEvent: '#/components/schemas/LocationUpdateEvent'
          updateEvent: '#/components/schemas/UpdateEvent'
      oneOf:
        - $ref: '#/components/schemas/ArrivalEvent'
        - $ref: '#/components/schemas/DepartureEvent'
        - $ref: '#/components/schemas/GateInEvent'
        - $ref: '#/components/schemas/GateOutEvent'
        - $ref: '#/components/schemas/GeneralEvent'
        - $ref: '#/components/schemas/SensorUpdateEvent'
        - $ref: '#/components/schemas/StartEngineEvent'
        - $ref: '#/components/schemas/StartMovingEvent'
        - $ref: '#/components/schemas/StartWaitingEvent'
        - $ref: '#/components/schemas/StopEngineEvent'
        - $ref: '#/components/schemas/StopMovingEvent'
        - $ref: '#/components/schemas/LocationUpdateEvent'
        - $ref: '#/components/schemas/UpdateEvent'
    GateInEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            full:
              type: boolean
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    GateOutEvent:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            full:
              type: boolean
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    GeneralEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            name:
              type: string
            description:
              type: string
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    LocationUpdateEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            geoReference:
              $ref: '#/components/schemas/GeoReference'
            distanceToNextStop:
              type: integer
              format: int32
            timeToNextStop:
              type: integer
              format: int32
    SensorUpdateEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/ValueWithUnit'
    StartEngineEvent:
      required:
        - geoReference
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/Vehicle'
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    StartMovingEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/Vehicle'
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    StartWaitingEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/Vehicle'
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    StopEngineEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/Vehicle'
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    StopMovingEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            vehicle:
              $ref: '#/components/schemas/Vehicle'
            geoReference:
              $ref: '#/components/schemas/GeoReference'
    UpdateEvent:
      type: object
      allOf:
        - $ref: '#/components/schemas/Event'
        - type: object
          properties:
            entity:
              type: object
    UsedCapacityChange:
      type: object
      properties:
        preStackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
        postStackObjectMetrics:
          $ref: '#/components/schemas/StackObjectMetrics'
    EndpointItemResponse:
      type: object
      properties:
        message:
          type: string
        statusCode:
          type: integer
          format: int32
    EventItemResponse:
      type: object
      properties:
        message:
          type: string
        statusCode:
          type: integer
          format: int32
    ItemResponse:
      type: object
      properties:
        endpointItemResponse:
          $ref: '#/components/schemas/EndpointItemResponse'
        eventsItemResponse:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EventItemResponse'
    VehicleGroupResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        vehicleGroup:
          $ref: '#/components/schemas/VehicleGroupModel'
    VehicleGroupsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        vehicleGroups:
          type: array
          items:
            $ref: '#/components/schemas/VehicleGroupModel'
    VehicleLightGroup:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        vehicles:
          type: array
          items:
            type: string
    VehicleLightGroupsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        vehicleGroups:
          type: array
          items:
            $ref: '#/components/schemas/VehicleLightGroup'
    WidgetCreateRequest:
      type: object
      properties:
        nonce:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
            - map
            - customer-portal
            - transport-order-request-input
            - chauffeur-planner
        credentials:
          $ref: '#/components/schemas/WidgetCredentials'
        apiAccessIntegration:
          $ref: '#/components/schemas/ApiAccessIntegrationModel'
        hostNames:
          type: array
          items:
            $ref: '#/components/schemas/WidgetHostnameModel'
        ips:
          type: array
          items:
            $ref: '#/components/schemas/WidgetHostnameModel'
        styling:
          type: string
        active:
          type: boolean
        code:
          type: string
        data:
          type: string
    WidgetHostnameModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        hostName:
          type: string
    WidgetModel:
      type: object
      properties:
        id:
          type: string
        nonce:
          type: string
        uuid:
          type: string
        primaryPlatformId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
          enum:
            - map
            - customer-portal
            - transport-order-request-input
            - chauffeur-planner
        credentials:
          $ref: '#/components/schemas/WidgetCredentials'
        apiAccessIntegration:
          $ref: '#/components/schemas/ApiAccessIntegrationModel'
        hostNames:
          type: array
          items:
            $ref: '#/components/schemas/WidgetHostnameModel'
        ips:
          type: array
          items:
            $ref: '#/components/schemas/WidgetHostnameModel'
        styling:
          type: string
        active:
          type: boolean
        code:
          type: string
        data:
          type: string
    WidgetResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        widget:
          $ref: '#/components/schemas/WidgetModel'
    WidgetsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        code:
          type: integer
          format: int32
        totalResults:
          type: integer
          format: int32
        widgets:
          type: array
          items:
            $ref: '#/components/schemas/WidgetModel'
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
    bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
    apiSecret:
      type: apiKey
      name: x-api-secret
      $ref: '#/components/securitySchemes/apiKey'
      in: header
