Optibus Tasks API

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

Operations 1

GET /{depotId}/calendar Fetch calendar tasks #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optibus-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optibus-tasks-api-openapi.yml Raw ↑
openapi: 3.2.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:
    AttendanceEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_SameLocationEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    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_StandbyEventJsonData.CustomScheduleEventsTypes.Standby_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_StandbyEventJsonData.CustomScheduleEventsTypes.Standby_'
      - $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
    ReliefCarEvent:
      $ref: '#/components/schemas/TaskEventBase_ReliefCarEventJsonData.OnScheduleEventsTypes.ReliefCar_'
    OtherEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
      - properties:
          description:
            type: string
        type: object
    OnScheduleEventsTypes:
      enum:
      - service_trip
      - sub_trip
      - deadhead
      - sign_on
      - sign_off
      - split
      - pre_trip
      - post_trip
      - attendance
      - custom
      - refuels
      - recharge
      - other_travels
      - taxi
      - walk
      - relief_cars
      - public_travel
      - break
      - other
      type: string
    OtherEventTypes.PullIn:
      enum:
      - depot_pull_in
      type: string
    OnScheduleEventsTypes.Split:
      enum:
      - split
      type: string
    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.
    TechnicalBreakEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
    RosterEvent_MeetingEventJsonData.CustomScheduleEventsTypes.Meeting_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/CustomScheduleEventsTypes.Meeting'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_MeetingEventJsonData_'
    OtherEventTypes.ReinforcementTrip:
      enum:
      - reinforcement_trip
      type: string
    NonRevenueEvent:
      $ref: '#/components/schemas/TaskEventBase_NonRevenueEventJsonData.CustomScheduleEventsTypes.NonRevenue_'
    CustomScheduleEventsTypes.NonRevenue:
      enum:
      - non_revenue
      type: string
    OtherTravelEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OtherTravelEvent.stops-or-id-or-name_'
      - $ref: '#/components/schemas/Partial_Pick_OtherTravelEvent.name__'
      - $ref: '#/components/schemas/BaseEventJsonData'
    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.
    Record_string.unknown_:
      properties: {}
      additionalProperties: {}
      type: object
      description: Construct a type with a set of properties K of type T
    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
    ExternalTaskEventProps:
      properties:
        type:
          $ref: '#/components/schemas/ScheduleEventsType'
        id:
          $ref: '#/components/schemas/UUID'
      required:
      - type
      - id
      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.
    RosterEvent_OtherTravelEventJsonData.OnScheduleEventsTypes.OtherTravels_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.OtherTravels'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_OtherTravelEventJsonData_'
    CalendarPlanInformation:
      properties:
        deployDateRange:
          $ref: '#/components/schemas/StringifyDateRange'
        group:
          type: string
        rosterId:
          $ref: '#/components/schemas/UUID'
        plan:
          $ref: '#/components/schemas/UUID'
      required:
      - deployDateRange
      - group
      - rosterId
      - plan
      type: object
    TaskEventBase_SplitEventJsonData.OnScheduleEventsTypes.Split_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_SplitEventJsonData.OnScheduleEventsTypes.Split_'
      - $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
    GenericRosterEventProps_ServiceTripEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/ServiceTripEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    StringifyDate:
      type: string
      format: date
      description: Stringified ISO8601 date in the form of `YYYY-MM-dd`, for example `2017-07-21`
    AttributeValue:
      anyOf:
      - items:
          anyOf:
          - type: number
            format: double
          - type: string
        type: array
      - type: string
      - type: boolean
      - type: number
        format: double
    EventWithoutBlock:
      allOf:
      - $ref: '#/components/schemas/NonVehicleEvent'
      - $ref: '#/components/schemas/ExternalTaskEventProps'
    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])$
    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
    DeadheadTypeEvent:
      allOf:
      - $ref: '#/components/schemas/DeadheadEvent'
      - properties:
          eventType:
            $ref: '#/components/schemas/DeadheadSubType'
        required:
        - eventType
        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
    CustomScheduleEventsTypes.TechnicalBreak:
      enum:
      - technical_break
      type: string
    TaskEventBase_PreTripEventJsonData.OnScheduleEventsTypes.PreTrip_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_PreTripEventJsonData.OnScheduleEventsTypes.PreTrip_'
      - $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'
    _RefuelEvent:
      $ref: '#/components/schemas/TaskEventBase_RefuelEventJsonData.OnScheduleEventsTypes.Refuel_'
    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.
    EventStop:
      anyOf:
      - $ref: '#/components/schemas/CustomEventStop'
      - allOf:
        - $ref: '#/components/schemas/OnScheduleEventStop'
        - properties:
            isCustom:
              type: boolean
              enum:
              - false
          type: object
    Omit_PublicTransportationEvent.stops-or-id_:
      $ref: '#/components/schemas/Pick_PublicTransportationEvent.Exclude_keyofPublicTransportationEvent.stops-or-id__'
      description: Construct a type with the properties of T except for those in type K.
    RosterEvent_AttendanceEventJsonData.OnScheduleEventsTypes.Attendance_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.Attendance'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_AttendanceEventJsonData_'
    PostTripEvent:
      $ref: '#/components/schemas/TaskEventBase_PostTripEventJsonData.OnScheduleEventsTypes.PostTrip_'
    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
    ScheduleEventsType:
      anyOf:
      - $ref: '#/components/schemas/CustomScheduleEventsTypes'
      - $ref: '#/components/schemas/OnScheduleEventsTypes'
      - $ref: '#/components/schemas/OtherEventTypes'
      - $ref: '#/components/schemas/ReliefCarEventsTypes'
    EventWithBlock:
      allOf:
      - $ref: '#/components/schemas/VehicleEvent'
      - $ref: '#/components/schemas/ExternalTaskEventProps'
      - $ref: '#/components/schemas/VehicleBlockJsonData'
    ExternalCalendarTask:
      allOf:
      - $ref: '#/components/schemas/ExternalCalendarTaskBase_ExternalCalendarTaskSummary_'
      - properties:
          spareType:
            type: string
          events:
            items:
              $ref: '#/components/schemas/ExternalCalendarTaskEvent_TaskEvent_'
            type: array
        type: object
    TaskEventBase_RechargeEventJsonData.OnScheduleEventsTypes.Recharge_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_RechargeEventJsonData.OnScheduleEventsTypes.Recharge_'
      - $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
    SignPost:
      properties:
        signPost:
          type: string
      type: object
    Omit_PreferencesLabel.type_:
      $ref: '#/components/schemas/Pick_PreferencesLabel.Exclude_keyofPreferencesLabel.type__'
      description: Construct a type with the properties of T except for those in type K.
    Pick_OnScheduleCustomEvent.Exclude_keyofOnScheduleCustomEvent.stops-or-id-or-description__:
      properties:
        properties:
          $ref: '#/components/schemas/Record_string.unknown_'
        dutyId:
          type: string
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    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.
    BlockEvent:
      anyOf:
      - $ref: '#/components/schemas/RosterDutyEventReference'
      - $ref: '#/components/schemas/TaskEvent'
    GenericRosterEventProps_StandbyEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/StandbyEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    WalkEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_TravelEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    RosterEvent_BehindTheWheelHoursEventJsonData.CustomScheduleEventsTypes.BehindTheWheelHours_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/CustomScheduleEventsTypes.BehindTheWheelHours'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_BehindTheWheelHoursEventJsonData_'
    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
    Omit_CalendarTask.events-or-summary-or-disabled-or-cancellationCode-or-cancellationReason_:
      $ref: '#/components/schemas/Pick_CalendarTask.Exclude_keyofCalendarTask.events-or-summary-or-disabled-or-cancellationCode-or-cancellationReason__'
      description: Construct a type with the properties of T except for those in type K.
    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_ServiceTripEventJsonData.OnScheduleEventsTypes.ServiceTrip_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.ServiceTrip'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_ServiceTripEventJsonData_'
    TaskEventBase_OtherTravelEventJsonData.OnScheduleEventsTypes.OtherTravels_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_OtherTravelEventJsonData.OnScheduleEventsTypes.OtherTravels_'
      - $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
    Label:
      $ref: '#/components/schemas/Omit_PreferencesLabel.type_'
    StandbyEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleCustomEvent.stops-or-id-or-description_'
      - $ref: '#/components/schemas/Partial_BaseEventJsonData_'
      - properties:
          description:
            type: string
        type: object
    Record_string.AttributeValue_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/AttributeValue'
      type: object
      description: Construct a type with a set of properties K of type T
    OptibusIds:
      properties:
        optibusTimeplanId:
          type: string
        optibusScheduleId:
          type: string
        optibusRosterDatasetId:
          type: string
        optibusRosterId:
          type: string
      required:
      - optibusTimeplanId
      - optibusScheduleId
      type: object
    AttendanceEvent:
      $ref: '#/components/schemas/TaskEventBase_AttendanceEventJsonData.OnScheduleEventsTypes.Attendance_'
    Stops:
      properties:
        stops:
          items:
            $ref: '#/components/schemas/EventStop'
          type: array
          description: The list of stops will only be included if includeStops is set to true on the request
      type: object
    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.'
    OnScheduleEventsTypes.Attendance:
      enum:
      - attendance
      type: string
    TaxiEvent:
      $ref: '#/components/schemas/TaskEventBase_TaxiEventJsonData.OnScheduleEventsTypes.Taxi_'
    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.
    OnScheduleEventsTypes.Taxi:
      enum:
      - taxi
      type: string
    Partial_Omit_OnScheduleBreakEvent.stops-or-id__:
      properties:
        paidTime:
          type: number
          format: double
        breakId:
          type: string
        extraTime:
          type: number
          format: double
      type: object
      description: Make all properties in T optional
    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
    ReinforcementTripEvent:
      allOf:
      - $ref: '#/components/schemas/TaskEventBase_ReinforcementTripEventJsonData.OtherEventTypes.ReinforcementTrip_'
      - $ref: '#/components/schemas/ReinforcementTripEventBase'
    DeadheadEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_OnScheduleDeadheadEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    VehicleAssignment:
      properties:
        originalVehicleId:
          $ref: '#/components/schemas/UUID'
        vehicleId:
          $ref: '#/components/schemas/UUID'
        blockId:
          $ref: '#/components/schemas/UUID'
      required:
      - blockId
      type: object
    RosterEvent__distance_63_-number_-and-PrivateHireEventJsonData.OtherEventTypes.PrivateHire_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OtherEventTypes.PrivateHire'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps__distance_63_-number_-and-PrivateHireEventJsonData_'
    SplitEvent:
      $ref: '#/components/schemas/TaskEventBase_SplitEventJsonData.OnScheduleEventsTypes.Split_'
    StringId:
      type: string
      description: The name of an entity that is also used as its identifier (ID)
    Pick_OnScheduleTaxiEvent.Exclude_keyofOnScheduleTaxiEvent.stops-or-id__:
      properties:
        distance:
          type: number
          format: double
        dutyId:
          type: string
        passengers:
          items:
            $ref: '#/components/schemas/Passenger'
          type: array
        carId:
          type: string
        isReliefCar:
          type: boolean
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    TaskEventBase_TechnicalBreakEventJsonData.CustomScheduleEventsTypes.TechnicalBreak_:
      allOf:
      - $ref: '#/components/schemas/RosterEvent_TechnicalBreakEventJsonData.CustomScheduleEventsTypes.TechnicalBreak_'
      - $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
    CalendarDailyInformation:
      properties:
        tasks:
          items:
            $ref: '#/components/schemas/TaskAssignment'
          type: array
        date:
          $ref: '#/components/schemas/StringifyDate'
      required:
      - tasks
      - date
      type: object
    TaskAssignment:
      allOf:
      - $ref: '#/components/schemas/PlannedTaskAssignment'
      - properties:
          lastAssignedDriverId:
            type:
            - string
            - 'null'
          attributes:
            $ref: '#/components/schemas/Record_AttributeId.AttributeValue_'
          labels:
            items:
              $ref: '#/components/schemas/Label'
            type: array
          vehicleId:
            $ref: '#/components/schemas/UUID'
          originalDriverId:
            $ref: '#/components/schemas/UUID'
        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
    RosterEvent_PublicTravelEventJsonData.OnScheduleEventsTypes.PublicTravel_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.PublicTravel'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_PublicTravelEventJsonData_'
    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_'
    Pick_SameLocationDutyEvent.Exclude_keyofSameLocationDutyEvent.stops-or-id__:
      properties:
        dutyId:
          type: string
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    RosterEvent_WalkEventJsonData.OnScheduleEventsTypes.Walks_:
      allOf:
      - properties:
          eventType:
            $ref: '#/components/schemas/OnScheduleEventsTypes.Walks'
          eventId:
            type: string
        required:
        - eventType
        - eventId
        type: object
      - $ref: '#/components/schemas/GenericRosterEventProps_WalkEventJsonData_'
    OtherEventTypes.PrivateHire:
      enum:
      - private_hire
      type: string
    GenericRosterEventProps_MeetingEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/MeetingEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    ReliefCarEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_ReliefCarTravelEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    BaseEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Stops'
      - $ref: '#/components/schemas/LocationInformation'
    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_'
    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
    OtherTravelsEvent:
      $ref: '#/components/schemas/TaskEventBase_OtherTravelEventJsonData.OnScheduleEventsTypes.OtherTravels_'
    TaskEventProps:
      properties:
        splitTripReference:
          type: string
        custom:
          type: boolean
        labels:
          items:
            $ref: '#/components/schemas/Label'
          type: array
        driverNoteText:
          type: string
        noteText:
          type: string
        disabled:
          type: boolean
      type: object
    GenericRosterEventProps_PublicTravelEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/PublicTravelEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
      required:
      - eventJsonData
      - endTime
      - startTime
      type: object
    GenericRosterEventProps_ReliefCarEventJsonData_:
      properties:
        eventJsonData:
          $ref: '#/components/schemas/ReliefCarEventJsonData'
        endTime:
          $ref: '#/components/schemas/MinutesFromMidnightTime'
        startTime:
          $ref: '#/compo

# --- 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