UNPKG

@golemio/pid

Version:
1,490 lines (1,480 loc) • 54.9 kB
asyncapi: 3.0.0 info: title: PID version: 1.0.0 description: PID channels: jis.fetchJISInfotexts: address: vehicle-positions.jis.fetchJISInfotexts description: Fetch JIS Infotexts from data source bindings: amqp: is: queue queue: durable: true messages: empty: $ref: "#/components/messages/emptyMessage" jis.refreshJISInfotexts: address: vehicle-positions.jis.refreshJISInfotexts description: Refresh JIS Infotexts in database bindings: amqp: is: queue queue: durable: true messages: empty: $ref: "#/components/messages/IJISInfotext" updateGTFSTripId: address: vehicle-positions.vehiclepositions.updateGTFSTripId description: some description bindings: amqp: is: queue queue: exclusive: true messages: data: $ref: "#/components/messages/updateGTFSTripId" messageProperties: $ref: "#/components/messages/messageProperties" updateRunsGTFSTripId: address: vehicle-positions.vehiclepositions.updateRunsGTFSTripId description: some description bindings: amqp: is: queue queue: exclusive: true messages: data: $ref: "#/components/messages/IUpdateRunsGtfsTripInput" updateDelay: address: vehicle-positions.vehiclepositions.updateDelay description: some description bindings: amqp: is: queue queue: exclusive: true messages: data: $ref: "#/components/messages/IUpdateDelayInput" messageProperties: $ref: "#/components/messages/messageProperties" saveDataToDB: address: vehicle-positions.vehiclepositions.saveDataToDB description: some description bindings: amqp: is: queue queue: exclusive: true messages: data: $ref: "#/components/messages/IMpvMessageInput" messageProperties: $ref: "#/components/messages/messageProperties" refreshPublicTripCache: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.refreshPublicTripCache messages: empty: $ref: "#/components/messages/EmptyObject" refreshPublicStopTimeCache: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.refreshPublicStopTimeCache messages: empty: $ref: "#/components/messages/EmptyObject" refreshGTFSTripData: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.refreshGTFSTripData messages: empty: $ref: "#/components/messages/EmptyObject" propagateTrainDelay: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.propagateTrainDelay messages: input: $ref: "#/components/messages/IPropagateTrainDelayInput" propagateDelay: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.propagateDelay messages: data: $ref: "#/components/messages/propagateDelay" processRegionalBusPositions: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.processRegionalBusPositions messages: data: $ref: "#/components/messages/IUpdateDelayInput" messageProperties: $ref: "#/components/messages/messageProperties" dataRetention: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.dataretention.deleteData messages: empty: $ref: "#/components/messages/EmptyObject" saveTramRunsToDB: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositions.saveTramRunsToDB messages: data: $ref: "#/components/messages/saveTramRunsToDB" messageProperties: $ref: "#/components/messages/messageProperties" saveMetroRunsToDB: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositionsruns.saveMetroRunsToDB messages: data: $ref: "#/components/messages/saveMetroRunsToDB" messageProperties: $ref: "#/components/messages/messageProperties" saveBusRunsToDB: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositionsruns.saveBusRunsToDB messages: data: $ref: "#/components/messages/saveBusRunsToDB" messageProperties: $ref: "#/components/messages/messageProperties" saveArrivaCityRunsToDB: description: some description bindings: amqp: is: queue queue: exclusive: true address: ehicle-positions.vehiclepositionsruns.saveArrivaCityRunsToDB messages: data: $ref: "#/components/messages/saveArrivaCityRunsToDB" messageProperties: $ref: "#/components/messages/messageProperties" processMetroRunMessages: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositionsruns.processMetroRunMessages messages: data: $ref: "#/components/messages/processMetroRunMessages" messageProperties: $ref: "#/components/messages/messageProperties" processRegionalBusRunMessages: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositionsruns.processRegionalBusRunMessages messages: data: $ref: "#/components/messages/processRegionalBusRunMessages" messageProperties: $ref: "#/components/messages/messageProperties" generateFiles: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehiclepositionsgtfsrt.generateFiles messages: empty: $ref: "#/components/messages/EmptyObject" refreshDescriptors: description: some description bindings: amqp: is: queue queue: exclusive: true address: vehicle-positions.vehicledescriptors.refreshDescriptors messages: empty: $ref: "#/components/messages/EmptyObject" operations: jis.refreshJISInfotexts: action: "send" channel: $ref: "#/channels/jis.refreshJISInfotexts" updateGTFSTripId: action: "send" channel: $ref: "#/channels/updateGTFSTripId" refreshDescriptors: action: "send" channel: $ref: "#/channels/refreshDescriptors" generateFiles: action: "send" channel: $ref: "#/channels/generateFiles" processRegionalBusRunMessages: action: "send" channel: $ref: "#/channels/processRegionalBusRunMessages" updateRunsGTFSTripId: action: "send" channel: $ref: "#/channels/updateRunsGTFSTripId" updateDelay: action: "send" channel: $ref: "#/channels/updateDelay" saveDataToDB: action: "send" channel: $ref: "#/channels/saveDataToDB" refreshPublicTripCache: action: "send" channel: $ref: "#/channels/refreshPublicTripCache" refreshPublicStopTimeCache: action: "send" channel: $ref: "#/channels/refreshPublicStopTimeCache" refreshGTFSTripData: action: "send" channel: $ref: "#/channels/refreshGTFSTripData" propagateTrainDelay: action: "send" channel: $ref: "#/channels/propagateTrainDelay" propagateDelay: action: "send" channel: $ref: "#/channels/propagateDelay" processRegionalBusPositions: action: "send" channel: $ref: "#/channels/processRegionalBusPositions" dataRetention: action: "send" channel: $ref: "#/channels/dataRetention" saveTramRunsToDB: action: "send" channel: $ref: "#/channels/saveTramRunsToDB" saveMetroRunsToDB: action: "send" channel: $ref: "#/channels/saveMetroRunsToDB" saveBusRunsToDB: action: "send" channel: $ref: "#/channels/saveBusRunsToDB" saveArrivaCityRunsToDB: action: "send" channel: $ref: "#/channels/saveArrivaCityRunsToDB" processMetroRunMessages: action: "send" channel: $ref: "#/channels/processMetroRunMessages" components: messages: emptyMessage: title: Empty message saveTramRunsToDB: payload: type: object properties: data: type: object $ref: "#/components/schemas/ICommonRunsInput" processMetroRunMessages: payload: type: object properties: data: type: object $ref: "#/components/schemas/IProcessMetroRunsMessagesInput" processRegionalBusRunMessages: payload: type: object properties: data: type: object $ref: "#/components/schemas/IProcessRegionalBusRunMessagesInput" saveArrivaCityRunsToDB: payload: type: object properties: data: type: object $ref: "#/components/schemas/IRegionalBusRunsInput" saveBusRunsToDB: payload: type: object properties: data: type: object $ref: "#/components/schemas/ICommonRunsInput" saveMetroRunsToDB: payload: type: object properties: data: type: object $ref: "#/components/schemas/IMetroRunsInput" propagateDelay: payload: type: object properties: data: type: object $ref: "#/components/schemas/IPropagateDelayInput" IPropagateTrainDelayInput: payload: type: object properties: data: type: object $ref: "#/components/schemas/ITripPositionTuple" EmptyObject: payload: type: object IMpvMessageInput: payload: type: object properties: m: type: object $ref: "#/components/schemas/IMpvMessageContent" updateGTFSTripId: payload: type: object properties: positions: type: array $ref: "#/components/schemas/IPositionTransformationResult" trips: type: array $ref: "#/components/schemas/IUpdateGTFSTripIdData" messageProperties: payload: type: object properties: positions: type: array items: type: object properties: trips_id: type: string trips: type: array $ref: "#/components/schemas/IUpdateGTFSTripIdData" IUpdateRunsGtfsTripInput: payload: type: object properties: run: type: object $ref: "#/components/schemas/ICommonRunsModel" run_message: type: object $ref: "#/components/schemas/ICommonRunsMessagesModel" IUpdateDelayInput: payload: type: object properties: updatedTrips: type: array items: oneOf: - $ref: "#/components/schemas/IUpdateDelayTripsIdsData" - $ref: "#/components/schemas/IUpdateDelayRunTripsData" positions: type: array items: $ref: "#/components/schemas/IPositionTransformationResult" schedule: type: array items: $ref: "#/components/schemas/IScheduleDto" IJISInfotext: payload: type: array items: $ref: "#/components/schemas/JisInfotext" schemas: IUpdateGTFSTripIdData: type: object properties: cis_line_short_name: type: [string, "null"] id: type: [string] start_asw_stop_id: type: [string, "null"] start_cis_stop_id: type: [integer, "null"] start_cis_stop_platform_code: type: [string, "null"] start_timestamp: type: [string, "null"] format: date-time agency_name_real: type: [string, "null"] agency_name_scheduled: type: [string, "null"] cis_line_id: type: [string, "null"] cis_trip_number: type: [integer, "null"] origin_route_name: type: [string, "null"] run_number: type: [integer, "null"] start_time: type: [string, "null"] vehicle_registration_number: type: [integer, "null"] vehicle_type_id: type: [integer, "null"] wheelchair_accessible: type: [boolean, "null"] IPositionTransformationResult: type: object properties: asw_last_stop_id: type: string nullable: true bearing: type: number nullable: true cis_last_stop_id: type: number nullable: true cis_last_stop_sequence: type: number nullable: true delay_stop_arrival: type: number nullable: true delay_stop_departure: type: number nullable: true is_canceled: type: boolean lat: type: number nullable: true lng: type: number nullable: true origin_time: type: string origin_timestamp: type: string format: date-time speed: type: number nullable: true state_position: type: string enum: [ off_track, at_stop, on_track, before_track, after_track, canceled, invisible, unknown, before_track_delayed, duplicate, mismatched, not_public, ] state_process: type: string enum: [tcp_input, udp_input, input, processed] is_tracked: type: boolean nullable: true trips_id: type: string required: - is_canceled - origin_time - origin_timestamp - state_position - state_process - trips_id ICommonRunsModel: type: object properties: id: type: string description: The unique identifier of the run. route_id: type: string description: The ID of the route. run_number: type: number description: The number of the run. line_short_name: type: string description: The short name of the line. registration_number: type: string description: The registration number of the vehicle. msg_start_timestamp: type: string description: The timestamp when the message was first sent. msg_last_timestamp: type: string description: The timestamp when the message was last sent. wheelchair_accessible: type: boolean description: Indicates if the vehicle is wheelchair accessible. ICommonRunsMessagesModel: type: object properties: id: type: number description: Autoincrement ID runs_id: type: string description: Associated foreign key lat: type: number description: Latitude lng: type: number description: Longitude actual_stop_asw_id: type: string description: Actual stop ASW ID actual_stop_timestamp_real: type: string format: date-time description: Actual stop timestamp (real) actual_stop_timestamp_scheduled: type: string format: date-time nullable: true description: Actual stop timestamp (scheduled) last_stop_asw_id: type: string description: Last stop ASW ID packet_number: type: string description: Packet number msg_timestamp: type: string format: date-time description: Message timestamp events: type: string enum: [P, O, V, T] description: TCP events IScheduleDto: type: object properties: trip_id: type: string service_id: type: string direction_id: type: number nullable: true shape_id: type: string nullable: true date: type: string route_id: type: string route_type: type: number enum: [0, 1, 2, 3, 4, 7, 11, 1700] route_short_name: type: string origin_route_name: type: string run_number: type: number is_regional: type: string is_substitute_transport: type: string is_night: type: string trip_headsign: type: string trip_short_name: type: string nullable: true block_id: type: string nullable: true exceptional: type: number min_stop_time: type: object properties: hours: type: number minutes: type: number required: - hours max_stop_time: type: object properties: hours: type: number minutes: type: number required: - hours start_timestamp: type: string end_timestamp: type: string first_stop_id: type: string last_stop_id: type: string trip_number: type: number nullable: true route_licence_number: type: number nullable: true requiredTurnaroundSeconds: type: number nullable: true IUpdateDelayTripsIdsData: type: object properties: id: type: string gtfs_trip_id: type: string gtfs_block_id: type: string gtfs_route_type: type: number gtfs_direction_id: type: number gtfs_shape_id: type: string start_timestamp: type: string end_timestamp: type: string run_number: type: number internal_run_number: type: number origin_route_name: type: string internal_route_name: type: string vehicle_registration_number: type: number IUpdateDelayRunTripsData: type: object properties: id: type: string gtfs_trip_id: type: string gtfs_block_id: type: string gtfs_route_type: type: number gtfs_direction_id: type: number gtfs_shape_id: type: string start_timestamp: type: string end_timestamp: type: string run_number: type: number internal_run_number: type: number origin_route_name: type: string internal_route_name: type: string vehicle_registration_number: type: number IMpvPositionProperties: type: object properties: alias: type: string asw: type: string azimut: type: string cpoz: type: string dopr: type: string doprSkut: type: string info: type: string kmenl: type: string lat: type: string lin: type: string lng: type: string np: type: string po: type: string rychl: type: string sled: type: string spoj: type: string t: type: string vuzevc: type: string zast: type: string zpoz_prij: type: string zpoz_odj: type: string zrus: type: string IMpvStopProperties: type: object properties: odj: type: string prij: type: string stan: type: string zast: type: string asw: type: string zpoz_odj: type: string zpoz_prij: type: string zpoz_typ_odj: type: string zpoz_typ_prij: type: string IMpvMessageContent: type: object properties: spoj: oneOf: - $ref: "#/components/schemas/IMpvPositionContent" - type: array items: $ref: "#/components/schemas/IMpvPositionContent" IMpvPositionContent: type: object properties: $: type: object $ref: "#/components/schemas/IMpvPositionProperties" ITripPositionTuple: type: object properties: position: type: object description: All known positions with their properties properties: type: type: string example: "FeatureCollection" features: type: array items: allOf: - $ref: "#/components/schemas/FeaturePoint" - type: object properties: properties: $ref: "#/components/schemas/IVPTripsPositionAttributes" required: - type trip: $ref: "#/components/schemas/IUpdateDelayRunTripsData" GeometryPoint: type: object description: GeoJson point properties: coordinates: type: array items: type: number example: [14.441252, 50.109318] description: Point type: type: string enum: - Point FeaturePoint: title: Feature Point type: object properties: geometry: type: object properties: type: type: string example: "Point" coordinates: $ref: "#/components/schemas/GeometryPoint" required: - coordinates - type properties: type: object type: type: string example: "Feature" required: - geometry - properties - type IVPTripsPositionAttributes: type: object properties: bearing: type: number nullable: true lat: type: number lng: type: number origin_time: type: string origin_timestamp: type: string format: date-time scheduled_timestamp: type: string nullable: true format: date-time delay: type: number nullable: true is_tracked: type: boolean id: type: string shape_dist_traveled: type: number nullable: true is_canceled: type: boolean state_position: $ref: "#/components/schemas/StatePositionEnum" state_process: $ref: "#/components/schemas/StateProcessEnum" tcp_event: oneOf: - $ref: "#/components/schemas/TCPEventEnum" - $ref: "#/components/schemas/RegionalBusEventEnum" nullable: true this_stop_sequence: type: number nullable: true this_stop_id: type: string nullable: true last_stop_sequence: type: number nullable: true last_stop_id: type: string nullable: true last_stop_name: type: string nullable: true last_stop_arrival_time: type: string nullable: true format: date-time last_stop_departure_time: type: string nullable: true format: date-time last_stop_headsign: type: string nullable: true next_stop_sequence: type: number nullable: true next_stop_id: type: string nullable: true next_stop_name: type: string nullable: true next_stop_arrival_time: type: string nullable: true format: date-time next_stop_departure_time: type: string nullable: true format: date-time valid_to: type: string nullable: true format: date-time GTFSRouteTypeEnum: type: number enum: [0, 1, 2, 3, 4, 7, 11, 1700] StatePositionEnum: type: string enum: [ off_track, at_stop, on_track, before_track, after_track, canceled, invisible, unknown, before_track_delayed, duplicate, mismatched, not_public, ] StateProcessEnum: type: string enum: [tcp_input, udp_input, input, processed] TCPEventEnum: type: string enum: [P, O, V, T] RegionalBusEventEnum: type: string enum: [R] IPropagateDelayInput: type: object properties: processedPositions: type: array items: $ref: "#/components/schemas/IProcessedPositions" trips: type: array items: oneOf: - $ref: "#/components/schemas/IUpdateDelayTripsIdsData" - $ref: "#/components/schemas/IUpdateDelayRunTripsData" IProcessedPositions: type: object properties: context: $ref: "#/components/schemas/IVPTripsLastPositionContext" positions: type: array items: $ref: "#/components/schemas/IPositionToUpdate" IVPTripsLastPositionContext: type: object properties: lastPositionId: type: string nullable: true lastPositionLat: type: number nullable: true lastPositionLng: type: number nullable: true lastPositionOriginTimestamp: type: number nullable: true lastPositionTracking: type: object description: All known positions with their properties properties: type: type: string example: "FeatureCollection" features: type: array items: allOf: - $ref: "#/components/schemas/FeaturePoint" - type: object properties: properties: $ref: "#/components/schemas/IVPTripsPositionAttributes" required: - type lastPositionCanceled: type: boolean nullable: true lastPositionLastStop: type: object properties: id: type: string nullable: true sequence: type: number nullable: true arrival_time: type: number nullable: true arrival_delay: type: number nullable: true departure_time: type: number nullable: true departure_delay: type: number nullable: true nullable: true lastPositionDelay: type: number nullable: true atStopStreak: $ref: "#/components/schemas/IVPTripsComputedPositionAtStopStreak" lastPositionBeforeTrackDelayed: type: object properties: delay: type: number nullable: true origin_timestamp: type: string format: date-time nullable: true lastPositionState: $ref: "#/components/schemas/StatePositionEnum" nullable: true lastPositionStateChange: type: string format: date-time nullable: true tripId: type: string required: - tripId IVPTripsComputedPositionAtStopStreak: type: object properties: firstPositionTimestamp: type: number nullable: true firstPositionDelay: type: number nullable: true stop_sequence: type: number nullable: true required: [] IPositionToUpdate: type: object properties: state_process: type: string state_position: type: string id: type: string gtfsData: $ref: "#/components/schemas/IComputationTrip" last_stop_headsign: type: string nullable: true this_stop_name: type: string delay_stop_arrival: type: number nullable: true delay_stop_departure: type: number nullable: true IComputationTrip: type: object properties: trip_id: type: string stop_times: type: array items: $ref: "#/components/schemas/IStopTime" shapes_anchor_points: type: array items: $ref: "#/components/schemas/IShapeAnchorPoint" shapes: type: array items: $ref: "#/components/schemas/IComputationTripShape" Shape: type: object properties: shape_dist_traveled: type: number shape_id: type: string shape_pt_lat: type: number shape_pt_lon: type: number shape_pt_sequence: type: number Stop: type: object properties: stop_id: type: string stop_lat: type: number stop_lon: type: number stop_name: type: string zone_id: type: string nullable: true wheelchair_boarding: $ref: "#/components/schemas/GtfsStopWheelchairBoardingEnum" GtfsStopWheelchairBoardingEnum: type: string enum: - UNKNOWN - ACCESSIBLE - NOT_ACCESSIBLE TripWithShapesAndStopTimes: type: object properties: shape_id: type: string shapes: type: array items: $ref: "#/components/schemas/Shape" nullable: true stop_times: type: array items: $ref: "#/components/schemas/IStopTime" nullable: true IStopTime: type: object properties: arrival_time_seconds: type: number departure_time_seconds: type: number shape_dist_traveled: type: number stop_id: type: string stop_sequence: type: number stop_headsign: type: string is_no_stop_waypoint: type: boolean stop: $ref: "#/components/schemas/Stop" IShapeAnchorPoint: type: object properties: index: type: number at_stop: type: boolean bearing: type: number coordinates: type: array items: type: number minItems: 2 maxItems: 2 distance_from_last_stop: type: number last_stop_sequence: type: number next_stop_sequence: type: number shape_dist_traveled: type: number this_stop_sequence: type: number nullable: true time_scheduled_seconds: type: number IComputationTripShape: type: object properties: dist: type: number coords: type: array items: type: number required: - dist - coords ICommonRunsInput: type: object properties: M: $ref: "#/components/schemas/ICommonRunsMessageContent" ICommonRunsMessageContent: type: object properties: V: oneOf: - $ref: "#/components/schemas/ICommonRunsMessagePropertiesWrapper" - type: array items: $ref: "#/components/schemas/ICommonRunsMessagePropertiesWrapper" ICommonRunsMessagePropertiesWrapper: type: object properties: $: $ref: "#/components/schemas/ICommonRunsMessageProperties" ICommonRunsMessageProperties: type: object properties: turnus: type: string line: type: string evc: type: string np: type: string lat: type: string lng: type: string akt: type: string takt: type: string konc: type: string tjr: type: string pkt: type: string tm: type: string events: $ref: "#/components/schemas/TCPEventEnum" ICommonRunsInputElement: type: object properties: data: $ref: "#/components/schemas/ICommonRunsMessagePropertiesWrapper" timestamp: type: string ICommonRunsInputData: type: object properties: data: oneOf: - $ref: "#/components/schemas/ICommonRunsMessagePropertiesWrapper" - type: array items: $ref: "#/components/schemas/ICommonRunsMessagePropertiesWrapper" timestamp: type: number MetroRunsMessageProperties: type: object properties: linka: type: string tm: type: string gvd: type: string required: - linka - tm MetroRunsTrainProperties: type: object properties: csp: type: string csr: type: string cv: type: string ko: type: string odch: type: string required: - csp - csr - cv - ko - odch MetroRunsTrainContent: type: object properties: $: $ref: "#/components/schemas/MetroRunsTrainProperties" MetroRunsMessageContent: type: object properties: $: $ref: "#/components/schemas/MetroRunsMessageProperties" vlak: oneOf: - $ref: "#/components/schemas/MetroRunsTrainContent" - type: array items: $ref: "#/components/schemas/MetroRunsTrainContent" IMetroRunsInput: type: object properties: m: $ref: "#/components/schemas/MetroRunsMessageContent" IRegionalBusRunsInput: type: object properties: M: $ref: "#/components/schemas/IRegionalBusRunsMessageContent" IRegionalBusRunsMessageContent: type: object properties: V: oneOf: - $ref: "#/components/schemas/IRegionalBusRunsMessagePropertiesWrapper" - type: array items: $ref: "#/components/schemas/IRegionalBusRunsMessagePropertiesWrapper" IRegionalBusRunsMessagePropertiesWrapper: type: object properties: $: $ref: "#/components/schemas/IRegionalBusRunsMessageProperties" IRegionalBusRunsMessageProperties: type: object properties: imei: type: string line: type: string conn: type: string events: type: string lat: type: string lng: type: string tm: type: string evc: type: string rych: type: string smer: type: string ITransformationInput: type: object properties: messages: type: array items: $ref: "#/components/schemas/IRegionalBusRunsMessagePropertiesWrapper" timestamp: type: number IProcessRegionalBusRunMessage: type: object properties: cis_line_id: type: string cis_trip_number: type: number registration_number: type: number require