Optibus Operational Plan (Deprecated) API

These API endpoints are deprecated and could be removed in a future version. Please use GET /v2/operational-plan instead.

Operations 2

GET /v1/operational-plan/{depotId} Fetch depot operational plan #
GET /v1/operational-plan Fetch operational plan #

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-operational-plan-deprecated-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-operational-plan-deprecated-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optibus Operations Driver Absences Operational Plan (Deprecated) Operational Plan (Deprecated) 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: Operational Plan (Deprecated)
  description: These API endpoints are deprecated and could be removed in a future version. Please use GET /v2/operational-plan instead.
paths:
  /v1/operational-plan/{depotId}:
    get:
      operationId: GetDepotOperationalPlan
      responses:
        '200':
          description: The daily operational plan for the specified depot during the specified time range
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDepotOperationalPlanV1Response'
        '302':
          description: For very large responses, the result is served as a presigned S3 file. This redirection is handled automatically by the majority of clients.
      description: '**WARNING: This is deprecated - you should use `/v2/operational-plan` described below. This API will not be supported beyond 2024-06-30.** Returns the daily operational plans for a specified date range and a specific depot.


        **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 depot operational plan
      tags:
      - Operational Plan (Deprecated)
      deprecated: true
      security:
      - api_key: []
      parameters:
      - description: '- Returns the daily operational plans for this depot ID'
        in: path
        name: depotId
        required: true
        schema:
          type: string
      - description: '- Returns the operational plans from this date (both from and to are required)'
        in: query
        name: from
        required: true
        schema:
          $ref: '#/components/schemas/StringifyDate'
      - description: '- Returns the daily operational plans to this date (both from and to are required)'
        in: query
        name: to
        required: true
        schema:
          $ref: '#/components/schemas/StringifyDate'
      - description: '- Returns the daily operational plans for the filtered driver IDs (when this filter is used, the response won''t include unassigned tasks)'
        in: query
        name: driversIds
        required: false
        schema:
          type: string
      - description: '- Returns the daily operational plans for the filtered vehicle IDs (when this filter is used, the response won''t include unassigned blocks)'
        in: query
        name: vehicleIds
        required: false
        schema:
          type: string
      - description: '-  When true, the response will include a full stop list on each trip (requests may take a long time or even time out)'
        in: query
        name: includeStops
        required: false
        schema:
          type: string
      - description: '- When true, the response will only contain tasks that have drivers assigned to them'
        in: query
        name: assignedOnly
        required: false
        schema:
          type: string
      - description: '-  In conjunction with supplying driver ids, When true return unassigned tasks as well as assigned tasks according to the driver filter.'
        in: query
        name: includeUnassigned
        required: false
        schema:
          type: string
      - description: '- When true, the response will include the properties of the plannedAssignments'
        in: query
        name: fetchPlannedAssignmentsProperties
        required: false
        schema:
          type: boolean
      - description: '- When specified, filters tasks, blocks, task assignments, and block assignments to only include those associated with the provided task display IDs. Can be a comma separated list (eg taskDisplayIds=T1,T2)'
        in: query
        name: taskDisplayIds
        required: false
        schema:
          type: string
        example: T100,T200,T300
  /v1/operational-plan:
    get:
      operationId: GetOperationalPlan
      responses:
        '200':
          description: The daily operational plan for the specified time range
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOperationalPlanV1Response'
        '302':
          description: For very large responses, the result is served as a presigned S3 file. This redirection is handled automatically by the majority of clients.
      description: '**WARNING: This is deprecated - you should use `/v2/operational-plan` described below. This API will not be supported beyond 2024-06-30.** Returns the daily operational plans for a specified date range for every depot.


        **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 operational plan
      tags:
      - Operational Plan (Deprecated)
      deprecated: true
      security:
      - api_key: []
      parameters:
      - description: '- Returns the operational plans from this date (both from and to are required)'
        in: query
        name: from
        required: true
        schema:
          $ref: '#/components/schemas/StringifyDate'
      - description: '- Returns the daily operational plans to this date (both from and to are required)'
        in: query
        name: to
        required: true
        schema:
          $ref: '#/components/schemas/StringifyDate'
      - description: '- When specified, filters tasks, blocks, task assignments, and block assignments to only include those associated with the provided task display IDs. Can be a comma separated list (eg taskDisplayIds=T1,T2)'
        in: query
        name: taskDisplayIds
        required: false
        schema:
          type: string
        example: T100,T200,T300
components:
  schemas:
    AttendanceEventJsonData:
      allOf:
      - $ref: '#/components/schemas/Omit_SameLocationEvent.stops-or-id_'
      - $ref: '#/components/schemas/BaseEventJsonData'
    LocationSummary:
      $ref: '#/components/schemas/Partial_Simplify_Record_ValueOf_StopPropertyMap_.string___'
    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_'
    DriverAssignments:
      properties:
        assignments:
          items:
            $ref: '#/components/schemas/UUID'
          type: array
          description: List of tasks assigned to the driver
        driver:
          $ref: '#/components/schemas/UUID'
          description: 'The driver who is assigned to the tasks (task UUIDs are listed under assignments).

            Tasks without an assignment have no driver'
      required:
      - assignments
      type: object
    AssignmentType:
      enum:
      - driverAssignment
      - plannedAssignment
      type: string
    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'
    DepotOperationalPlanBase:
      properties:
        vehicles:
          items:
            $ref: '#/components/schemas/Vehicle'
          type: array
          description: The information for vehicles
        drivers:
          items:
            $ref: '#/components/schemas/Pick_GetDriverResponse-at-number.uuid-or-id-or-firstName-or-lastName-or-middleName-or-archived_'
          type: array
          description: 'A list of drivers and their information. This list would include any driver with an assignment or a day off

            unless driver ids were specifically requested, in which case the requested drivers would be included regardless of their assignments'
        assignments:
          items:
            $ref: '#/components/schemas/AssignmentDayInformation'
          type: array
          description: The assignments for each day
      required:
      - vehicles
      - drivers
      - assignments
      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.
    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_'
    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'
    ExternalCalendarTaskBase_ExternalCalendarTaskSummaryWithLocationSummary_:
      allOf:
      - $ref: '#/components/schemas/Omit_CalendarTask.events-or-summary-or-disabled-or-cancellationCode-or-cancellationReason_'
      - properties:
          spareType:
            type: string
          attributes:
            $ref: '#/components/schemas/Record_AttributeId.AttributeValue_'
          summary:
            $ref: '#/components/schemas/ExternalCalendarTaskSummaryWithLocationSummary'
          dutyType:
            type: string
          type:
            $ref: '#/components/schemas/TaskType'
        required:
        - summary
        - type
        type: object
      - $ref: '#/components/schemas/SourceMeta'
    Integer:
      type: integer
      format: int32
    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'
    ExternalCalendarTaskSummaryWithLocationSummary:
      anyOf:
      - allOf:
        - $ref: '#/components/schemas/DutyEventSummary'
        - $ref: '#/components/schemas/LocationSummary'
      - properties:
          type:
            $ref: '#/components/schemas/TaskType'
        required:
        - type
        type: object
    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'
    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
    AssignmentProperties:
      allOf:
      - $ref: '#/components/schemas/Pick_TaskAssignment.taskId-or-labels-or-attributes-or-disabled-or-cancellationReason-or-opUnitUuid_'
      - properties:
          assignmentType:
            $ref: '#/components/schemas/AssignmentType'
        required:
        - assignmentType
        type: object
    GetDepotOperationalPlanV1Response:
      $ref: '#/components/schemas/DepotOperationalPlan'
    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: '#

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