SPOTIO Trips V2 API

The controller is responsible for handling operations on trip objects. Trips are created from routes and record places that user visited during the trip. Some apis are exposed through Trips and some through TripsV2 both can be used interchangeably.

OpenAPI Specification

spotio-tripsv2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Spotio 2.0 Trips V2 API
  description: "    The controller is responsible for handling operations on trip objects.\n    Trips are created from routes and record places that user visited during the trip.\n    Some apis are exposed through Trips and some through TripsV2 both can be used interchangeably."
  contact:
    name: Contact us
    url: https://spotio.com/contact/
    email: support@spotio.com
servers:
- url: https://api.spotio2.com
  description: Production
- url: https://app-test.spotio2.com
  description: Test
security:
- Bearer: []
tags:
- name: TripsV2
  description: "    The controller is responsible for handling operations on trip objects.\n    Trips are created from routes and record places that user visited during the trip.\n    Some apis are exposed through Trips and some through TripsV2 both can be used interchangeably."
paths:
  /api/trips/v2/start:
    post:
      tags:
      - TripsV2
      summary: Starts a new trip based on points
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      - name: filterId
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.StartPoints.StartTripBasedOnPointsRequestV2'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.StartPoints.StartTripBasedOnPointsRequestV2'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.StartPoints.StartTripBasedOnPointsRequestV2'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.StartPoints.StartTripBasedOnPointsRequestV2'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.StartPoints.StartTripBasedOnPointsRequestV2'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/active:
    delete:
      tags:
      - TripsV2
      responses:
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/{id}/stops/polygon:
    post:
      tags:
      - TripsV2
      summary: Add trip stops from polygon
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.AddTripStopsFromPolygonRequest'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.AddTripStopsFromPolygonRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.AddTripStopsFromPolygonRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.AddTripStopsFromPolygonRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.AddTripStopsFromPolygonRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/{id}:
    patch:
      tags:
      - TripsV2
      summary: Update a trip
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      - name: filterId
        in: query
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.Patch.PatchTripRequestV2'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.Patch.PatchTripRequestV2'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.Patch.PatchTripRequestV2'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.Patch.PatchTripRequestV2'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.Patch.PatchTripRequestV2'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
    get:
      tags:
      - TripsV2
      summary: Retrieve a trip by ID
      description: Retrieves details of a trip identified by its ID.
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      - name: filterId
        in: query
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/{id}/stops/{stopId}:
    patch:
      tags:
      - TripsV2
      summary: Update a stop of a trip
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: stopId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Patch.PatchStopRequest'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Patch.PatchStopRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Patch.PatchStopRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Patch.PatchStopRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Patch.PatchStopRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopDetailsV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopDetailsV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopDetailsV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/{id}/stops/{stopId}/skip:
    post:
      tags:
      - TripsV2
      summary: Skip a stop of a trip
      description: Skip stop of a trip, coordinates indicate place where the skip was stopped
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      - name: filterId
        in: query
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: stopId
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/prepare/daily:
    post:
      tags:
      - TripsV2
      summary: Prepare daily trip
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareDailyTripRequest'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareDailyTripRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareDailyTripRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareDailyTripRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareDailyTripRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/prepare/by-date:
    post:
      tags:
      - TripsV2
      summary: Prepare trip by date
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripByDateRequest'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripByDateRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripByDateRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripByDateRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripByDateRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/prepare/polygon:
    post:
      tags:
      - TripsV2
      summary: Prepare trip for polygon
      description: Prepares a trip based on a polygon request.
      parameters:
      - name: x-app-version
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripForPolygonRequest'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripForPolygonRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripForPolygonRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripForPolygonRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripForPolygonRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
            application/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
            text/json:
              schema:
                $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            application/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
            text/json:
              schema:
                $ref: '#/components/schemas/ResultType.Results.Error'
        '401':
          description: Unauthorized
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
  /api/trips/v2/quickMessageTemplates:
    get:
      tags:
      - TripsV2
      responses:
        '200':
          description: Success
      security:
      - Bearer: []
      servers:
      - url: https://api.spotio2.com
        description: Production
      - url: https://app-test.spotio2.com
        description: Test
