Optibus Tasks API

The Tasks API from Optibus — 1 operation(s) for tasks.

OpenAPI Specification

optibus-tasks-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Optibus Operations Driver Absences Tasks API
  version: 2.8.17
  description: '**Welcome to the Optibus Operations API documentation!**


    Optibus Operations is a cloud-based software solution that enables public transport providers to optimize their operations, planning, and scheduling. Our API provides programmatic access to Optibus Operations'' functionality, allowing you to integrate it with your own applications and systems.



    '
  license:
    name: Optibus Ltd, All rights reserved
  contact: {}
servers:
- url: https://YOUR-OPTIBUS-ACCOUNT.api.ops.optibus.co
  description: Contact your Optibus Customer Success Manager for the actual baseURL and API credentials to use.
tags:
- name: Tasks
paths:
  /{depotId}/calendar:
    get:
      operationId: GetCalendarInfo
      responses:
        '200':
          description: calendar tasks info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCalendarResponse'
        '302':
          description: redirect url
      description: 'Returns the Daily and Weekly tasks for a specified date range, with filters.

        Responds with 302 redirect when payload is too big.

        OriginalDriverId refers to the driver that was assigned to the task in the plan page


        **Spare Types Support**: When the spare types feature flag is enabled, spare tasks will include additional properties:

        - `spareType`: The spare type code (e.g., "SPARE1", "SPARE2")

        - `displayId`: Will show the configured spare type name instead of the original display ID

        - `dutyType`: Will be set to "spare" for spare tasks

        - `startTime` and `endTime`: Will be included in the task summary for spare tasks based on the relevant spare type preference configuration'
      summary: Fetch calendar tasks
      tags:
      - Tasks
      security:
      - api_key: []
      parameters:
      - description: '- The depot to get the tasks from'
        in: path
        name: depotId
        required: true
        schema:
          $ref: '#/components/schemas/UUID'
      - description: '- The start of the date range to return the tasks from'
        in: query
        name: from
        required: true
        schema:
          $ref: '#/components/schemas/StringifyDate'
      - description: '- The end of the date range to return the tasks from'
        in: query
        name: to
        required: true
        schema:
          $ref: '#/components/schemas/StringifyDate'
      - description: '-  Returns tasks from the given plans'
        in: query
        name: plan
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/UUID'
      - description: '- Returns tasks from deployed plans for the given groups'
        in: query
        name: group
        required: false
        schema:
          type: array
          items:
            type: string
      - description: '- Returns tasks from the given types'
        in: query
        name: type
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/TaskType'
      - description: '-  Returns tasks that are either assigned or unassigned (depending on the input)'
        in: query
        name: assignedOnly
        required: false
        schema:
          type: boolean
      - description: '-  Returns the stops of tasks (false by default)'
        in: query
        name: includeStops
        required: false
        schema:
          type: boolean
      - description: '-  Returns the assignments of filtered driver'
        in: query
        name: driversIds
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/UUID'
components:
  schemas:
    TaskEventBase_BehindTheWheelHoursEventJsonData.CustomScheduleEventsTypes.BehindTheWheelHours_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_BehindTheWheelHoursEventJsonData.CustomScheduleEventsTypes.BehindTheWheelHours_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    ReliefCarEventsTypes.ReliefCarDriver:
      enum:
      - relief_car_driver
      type: string
    PrivateHireEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
    RosterEvent_ReinforcementTripEventJsonData.OtherEventTypes.ReinforcementTrip_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OtherEventTypes.ReinforcementTrip'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_ReinforcementTripEventJsonData_'
    TaskEventBase_DeadheadEventJsonData.DeadheadSubType_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_DeadheadEventJsonData.DeadheadSubType_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    UUID:
      type: string
      description: Stringified ID for a resource. Cannot exceed 36 characters.
    GenericRosterEventProps_PostTripEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/PostTripEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    TechnicalBreakEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
    TrainingEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
    TaskEventBase_CustomEventJsonData.OnScheduleEventsTypes.Custom_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_CustomEventJsonData.OnScheduleEventsTypes.Custom_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    _RefuelEvent:
      $ref: '#/components/schemas/TaskEventBase_RefuelEventJsonData.OnScheduleEventsTypes.Refuel_'
    RosterEvent_TrainingEventJsonData.CustomScheduleEventsTypes.Training_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/CustomScheduleEventsTypes.Training'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_TrainingEventJsonData_'
    EventStop:
      anyOf:
      - $ref: '#/components/schemas/CustomEventStop'
      - allOf:
        - $ref: '#/components/schemas/OnScheduleEventStop'
        - properties:
            isCustom:
              type: boolean
              enum:
              - false
              nullable: false
          type: object
    Pick_SameLocationEvent.Exclude_keyofSameLocationEvent.stops-or-id__:
      properties:
        vehicleId:
          type: string
        dutyId:
          type: string
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    CustomScheduleEventsTypes.Standby:
      enum:
      - standby
      type: string
    GenericRosterEventProps_SignOffEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/SignOffEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    VehicleAssignment:
      properties:
        originalVehicleId:
          $ref: '#/components/schemas/UUID'
        vehicleId:
          $ref: '#/components/schemas/UUID'
        blockId:
          $ref: '#/components/schemas/UUID'
      required:
      - blockId
      type: object
    LightDutyHoursEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
    CustomScheduleEventsTypes.TechnicalBreak:
      enum:
      - technical_break
      type: string
    OnScheduleEventsTypes.ReliefCar:
      enum:
      - relief_cars
      type: string
    Partial_Pick_OtherTravelEvent.name__:
      properties:
        name:
          type: string
      type: object
      description: Make all properties in T optional
    GenericRosterEventProps_NonRevenueEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/NonRevenueEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    Pick_OtherTravelEvent.Exclude_keyofOtherTravelEvent.stops-or-id-or-name__:
      properties:
        distance:
          type: number
          format: double
        dutyId:
          type: string
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    ServiceTripEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleServiceTripEvent.stops-or-id_'
      - $ref: '#/components/schemas/Required_LocationInformation_'
      - $ref: '#/components/schemas/Stops'
      - $ref: '#/components/schemas/ParentTripMeta'
      - $ref: '#/components/schemas/SubTripMeta'
    GenericRosterEventProps_DeadheadEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/DeadheadEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    BreakEvent:
      $ref: '#/components/schemas/TaskEventBase_BreakEventJsonData.OnScheduleEventsTypes.Break_'
    TechnicalBreakEvent:
      $ref: '#/components/schemas/TaskEventBase_TechnicalBreakEventJsonData.CustomScheduleEventsTypes.TechnicalBreak_'
    StringId:
      type: string
      description: The name of an entity that is also used as its identifier (ID)
    Omit_RefuelEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_RefuelEvent.Exclude_keyofRefuelEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    TaskEventBase_ReliefCarPassengerEventJsonData.ReliefCarEventsTypes.ReliefCarPassenger_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_ReliefCarPassengerEventJsonData.ReliefCarEventsTypes.ReliefCarPassenger_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    RosterEvent_ServiceTripEventJsonData.OnScheduleEventsTypes.ServiceTrip_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.ServiceTrip'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_ServiceTripEventJsonData_'
    EventsRef:
      description: Unique ID combination to get full event data from `events` property
      properties:
        type:
          $ref: '#/components/schemas/ScheduleEventsTypeName'
        id:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/EventStringId'
      required:
      - type
      - id
      type: object
      additionalProperties: false
    BaseEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Stops'
      - $ref: '#/components/schemas/LocationInformation'
    Passenger:
      anyOf:
      - $ref: '#/components/schemas/PublicTravelPassenger'
      - $ref: '#/components/schemas/StringId'
      description: 'The driver as a passenger.<br/>

        Events that can have drivers as passengers:<br/>

        <i>service | idle | taxi | reliefCar</i>'
    TaskEventBase_BreakEventJsonData.OnScheduleEventsTypes.Break_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_BreakEventJsonData.OnScheduleEventsTypes.Break_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    SignOffEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_SameLocationDutyEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    OnScheduleEventsTypes.Split:
      enum:
      - split
      type: string
    PlannedTaskAssignment:
      properties:
        opUnitUuid:
          type: string
        cancellationReason:
          $ref: '#/components/schemas/DutyCancellationReason'
          description: if disabled = true and the customer has configured cancellation reasons, then this is present
        disabled:
          type: boolean
        driverId:
          $ref: '#/components/schemas/UUID'
        taskId:
          $ref: '#/components/schemas/UUID'
      required:
      - taskId
      type: object
    Omit_OnScheduleDeadheadEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_OnScheduleDeadheadEvent.Exclude_keyofOnScheduleDeadheadEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    TaskEventBase_ReliefCarDriverEventJsonData.ReliefCarEventsTypes.ReliefCarDriver_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_ReliefCarDriverEventJsonData.ReliefCarEventsTypes.ReliefCarDriver_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    Pick_ReliefCarTravelEvent.Exclude_keyofReliefCarTravelEvent.stops-or-id__:
      properties:
        distance:
          type: number
          format: double
        dutyId:
          type: string
        passengers:
          items:
            $ref: '#/components/schemas/Passenger'
          type: array
        carId:
          type: string
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    OtherEventTypes.PullIn:
      enum:
      - depot_pull_in
      type: string
    Omit_OnScheduleCustomEvent.stops-or-id-or-description_:
      $ref: '#/components/schemas/Pick_OnScheduleCustomEvent.Exclude_keyofOnScheduleCustomEvent.stops-or-id-or-description__'
      description: Construct a type with the properties of T except for those in type K.
    ScheduleSourceMeta:
      properties:
        source:
          type: string
          enum:
          - scheduling
          nullable: false
        wasModifiedInOperations:
          type: boolean
        optibusIds:
          $ref: '#/components/schemas/OptibusIds'
      required:
      - source
      - wasModifiedInOperations
      - optibusIds
      type: object
    TaskEventBase_ReinforcementTripEventJsonData.OtherEventTypes.ReinforcementTrip_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_ReinforcementTripEventJsonData.OtherEventTypes.ReinforcementTrip_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    SignOnEvent:
      $ref: '#/components/schemas/TaskEventBase_SignOnEventJsonData.OnScheduleEventsTypes.SignOn_'
    TaskEventBase_PostTripEventJsonData.OnScheduleEventsTypes.PostTrip_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_PostTripEventJsonData.OnScheduleEventsTypes.PostTrip_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    TaskEventBase_TaxiEventJsonData.OnScheduleEventsTypes.Taxi_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_TaxiEventJsonData.OnScheduleEventsTypes.Taxi_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    ReinforcementTripEvent:
      allOf:
      - $ref: '#/components/schemas/TaskEventBase_ReinforcementTripEventJsonData.OtherEventTypes.ReinforcementTrip_'
      - $ref: '#/components/schemas/ReinforcementTripEventBase'
    TrainingEvent:
      $ref: '#/components/schemas/TaskEventBase_TrainingEventJsonData.CustomScheduleEventsTypes.Training_'
    AttributeValue:
      anyOf:
      - items:
          anyOf:
          - type: number
            format: double
          - type: string
        type: array
      - type: string
      - type: boolean
      - type: number
        format: double
    TaskEventBase_ServiceTripEventJsonData.OnScheduleEventsTypes.ServiceTrip_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_ServiceTripEventJsonData.OnScheduleEventsTypes.ServiceTrip_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    OptibusTime:
      type: string
      description: 'Time as HH:MM:SS <br/>

        between 24:00:00 and 47:59:59 is next day <br/>

        between 48:00:00 and 71:59:59 is the day after that

        a leading "-"" represents the previous day (eg -01:00:00 is 23:00 on the previous day)'
      pattern: ^-?([0-7][0-1]|[0-6][0-9]):([0-5][0-9]):([0-5][0-9])$
    SubTripMeta:
      properties:
        subTripIndex:
          type: number
          format: double
          description: 'if a sub trip, what is its position within it''s parent

            where parentTripId exists so should subTripIndex

            subTripIndex is one based'
        isLastSubTrip:
          type: boolean
        isFirstSubTrip:
          type: boolean
        parentSubTrips:
          items:
            type: string
          type: array
          nullable: true
          description: entire list of sub-trips for a parent trip
        parentProperties:
          $ref: '#/components/schemas/Record_string.unknown_'
          description: sub-trips don't have their own properties so they carry a copy of any properties their parent may have
        parentTripId:
          type: string
          description: If trip is a sub trip, this is tripId of it's parent
        parentEventId:
          type: string
          description: Parent roster event id of the sub-trip
      type: object
    Omit_SameLocationEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_SameLocationEvent.Exclude_keyofSameLocationEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    RosterEvent_ReliefCarPassengerEventJsonData.ReliefCarEventsTypes.ReliefCarPassenger_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/ReliefCarEventsTypes.ReliefCarPassenger'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_ReliefCarPassengerEventJsonData_'
    RechargeEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_RechargeEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    LocationInformation:
      properties:
        destination:
          $ref: '#/components/schemas/EventStop'
        origin:
          $ref: '#/components/schemas/EventStop'
      type: object
      description: 'This type is used to map the event to the stops in the real world.

        remark: for same location events, the origin and the destination are the same.'
    TaskEventBase_MeetingEventJsonData.CustomScheduleEventsTypes.Meeting_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_MeetingEventJsonData.CustomScheduleEventsTypes.Meeting_'
      - $ref: '#/components/schemas/TaskEventProps'
      - properties:
          eventJsonData:
            allOf:
            - $ref: '#/components/schemas/SignPost'
            - properties:
                id:
                  $ref: '#/components/schemas/UUID'
              type: object
            - $ref: '#/components/schemas/SubTripMeta'
        required:
        - eventJsonData
        type: object
    DeadheadSubType:
      anyOf:
      - $ref: '#/components/schemas/OnScheduleEventsTypes.Deadhead'
      - $ref: '#/components/schemas/OtherEventTypes.PullIn'
      - $ref: '#/components/schemas/OtherEventTypes.PullOut'
    GenericRosterEventProps_AttendanceEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/AttendanceEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    BreakEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Partial_Omit_OnScheduleBreakEvent.stops-or-id__'
      - $ref: '#/components/schemas/BaseEventJsonData'
    SplitEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_SameLocationDutyEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    Pick_OnScheduleCustomEvent.Exclude_keyofOnScheduleCustomEvent.stops-or-id__:
      properties:
        description:
          type: string
        properties:
          $ref: '#/components/schemas/Record_string.unknown_'
        dutyId:
          type: string
      required:
      - description
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    RosterEvent_SplitEventJsonData.OnScheduleEventsTypes.Split_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.Split'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_SplitEventJsonData_'
    BehindTheWheelHoursEvent:
      $ref: '#/components/schemas/TaskEventBase_BehindTheWheelHoursEventJsonData.CustomScheduleEventsTypes.BehindTheWheelHours_'
    CalendarInformation:
      properties:
        calendarVehicleAssignments:
          items:
            $ref: '#/components/schemas/CalendarVehicleAssignment'
          type: array
        blocks:
          items:
            $ref: '#/components/schemas/CalendarBlock'
          type: array
        tasks:
          items:
            $ref: '#/components/schemas/ExternalCalendarTask'
          type: array
        DailyTasks:
          items:
            $ref: '#/components/schemas/CalendarDailyInformation'
          type: array
        deployedPlans:
          items:
            $ref: '#/components/schemas/CalendarPlanInformation'
          type: array
        depotId:
          type: string
      required:
      - calendarVehicleAssignments
      - blocks
      - tasks
      - DailyTasks
      - deployedPlans
      - depotId
      type: object
    CustomEventStop:
      allOf:
      - $ref: '#/components/schemas/OnScheduleEventStop'
      - $ref: '#/components/schemas/Partial_Coordinates_'
      - properties:
          isCustom:
            type: boolean
            enum:
            - true
            nullable: false
        required:
        - isCustom
        type: object
      description: 'Custom event related data.<br/>

        Custom stops cannot be found in the `stops` catalog/property

        Their ID is actually their name and lat and long are stored directly in the EventStop json'
    RosterDutyEventReference:
      properties:
        originRosterId:
          type: string
        deleted:
          type: boolean
        originalDutyId:
          type: string
        dutyId:
          type: string
        eventId:
          type: string
      required:
      - dutyId
      - eventId
      type: object
    Omit_OtherTravelEvent.stops-or-id-or-name_:
      $ref: '#/components/schemas/Pick_OtherTravelEvent.Exclude_keyofOtherTravelEvent.stops-or-id-or-name__'
      description: Construct a type with the properties of T except for those in type K.
    CustomScheduleEventsTypes.Meeting:
      enum:
      - meeting
      type: string
    Pick_PublicTransportationEvent.Exclude_keyofPublicTransportationEvent.stops-or-id__:
      properties:
        distance:
          type: number
          format: double
        dutyId:
          type: string
        passengers:
          items:
            $ref: '#/components/schemas/Passenger'
          type: array
        travelTripsOnVehicle:
          properties:
            trips:
              items:
                $ref: '#/components/schemas/EventsRef'
              type: array
            id:
              type: string
          required:
          - trips
          - id
          type: object
      required:
      - travelTripsOnVehicle
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    MeetingEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
    Omit_RechargeEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_RechargeEvent.Exclude_keyofRechargeEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    OnScheduleEventsTypes.Custom:
      enum:
      - custom
      type: string
    OnScheduleEventsTypes.Break:
      enum:
      - break
      type: string
    Omit_TravelEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_TravelEvent.Exclude_keyofTravelEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    GenericRosterEventProps_OtherTravelEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/OtherTravelEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    StandbyEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
      - properties:
          description:
            type: string
        type: object
    Label:
      $ref: '#/components/schemas/Omit_PreferencesLabel.type_'
    GenericRosterEventProps_ReliefCarEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/ReliefCarEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    CustomScheduleEventsTypes.Training:
      enum:
      - training
      type: string
    ReliefCarEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_ReliefCarTravelEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    Omit_OnScheduleServiceTripEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_OnScheduleServiceTripEvent.Exclude_keyofOnScheduleServiceTripEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    CustomScheduleEventsTypes.BehindTheWheelHours:
      enum:
      - behind_the_wheel_hours
      type: string
    Omit_ReliefCarTravelEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_ReliefCarTravelEvent.Exclude_keyofReliefCarTravelEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    PostTripEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_SameLocationEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    ServiceTripTypeEvent:
      anyOf:
      - $ref: '#/components/schemas/ServiceTripEvent'
      - $ref: '#/components/schemas/SubTripEvent'
      - $ref: '#/components/schemas/ReinforcementTripEvent'
    OnScheduleEventsTypes.PostTrip:
      enum:
      - post_trip
      type: string
    TaskEvent:
      anyOf:
      - $ref: '#/components/schemas/TechnicalBreakEvent'
      - $ref: '#/components/schemas/MeetingEvent'
      - $ref: '#/components/schemas/TrainingEvent'
      - $ref: '#/components/schemas/NonRevenueEvent'
      - $ref: '#/components/schemas/LightDutyHoursEvent'
      - $ref: '#/components/schemas/BehindTheWheelHoursEvent'
      - $ref: '#/components/schemas/SplitEvent'
      - $ref: '#/components/schemas/StandbyEvent'
      - $ref: '#/components/schemas/OtherTaskEvent'
      - $ref: '#/components/schemas/BreakEvent'
      - $ref: '#/components/schemas/DeadheadEvent'
      - $ref: '#/components/schemas/CustomEvent'
      - $ref: '#/components/schemas/TaxiEvent'
      - $ref: '#/components/schemas/SignOnEvent'
      - $ref: '#/components/schemas/SignOffEvent'
      - $ref: '#/components/schemas/PrivateHireEvent'
      - $ref: '#/components/schemas/ServiceTripEvent'
      - $ref: '#/components/schemas/ReinforcementTripEvent'
      - $ref: '#/components/schemas/OtherTravelsEvent'
      - $ref: '#/components/schemas/PublicTravelEvent'
      - $ref: '#/components/schemas/ReliefCarEvent'
      - $ref: '#/components/schemas/SubTripEvent'
      - $ref: '#/components/schemas/WalksEvent'
      - $ref: '#/component

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