{
  "$id": "https://schemas.ruter.no/adt/ota/api/v3.0/operational/assignment/attempt/request/assignment-attempt-request.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "AssignmentAttemptRequest",
  "description": "Request to sign a vehicle on/off, or update an assigned assignment. The vehicle in question is provided in the mqtt topic name. Response will be sent to this vehicle via assignment attempt response.",
  "type": "object",
  "required": [
    "traceId",
    "eventTimestamp"
  ],
  "additionalProperties": true,
  "properties": {
    "eventTimestamp": {
      "$id": "#/properties/eventTimestamp",
      "type": "string",
      "description": "As specified in the [ADT documentation.](https://adt.transhub.io)",
      "format": "date-time"
    },
    "traceId": {
      "$id": "#/properties/traceId",
      "type": "string",
      "description": "A unique identifier - UUID"
    },
    "signOn": {
      "$id": "#/properties/signOn",
      "$ref": "common/assignment-attempt-sign-on.json",
      "description": "Sign the vehicle on to planned journeys from a given vehicle task. If the requested planed journeys exists, this request will form a plan for the vehicle to follow.  The plan can consist of parts of, or an entire vehicle task."
    },
    "signOff": {
      "$id": "#/properties/signOff",
      "$ref": "common/assignment-attempt-sign-off.json",
      "description": "Sign the vehicle off the previously signed on plan"
    },
    "update": {
      "$id": "#/properties/update",
      "$ref": "common/assignment-attempt-update.json",
      "description": "After a successful sign on. The Signed on plan can be updated. The updates are restricted to `SHORTENING` the agreed upon plan"
    }
  }
}
