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: type: - string - 'null' description: The id of the trip. name: type: - string - 'null' description: The name of the trip. ownerId: type: - string - 'null' description: The id of the route owner. routeId: type: - string - 'null' description: The id of the route associated with the trip. status: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TripStatusDto' totalDistance: type: integer description: The total distance of the trip in meters. format: int64 totalTimeInSeconds: type: integer description: The total time of the trip in seconds. format: int64 options: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Options' stops: type: - array - 'null' description: List of the trip stops. items: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopDetailsV2' numberOfStops: type: integer description: Number of stops in the trip format: int32 overviewPolyline: type: - string - 'null' description: The overview polyline of the trip. activityTimeInSeconds: type: integer description: Sum of activities time of the trip format: int64 totalTimeAndActivityTimeInSeconds: type: integer description: Sum of activities time plus route time of the trip format: int64 Spotio.Frontend.ViewModel.RoutesAndTrips.RoutingActivity: type: object additionalProperties: false properties: id: type: - string - 'null' description: The unique identifier of the activity. allDay: type: boolean description: Whether the activity is an all-day event. date: type: string description: The date and time of the activity. format: date-time durationInSeconds: type: integer description: The duration of the activity in seconds. format: int32 activityTemplateId: type: - string - 'null' description: The ID of the activity template. title: type: - string - 'null' description: The title of the activity. appointmentId: type: - string - 'null' description: The ID of the appointment associated with the activity. notes: type: - string - 'null' description: The notes of the activity. Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.CalculatedRouteV2: type: object additionalProperties: false properties: totalDistance: type: integer description: The total distance of the route in meters. format: int64 totalTimeInSeconds: type: integer description: The total time of the route in seconds. format: int64 activityTimeInSeconds: type: integer description: The activity time of the route in seconds. format: int64 totalTimeAndActivityTimeInSeconds: type: integer description: The total time and the activity time of the route in seconds. format: int64 stops: type: - array - 'null' description: List of the route stops. items: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopV2' overviewPolyline: type: - string - 'null' description: The overview polyline of the route. options: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Options' Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.TripStopV2: type: object additionalProperties: false properties: 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.Error: type: object additionalProperties: false properties: message: type: - string - 'null' readOnly: true memberName: type: - string - 'null' filePath: type: - string - 'null' line: type: integer format: int32 aggregateError: $ref: '#/components/schemas/ResultType.Results.IError' Spotio.Frontend.ViewModel.RoutesAndTrips.TripsV2.Patch.PatchTripRequestV2: type: object additionalProperties: false properties: options: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Options' stops: type: - array - 'null' description: List of route stops items: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.RoutesV2.RouteStopWithOptionalIdV2' status: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TripStatusDto' lat: type: - number - 'null' description: Lat position of the user format: double lng: type: - number - 'null' description: Lng position of the user format: double Spotio.Frontend.ViewModel.RoutesAndTrips.NullableOptions: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TravelTypeDto' avoidTolls: type: - boolean - 'null' description: Whether to avoid tolls when calculating the route. avoidHighways: type: - boolean - 'null' description: Whether to avoid highways when calculating the route. optimization: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.OptimizationDto' Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Patch.PatchStopRequest: type: object additionalProperties: false properties: status: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TripStopStatusDto' visitDurationInSeconds: type: integer description: Duration of the stop visit in seconds format: int64 activityId: type: - integer - 'null' description: ID of the activity associated with the stop, if any format: int32 Spotio.UserTracking.Client.DTO.Routing.StopTypeDto: type: string enum: - Stop - Start - End Spotio.Frontend.ViewModel.RoutesAndTrips.Trips.Prepare.PrepareDailyTripRequest: type: object additionalProperties: false properties: options: $ref: '#/components/schemas/Spotio.Frontend.ViewModel.RoutesAndTrips.Options' filterId: type: - string - 'null' Spotio.UserTracking.Client.DTO.Routing.TripStopDataObjectAccessDto: type: string enum: - Visible - NotVisible Spotio.Frontend.ViewModel.RoutesAndTrips.Coordinate: type: object additionalProperties: false properties: lat: type: number format: double lng: type: number format: double Spotio.Frontend.ViewModel.RoutesAndTrips.Options: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.TravelTypeDto' avoidTolls: type: boolean description: Whether to avoid tolls when calculating the route. avoidHighways: type: boolean description: Whether to avoid highways when calculating the route. optimization: $ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.Routing.OptimizationDto' securitySchemes: Bearer: type: apiKey description: 'Enter the Bearer Authorization string as following: `Bearer Generated-JWT-Token`' name: Authorization in: header