# GoogleRidesharingDriver Framework Reference

# GMTSTask

    @interface GMTSTask : https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSImmutableData.html

An immutable object representing a unit of work that is completed at a vehicle stop.
- `


  ### [taskID](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskID)


  ` The ID of the task.

  #### Declaration

  Swift

      var taskID: String? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Type-Definitions/GMTDFleetEngineIDString.html *taskID;

- `


  ### [providerID](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)providerID)


  ` The ID associated with the provider.

  #### Declaration

  Swift

      var providerID: String? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) NSString *providerID;

- `


  ### [taskType](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskType)


  ` The type of current task.

  #### Declaration

  Swift

      var taskType: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskType.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskType.html taskType;

- `


  ### [taskState](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskState)


  ` The current execution state of the task.

  #### Declaration

  Swift

      var taskState: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskState.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskState.html taskState;

- `


  ### [taskOutcome](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskOutcome)


  ` The outcome of the task.

  #### Declaration

  Swift

      var taskOutcome: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcome.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcome.html taskOutcome;

- `


  ### [taskOutcomeTimestamp](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskOutcomeTimestamp)


  ` The timestamp of when the task's outcome was updated (from server).

  #### Declaration

  Swift

      var taskOutcomeTimestamp: TimeInterval { get }

  Objective-C

      @property (nonatomic, readonly) NSTimeInterval taskOutcomeTimestamp;

- `


  ### [taskOutcomeWaypoint](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskOutcomeWaypoint)


  ` Waypoint where the task's outcome was set.

  #### Declaration

  Swift

      var taskOutcomeWaypoint: GMSNavigationWaypoint? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) GMSNavigationWaypoint *taskOutcomeWaypoint;

- `


  ### [taskOutcomeLocationSource](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskOutcomeLocationSource)


  ` Indicates the source of the location information in the taskOutcomeWaypoint.

  #### Declaration

  Swift

      var taskOutcomeLocationSource: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcomeLocationSource.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcomeLocationSource.html taskOutcomeLocationSource;

- `


  ### [trackingID](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)trackingID)


  ` Lets you store an ID so that the customer can avoid unnecessary or complicated mapping.

  #### Declaration

  Swift

      var trackingID: String? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Type-Definitions/GMTDFleetEngineIDString.html *trackingID;

- `


  ### [vehicleID](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)vehicleID)


  ` The ID of the vehicle performing this task.

  #### Declaration

  Swift

      var vehicleID: String? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Type-Definitions/GMTDFleetEngineIDString.html *vehicleID;

- `


  ### [plannedWaypoint](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)plannedWaypoint)


  ` The waypoint where the task is to be completed.

  #### Declaration

  Swift

      var plannedWaypoint: GMSNavigationWaypoint? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) GMSNavigationWaypoint *plannedWaypoint;

- `


  ### [taskDuration](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(py)taskDuration)


  ` Additional time to perform an action at this location.

  #### Declaration

  Swift

      var taskDuration: TimeInterval { get }

  Objective-C

      @property (nonatomic, readonly) NSTimeInterval taskDuration;

- `


  ### [-initWithTaskID:providerID:taskType:taskState:taskOutcome:taskOutcomeTimestamp:taskOutcomeWaypoint:taskOutcomeLocationSource:trackingID:vehicleID:plannedWaypoint:taskDuration:](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(im)initWithTaskID:providerID:taskType:taskState:taskOutcome:taskOutcomeTimestamp:taskOutcomeWaypoint:taskOutcomeLocationSource:trackingID:vehicleID:plannedWaypoint:taskDuration:)


  ` Instantiates an instance of this class.

  #### Declaration

  Swift

      init(taskID: String?, providerID: String?, taskType: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskType.html, taskState: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskState.html, taskOutcome: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcome.html, taskOutcomeTimestamp: TimeInterval, taskOutcomeWaypoint: GMSNavigationWaypoint?, taskOutcomeLocationSource: https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcomeLocationSource.html, trackingID: String?, vehicleID: String?, plannedWaypoint: GMSNavigationWaypoint?, taskDuration: TimeInterval)

  Objective-C

      - (nonnull instancetype)
                     initWithTaskID:(nullable https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Type-Definitions/GMTDFleetEngineIDString.html *)taskID
                         providerID:(nullable NSString *)providerID
                           taskType:(https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskType.html)taskType
                          taskState:(https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskState.html)taskState
                        taskOutcome:(https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcome.html)taskOutcome
               taskOutcomeTimestamp:(NSTimeInterval)taskOutcomeTimestamp
                taskOutcomeWaypoint:
                    (nullable GMSNavigationWaypoint *)taskOutcomeWaypoint
          taskOutcomeLocationSource:
              (https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Enums/GMTSTaskOutcomeLocationSource.html)taskOutcomeLocationSource
                         trackingID:(nullable https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Type-Definitions/GMTDFleetEngineIDString.html *)trackingID
                          vehicleID:(nullable https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Type-Definitions/GMTDFleetEngineIDString.html *)vehicleID
                    plannedWaypoint:(nullable GMSNavigationWaypoint *)plannedWaypoint
                       taskDuration:(NSTimeInterval)taskDuration;

  #### Parameters

  |---|---|
  | ` taskID ` | The ID of a task. |
  | ` providerID ` | The ID associated with the provider. |
  | ` taskType ` | The type of task. |
  | ` taskState ` | The current execution state of the task. |
  | ` taskOutcome ` | The outcome of the task. |
  | ` taskOutcomeTimestamp ` | The time when the task's outcome was set. |
  | ` taskOutcomeWaypoint ` | Waypoint where the task's outcome was set. |
  | ` taskOutcomeLocationSource ` | Indicates whether the value of the task_outcome_location came from unnecessary or complicated mapping. |
  | ` trackingID ` | Lets you store an ID so that the customer can avoid an unnecessary or complicated mapping. |
  | ` vehicleID ` | The ID of the vehicle performing this Task. |
  | ` plannedWaypoint ` | The waypoint where the task will be completed. |
  | ` taskDuration ` | Additional time to perform an action at this location. |

- `


  ### [-init](https://developers.google.com/maps/documentation/mobility/driver-sdk/scheduled/reference/ios/Classes/GMTSTask#/c:objc(cs)GMTSTask(im)init)


  ` Unavailable
  Use the designated initializer instead.

  #### Declaration

  Objective-C

      - (nonnull instancetype)init;