@golemio/pid
Version:
Golemio PID Module
1,022 lines (1,010 loc) • 45.6 kB
YAML
openapi: 3.0.3
info:
title: 🚋 Public Transport | Golemio Input Gateway
description: >-
<p>
This is a placeholder description that is automatically replaced in the build process, see the <a href="https://gitlab.com/operator-ict/golemio/code/vp/input-gateway/-/blob/development/docs/openapi-header.yaml" target="_blank">/vp/input-gateway/docs/openapi-header.yaml</a> file.
</p>
version: 1.0.0
contact:
name: Golemio Prague Data Platform
email: golemio.cz
url: https://golemio.cz
servers:
- url: https://api.golemio.cz/v2
description: Main (production) server
- url: https://rabin.golemio.cz/v2
description: Test (development) server
tags:
- name: 🛤 Vehicle Positions
description: ""
- name: 🪧 JIS
description: ""
paths:
/vehiclepositions:
post:
summary: POST Vehicle Positions
description: ""
tags:
- 🛤 Vehicle Positions
parameters:
- in: header
name: Content-Type
schema:
type: string
example: "text/xml"
required: true
requestBody:
required: true
content:
text/xml:
schema:
$ref: "#/components/schemas/VehiclePositions"
examples:
xml:
$ref: "#/components/examples/VehiclePositionsBodyExample"
responses:
"204":
description: Successful Operation
"422":
description: Unprocessable Entity
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_description: "VehiclePositionsController validation failed: m.spoj.0.$.lin: Path `$.lin` is required."
error_message: "Unprocessable Entity"
error_status: 422
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Bad Request"
error_status: 400
"406":
description: Not Acceptable
"413":
description: Payload Too Large
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Request entity too large"
error_status: 413
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "API key is missing or invalid"
error_status: 401
headers:
WWW_Authenticate:
schema:
type: string
/ropidgtfs/presets:
post:
summary: POST Ropid GTFS Departure Presets
description: ""
tags:
- 🛤 Vehicle Positions
parameters:
- in: header
name: Content-Type
schema:
type: string
example: "application/json"
required: true
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/RopidGtfsPresets"
examples:
json:
$ref: "#/components/examples/RopidGtfsPresetsExample"
responses:
"204":
description: Successful Operation
"422":
description: Unprocessable Entity
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_info: "validation failed [{\"keyword\":\"type\",\"dataPath\":\"[0].routeName\",\"schemaPath\":\"#/items/properties/routeName/type\",\"params\":{\"type\":\"string\"},\"message\":\"should be string\"}]"
error_message: "Unprocessable Entity"
error_status: 422
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Bad Request"
error_status: 400
"406":
description: Not Acceptable
"413":
description: Payload Too Large
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Request entity too large"
error_status: 413
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "API key is missing or invalid"
error_status: 401
headers:
WWW_Authenticate:
schema:
type: string
/jis/events:
post:
summary: POST JIS events
description: ""
tags:
- 🪧 JIS
parameters:
- in: header
name: Content-Type
schema:
type: string
example: "application/json"
required: true
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/JISEvents"
examples:
json:
$ref: "#/components/examples/JISEventsExample"
responses:
"204":
description: Successful Operation
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Bad Request"
error_status: 400
"406":
description: Not Acceptable
"413":
description: Payload Too Large
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Request entity too large"
error_status: 413
"422":
description: Unprocessable Entity
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_info: "validation failed [{\"keyword\":\"type\",\"dataPath\":\"[0].severity_level\",\"schemaPath\":\"#/items/properties/severity_level/type\",\"params\":{\"type\":\"string\"},\"message\":\"should be string\"}]"
error_message: "Unprocessable Entity"
error_status: 422
/jis/infotexts:
post:
summary: POST JIS infotexts
description: ""
tags:
- 🪧 JIS
parameters:
- in: header
name: Content-Type
schema:
type: string
example: "application/json"
required: true
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/JISInfotexts"
examples:
json:
$ref: "#/components/examples/JISInfotextsExample"
responses:
"204":
description: Successful Operation
"400":
description: Bad Request
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Bad Request"
error_status: 400
"406":
description: Not Acceptable
"413":
description: Payload Too Large
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_message: "Request entity too large"
error_status: 413
"422":
description: Unprocessable Entity
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
example:
error_info: "validation failed [{\"keyword\":\"type\",\"dataPath\":\"[0].severity_level\",\"schemaPath\":\"#/items/properties/severity_level/type\",\"params\":{\"type\":\"string\"},\"message\":\"should be string\"}]"
error_message: "Unprocessable Entity"
error_status: 422
components:
schemas:
VehiclePositions:
title: Vehicle Positions
type: object
xml:
name: m
wrapped: true
properties:
disp:
type: string
example: "http://77.93.194.81:8716/api"
xml:
attribute: true
SpojArray:
type: array
items:
$ref: "#/components/schemas/VehiclePositionsSpoj"
VehiclePositionsSpoj:
title: Vehicle Positions Spoj
type: object
xml:
name: spoj
properties:
lin:
type: number
format: int64
example: 999999
xml:
attribute: true
alias:
type: string
example: "155"
xml:
attribute: true
spoj:
type: string
example: "1"
xml:
attribute: true
t:
type: string
example: "3"
xml:
attribute: true
sled:
type: string
example: "2"
xml:
attribute: true
np:
type: boolean
example: true
xml:
attribute: true
zrus:
type: boolean
example: false
xml:
attribute: true
lat:
type: number
format: float
example: 50.08323
xml:
attribute: true
lng:
type: number
format: float
example: 14.51035
xml:
attribute: true
cpoz:
type: string
example: "11:09:06"
xml:
attribute: true
po:
type: string
example: "1"
xml:
attribute: true
zast:
type: number
format: int64
example: 56699
xml:
attribute: true
zpoz_prij:
type: string
example: "426"
xml:
attribute: true
zpoz_odj:
type: string
example: "426"
xml:
attribute: true
ZastArray:
type: array
items:
$ref: "#/components/schemas/VehiclePositionsZast"
required:
- lin
- spoj
- t
- sled
- np
- zrus
VehiclePositionsZast:
title: Vehicle Positions Zast
type: object
xml:
name: zast
properties:
zast:
type: number
format: int64
example: 57517
xml:
attribute: true
stan:
type: string
example: "C"
xml:
attribute: true
prij:
type: string
example: ""
xml:
attribute: true
odj:
type: string
example: "00:50"
xml:
attribute: true
zpoz_typ:
type: string
example: "3"
xml:
attribute: true
zpoz_prij:
type: number
format: int64
example: 311
xml:
attribute: true
zpoz_odj:
type: number
format: int64
example: 311
xml:
attribute: true
required:
- zast
- zpoz_typ
Error:
title: Error
type: object
properties:
error_description:
type: string
error_message:
type: string
error_status:
type: number
format: int64
required:
- error_message
- error_status
RopidGtfsPresets:
title: Ropid GTFS Departure Presets
type: array
items:
type: object
required:
- routeName
- note
- apiVersion
- route
- query
properties:
routeName:
type: string
example: "apel-votice-1542"
note:
type: string
example: "LED na nádraží ve Voticích, bus"
apiVersion:
type: number
example: 2
route:
type: string
example: "/pid/departureboards"
query:
type: string
example: "?minutesAfter=300&limit=8&mode=departures&cisIds=40110"
isTesting:
type: boolean
example: true
JISEventEffectBase:
type: string
example: DETOUR
enum:
- DETOUR
- REDUCED_SERVICE
- MODIFIED_SERVICE
- SIGNIFICANT_DELAYS
- ADDITIONAL_SERVICE
- OTHER_EFFECT
- NO_SERVICE
- STOP_MOVED
- NO_EFFECT
- ACCESSIBILITY_ISSUE
- UNKNOWN_EFFECT
description: >
DETOUR - ODKLON \
REDUCED_SERVICE - ROZVAZANI_PRESTUPNI_VAZBY || NAHRADNI_DOPRAVA \
MODIFIED_SERVICE - PROVOZ_ZASTAVEN || PROVOZ_OMEZEN || NEODJETI_SPOJE || PRERUSENI_PROVOZU_METRA || PRERUSENI_PROVOZU_TRAMVAJI || PRERUSENI_PROVOZU || OMEZENI_PROVOZU \
SIGNIFICANT_DELAYS - ZPOZDENI_SPOJE || ZPOZDENI_SPOJU \
ADDITIONAL_SERVICE - POSILENI_SPOJU || ZAVEDENI_LINKY \
OTHER_EFFECT - OSTATNI || PROVOZ_OBNOVEN || PRISTUP_OMEZEN || OMEZENI_BEZBARIEROVEHO_PRISTUPU \
NO_SERVICE - STANICE_UZAVRENA || ZRUSENI_ZASTAVKY || ZRUSENI_LINKY \
MODIFIED_SERVICE - ZMENA_ZASTAVEK \
STOP_MOVED - PREMISTNENI_ZASTAVKY \
NO_EFFECT - BEZ_OPATRENI \
ACCESSIBILITY_ISSUE - OMEZENI_BEZBARIEROVEHO_PRISTUPU \,
UNKNOWN_EFFECT - NEZNAME_OPATRENI - fallback
JISEventEffect:
oneOf:
- $ref: "#/components/schemas/JISEventEffectBase"
- type: array
uniqueItems: true
minItems: 1
maxItems: 3
example: ["DETOUR","REDUCED_SERVICE"]
items:
$ref: "#/components/schemas/JISEventEffectBase"
JISEvents:
title: JIS events
type: array
items:
type: object
required:
- id
- type
- header_text
- cause
- cause_detail
- severity_level
- active_period
- effect
- effect_detail
- description_text
- url
- organization_name
- created_timestamp
- last_modified_timestamp
properties:
id:
type: string
format: uuid
description: Unique identifier of the event in the UUIDv4 format
example: e5cc7b38-79e1-4f7a-b8de-884971e23412
type:
type: string
example: INCIDENT
enum:
- INCIDENT
- DISRUPTION
- SERVICE_CHANGE
header_text:
type: object
properties:
cs:
type: string
example: Nehoda Jiřího z Poděbrad
en:
type: string
example: Accident at Jiřího z Poděbrad
nullable: true
required:
- cs
- en
cause:
type: string
example: ACCIDENT
enum:
- ACCIDENT
- STRIKE
- TECHNICAL_PROBLEM
- CONSTRUCTION
- WEATHER
- DEMONSTRATION
- POLICE_ACTIVITY
- MEDICAL_EMERGENCY
- OTHER_CAUSE
- UNKNOWN_CAUSE
- HOLIDAY
- MAINTENANCE
cause_detail:
type: object
properties:
cs:
type: string
example: Nehoda na křižovatce
nullable: true
en:
type: string
example: Accident at the intersection
nullable: true
severity_level:
type: string
example: SEVERE
enum:
- INFO
- WARNING
- SEVERE
description: |
INFO - priority 3 \
WARNING - priority 2 \
SEVERE - priority 1
active_period:
type: object
required:
- start
- end
properties:
start:
type: string
format: date-time
example: "2024-02-29T11:22:20.958Z"
end:
type: string
format: date-time
nullable: true
example: "2024-03-03T14:22:20.958Z"
description: The start and end date/time of the event validity
display_period:
type: object
required:
- start
- end
properties:
start:
type: string
format: date-time
example: "2024-02-29T11:22:20.958Z"
end:
type: string
format: date-time
nullable: true
example: "2024-03-03T14:22:20.958Z"
description: The start and end date/time of the event visibility
effect:
$ref: "#/components/schemas/JISEventEffect"
effect_detail:
type: object
properties:
cs:
type: string
example: Tramvaje jezdí několik zastávek jinudy.
en:
type: string
example: Trams are running a few stops differently.
nullable: true
required:
- cs
- en
description_text:
type: object
properties:
cs:
type: string
description: Event description in Czech
en:
type: string
nullable: true
description: Event description in English
required:
- cs
- en
description: Localized descriptions of the event
description_html:
type: object
properties:
cs:
type: string
description: Event description in Czech in html format
en:
type: string
nullable: true
description: Event description in English in html format
required:
- cs
- en
description: Localized descriptions of the event in html format
url:
type: object
properties:
cs:
type: string
format: uri
example: https://pid.cz/zmena/cs/nehoda-jiriho-z-podebrad
en:
type: string
format: uri
nullable: true
example: https://pid.cz/zmena/en/accident-jiriho-z-podebrad
required:
- cs
- en
organization_name:
type: string
example: ROPID
informed_entity:
type: object
nullable: true
properties:
routes:
type: array
nullable: true
items:
type: object
properties:
id:
type: string
description: Unique GTFS identifier of the affected route
required:
- id
last_modified_timestamp:
type: string
format: date-time
example: "2024-02-29T12:22:20.958Z"
description: Timestamp from when the event was last modified in VYMI
created_timestamp:
type: string
format: date-time
example: "2024-02-29T12:22:20.958Z"
description: Timestamp from when the event was created in VYMI
JISInfotexts:
title: JIS infotexts
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the infotext
severity_level:
type: string
enum:
- SEVERE
- WARNING
- INFO
description: Severity level of the infotext
display_type:
type: string
description: How the infotext is displayed
active_period:
type: object
properties:
start:
type: string
format: date-time
description: Start time of the active period
end:
type: string
format: date-time
description: End time of the active period
required:
- start
- end
description: The period during which the infotext is active
repeat:
type: object
nullable: true
description: Optional daily repeat schedule for the infotext
properties:
enabled:
type: boolean
description: Whether the infotext repeats on a daily schedule
time_start:
type: string
nullable: true
description: Daily repeat start time (HH:MM:SS)
time_end:
type: string
nullable: true
description: Daily repeat end time (HH:MM:SS)
required:
- enabled
description_text:
type: object
properties:
cs:
type: string
description: Description in Czech
en:
type: string
description: Description in English
required:
- cs
- en
description: Localized descriptions of the infotext
informed_entity:
type: object
nullable: true
properties:
stops:
type: array
nullable: true
items:
type: object
properties:
id:
type: string
description: Unique identifier for the stop
required:
- id
presets:
type: array
nullable: true
description: Departure presets connected to this infotext (optional, migration period)
items:
type: object
properties:
route_name:
type: string
description: Route name of the departure preset (ropid_departures_presets.route_name)
required:
- route_name
created_timestamp:
type: string
format: date-time
description: Timestamp when the infotext was created in VYMI
last_modified_timestamp:
type: string
format: date-time
description: Timestamp when the infotext was updated in VYMI
required:
- id
- severity_level
- display_type
- active_period
- description_text
- created_timestamp
- last_modified_timestamp
examples:
VehiclePositionsBodyExample:
value: |-
<?xml version="1.0" encoding="UTF-8"?>
<m disp="http://77.93.194.81:8716/api">
<spoj lin="999999" alias="155" spoj="1" t="3" sled="2" np="true" zrus="false" lat="50.08323" lng="14.51035" cpoz="11:09:06" po="1" zast="56699" zpoz_prij="426" zpoz_odj="426">
<zast zast="57517" stan="C" prij="" odj="11:00" zpoz_typ="3" zpoz_prij="311" zpoz_odj="311"></zast>
<zast zast="56699" stan="A" prij="" odj="11:01" zpoz_typ="3" zpoz_prij="351" zpoz_odj="351"></zast>
<zast zast="56699" stan="E" prij="" odj="11:02" zpoz_typ="3" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57515" stan="A" prij="" odj="11:04" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="56700" stan="A" prij="" odj="11:06" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57515" stan="B" prij="" odj="11:07" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="65151" stan="A" prij="" odj="11:09" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="65163" stan="A" prij="" odj="11:10" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57511" stan="B" prij="" odj="11:11" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57512" stan="A" prij="" odj="11:13" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57513" stan="A" prij="" odj="11:14" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57514" stan="B" prij="" odj="11:16" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="27902" stan="I" prij="" odj="11:18" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="27902" stan="G" prij="" odj="11:19" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="56703" stan="C" prij="11:20" odj="" zpoz_typ="0" zpoz_prij="-2147483648" zpoz_odj="-2147483648"></zast>
</spoj>
<spoj lin="999999" alias="155" spoj="2" t="3" sled="2" np="true" zrus="false" lat="50.08323" lng="14.51035" cpoz="00:02:16" po="1" zast="56699" zpoz_prij="426" zpoz_odj="426">
<zast zast="57517" stan="C" prij="" odj="23:50" zpoz_typ="3" zpoz_prij="311" zpoz_odj="311"></zast>
<zast zast="56699" stan="A" prij="" odj="23:51" zpoz_typ="3" zpoz_prij="351" zpoz_odj="351"></zast>
<zast zast="56699" stan="E" prij="" odj="23:52" zpoz_typ="3" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57515" stan="A" prij="" odj="23:54" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="56700" stan="A" prij="" odj="23:56" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57515" stan="B" prij="" odj="23:57" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="65151" stan="A" prij="" odj="23:59" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="65163" stan="A" prij="" odj="00:00" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57511" stan="B" prij="" odj="00:01" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57512" stan="A" prij="" odj="00:03" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57513" stan="A" prij="" odj="00:04" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57514" stan="B" prij="" odj="00:06" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="27902" stan="I" prij="" odj="00:08" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="27902" stan="G" prij="" odj="00:09" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="56703" stan="C" prij="00:10" odj="" zpoz_typ="0" zpoz_prij="-2147483648" zpoz_odj="-2147483648"></zast>
</spoj>
<spoj lin="999999" alias="155" spoj="3" t="3" sled="2" np="true" zrus="false" lat="50.08323" lng="14.51035" cpoz="00:51:16" po="1" zast="56699" zpoz_prij="426" zpoz_odj="426">
<zast zast="57517" stan="C" prij="" odj="00:50" zpoz_typ="3" zpoz_prij="311" zpoz_odj="311"></zast>
<zast zast="56699" stan="A" prij="" odj="00:51" zpoz_typ="3" zpoz_prij="351" zpoz_odj="351"></zast>
<zast zast="56699" stan="E" prij="" odj="00:52" zpoz_typ="3" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57515" stan="A" prij="" odj="00:54" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="56700" stan="A" prij="" odj="00:56" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57515" stan="B" prij="" odj="00:57" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="65151" stan="A" prij="" odj="00:59" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="65163" stan="A" prij="" odj="01:00" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57511" stan="B" prij="" odj="01:01" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57512" stan="A" prij="" odj="01:03" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57513" stan="A" prij="" odj="01:04" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="57514" stan="B" prij="" odj="01:06" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="27902" stan="I" prij="" odj="01:08" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="27902" stan="G" prij="" odj="01:09" zpoz_typ="2" zpoz_prij="426" zpoz_odj="426"></zast>
<zast zast="56703" stan="C" prij="01:10" odj="" zpoz_typ="0" zpoz_prij="-2147483648" zpoz_odj="-2147483648"></zast>
</spoj>
</m>
RopidGtfsPresetsExample:
value: |-
[
{
"routeName": "apex-zahradnimesto-6048",
"note": "Tablo Zahradní město z centra (APEX)",
"apiVersion": 2,
"route": "/pid/departureboards",
"query": "?minutesAfter=40&limit=6&mode=departures&filter=routeHeadingOnceNoGapFill&order=real&aswIds=2781_2&aswIds=2781_52&skip=atStop&airCondition=true",
"isTesting": true
},
{
"routeName": "apex-zahradnimesto-6048-kopie",
"note": "Tablo Zahradní město z centra (APEX)",
"apiVersion": 2,
"route": "/pid/departureboards",
"query": "?minutesAfter=40&limit=6&mode=departures&filter=routeHeadingOnceNoGapFill&order=real&aswIds=2781_2&aswIds=2781_52&skip=atStop&airCondition=true",
"isTesting": false
}
]
JISEventsExample:
value : |-
[
{
"id": "36fe0c55-5e03-4dd3-a64d-a53d1535f0a5",
"type": "INCIDENT",
"header_text": { "cs": "Libeňský zámek - U Kříže" },
"cause": "TECHNICAL_PROBLEM",
"cause_detail": {
"cs": "Překážka na trati, technická závada trolejbusu na kolejích"
},
"severity_level": "SEVERE",
"active_period": { "start": "2024-02-07T12:11:00.000Z", "end": null },
"display_period": { "start": "2024-02-07T12:11:00.000Z", "end": null },
"effect": ["MODIFIED_SERVICE", "DETOUR"],
"effect_detail": { "cs": "Provoz omezen" },
"description_text": {
"cs": "V Libni je omezen provoz tramvají. Důvodem je technická závada trolejbusu na kolejích."
},
"description_html": {
"cs": "<p>V Libni je omezen provoz tramvají. Důvodem je technická závada trolejbusu na kolejích.</p>"
},
"url": {
"cs": "https://dpp.cz/omezeni-a-mimoradne-udalosti/detail/test-0"
},
"informed_entity": {
"routes": [{ "id": "L24" }, { "id": "L10" }, { "id": "L3" }]
},
"organization_name": "OICT",
"created_timestamp": "2025-04-17T15:42:41.843Z",
"last_modified_timestamp": "2025-04-17T15:42:41.843Z"
}
]
JISInfotextsExample:
value : |-
[
{
"id": "1833020b-b8c2-4903-85d5-469b0a2ebc70",
"severity_level": "SEVERE",
"display_type": "INLINE",
"active_period": {
"start": "2024-12-05T11:12:00.000Z",
"end": "2025-01-30T23:00:00.000Z"
},
"repeat": null,
"description_text": {
"cs": "Test po aktualizaci Node.js",
"en": "This is a test"
},
"informed_entity": {
"stops": [
{
"id": "U31070Z20"
},
{
"id": "U32268Z1"
}
]
},
"created_timestamp": "2024-12-06T14:08:02.669Z",
"last_modified_timestamp": "2024-12-06T14:08:02.669Z"
},
{
"id": "178c4bff-b098-41a9-b0e7-d611bd3c54ac",
"severity_level": "INFO",
"display_type": "INLINE",
"active_period": {
"start": "2024-12-03T10:44:00.000Z",
"end": null
},
"description_text": {
"cs": "Tento text se zobrazí v budoucnosti a bude mít historii",
"en": null
},
"informed_entity": {
"stops": [
{
"id": "U85Z1P"
},
{
"id": "U876Z1P"
}
]
},
"created_timestamp": "2024-11-08T10:44:34.701Z",
"last_modified_timestamp": "2024-11-08T10:44:34.701Z"
},
{
"id": "a3f7c912-1e4b-4d8a-b6f0-9c2d7e5a0b3f",
"severity_level": "WARNING",
"display_type": "GENERAL",
"active_period": {
"start": "2024-12-01T00:00:00.000Z",
"end": null
},
"repeat": {
"enabled": true,
"time_start": "23:00:00",
"time_end": "04:30:00"
},
"description_text": {
"cs": "V nočních hodinách omezený provoz.",
"en": "Limited service during night hours."
},
"informed_entity": {
"stops": [
{
"id": "U72Z1P"
}
]
},
"created_timestamp": "2024-12-01T00:00:00.000Z",
"last_modified_timestamp": "2024-12-01T00:00:00.000Z"
}
]