components:
  schemas:
    Spotio.UserTracking.Client.DTO.Routing.TripStopStatusDto:
      type: string
      enum:
      - NotReachedYet
      - Visited
      - Skipped
    Spotio.UserTracking.Client.DTO.Routing.TripStatusDto:
      type: string
      enum:
      - Active
      - Finished
    Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.ActivityLoggedAtTripStop:
      type: object
      additionalProperties: false
      properties:
        id:
          type:
          - string
          - 'null'
        activityTemplateId:
          type:
          - string
          - 'null'
        resultId:
          type:
          - string
          - 'null'
    Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripByDateRequest:
      type: object
      additionalProperties: false
      properties:
        options:
          $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.NullableOptions'
        filterId:
          type:
          - string
          - 'null'
        scheduledDate:
          type: string
          format: date-time
    Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.StartPoints.StartTripBasedOnPointsRequestV2:
      type: object
      additionalProperties: false
      properties:
        options:
          $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Options'
        stops:
          type:
          - array
          - 'null'
          description: List of routing stops for the trip
          items:
            $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutingStopV2'
        scheduledDate:
          type:
          - string
          - 'null'
          format: date-time
    Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareTripForPolygonRequest:
      type: object
      additionalProperties: false
      properties:
        filterId:
          type:
          - string
          - 'null'
          description: ID of the filter to be applied to the trip preparation request
        polygon:
          type:
          - array
          - 'null'
          description: List of coordinates representing the polygon to be used in trip preparation
          items:
            $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
        options:
          $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Options'
    Spotio.Frontend.ViewModel.RoutesAndTrips.RoutingStopV2:
      type: object
      additionalProperties: false
      properties:
        dataObjectId:
          type:
          - string
          - 'null'
          description: The ID of the data object associated with the stop.
        lat:
          type: number
          description: The latitude of the stop.
          format: double
        lng:
          type: number
          description: The longitude of the stop.
          format: double
        address:
          type:
          - string
          - 'null'
          description: The address of the stop.
        placeId:
          type:
          - string
          - 'null'
          description: The google place id of the stop.
        type:
          $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.StopTypeDto'
        name:
          type:
          - string
          - 'null'
          description: The stop name.
        enhanced:
          type: boolean
          description: Whether the stop was added by route enhancement.
    Spotio.UserTracking.Client.DTO.Routing.OptimizationDto:
      type: string
      enum:
      - Distance
      - Schedule
      - Manually
    Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.RouteStopWithOptionalIdV2:
      type: object
      additionalProperties: false
      properties:
        id:
          type:
          - string
          - 'null'
          description: Identifier of the route stop
        dataObjectId:
          type:
          - string
          - 'null'
          description: The ID of the data object associated with the stop.
        lat:
          type: number
          description: The latitude of the stop.
          format: double
        lng:
          type: number
          description: The longitude of the stop.
          format: double
        address:
          type:
          - string
          - 'null'
          description: The address of the stop.
        placeId:
          type:
          - string
          - 'null'
          description: The google place id of the stop.
        type:
          $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.StopTypeDto'
        name:
          type:
          - string
          - 'null'
          description: The stop name.
        enhanced:
          type: boolean
          description: Whether the stop was added by route enhancement.
    Spotio.UserTracking.Client.DTO.Routing.TravelTypeDto:
      type: string
      enum:
      - Driving
      - Walking
    Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopDetailsV2:
      type: object
      additionalProperties: false
      properties:
        id:
          type:
          - string
          - 'null'
          description: The id of the stop.
        status:
          $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TripStopStatusDto'
        visitDurationInSeconds:
          type:
          - integer
          - 'null'
          description: The visit duration in seconds associated with the stop.
          format: int32
        loggedActivity:
          $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.ActivityLoggedAtTripStop'
        addressUnit:
          type:
          - string
          - 'null'
          description: The address unit of the record associated with the stop.
        phones:
          type:
          - array
          - 'null'
          description: The list of phone numbers of the record associated with the stop.
          items:
            type: string
        dataObjectAccess:
          $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TripStopDataObjectAccessDto'
        dataObjectId:
          type:
          - string
          - 'null'
          description: The ID of the data object associated with the stop.
        address:
          type:
          - string
          - 'null'
          description: The address of the stop.
        pinId:
          type:
          - string
          - 'null'
          description: The pin id of the stop.
        lat:
          type: number
          description: The latitude of the stop.
          format: double
        lng:
          type: number
          description: The longitude of the stop.
          format: double
        stageId:
          type:
          - string
          - 'null'
          description: The stage id of the record associated with the stop.
        timeToNextStopInSeconds:
          type: integer
          description: The time to the next stop in seconds.
          format: int64
        distanceToNextStop:
          type: integer
          description: The distance to the next stop in meters.
          format: int64
        activities:
          type:
          - array
          - 'null'
          description: The list of activities associated with the stop.
          items:
            $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutingActivity'
        placeId:
          type:
          - string
          - 'null'
          description: The google place id of the stop.
        type:
          $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.StopTypeDto'
        dataObjectTypeId:
          type:
          - string
          - 'null'
          description: The ID of the data object type associated with the stop.
        name:
          type:
          - string
          - 'null'
          description: The stop name.
        color:
          type:
          - string
          - 'null'
          description: Color of the stop.
        scoreLabel:
          type:
          - string
          - 'null'
          description: Score label assigned to the object.
        nba:
          type:
          - string
          - 'null'
          description: Next best action assigned to the object.
        enhanced:
          type:
          - boolean
          - 'null'
          description: Whether the stop was added by route enhancement.
    ResultType.Results.IError:
      type: object
      additionalProperties: false
      properties:
        message:
          type:
          - string
          - 'null'
          readOnly: true
        memberName:
          type:
          - string
          - 'null'
          readOnly: true
        filePath:
          type:
          - string
          - 'null'
          readOnly: true
        line:
          type: integer
          format: int32
          readOnly: true
    Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.AddTripStopsFromPolygonRequest:
      type: object
      additionalProperties: false
      properties:
        polygon:
          type:
          - array
          - 'null'
          description: A list of coordinates that define the polygon to search for stops within
          items:
            $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate'
        filterId:
          type:
          - string
          - 'null'
          description: An optional filter ID to limit the results to data objects matching the specified filter, refer to FiltersController for more details
    Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripV2:
      type: object
      additionalProperties: false
      properties:
        id:
     

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotio/refs/heads/main/openapi/spotio-tripsv2-api-openapi.yml