@golemio/fypr 1.7.2-dev.2608202800 → 1.8.0-dev.2614520446

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/db/example/06_information_panels_presets.sql +67 -0
  2. package/db/migrations/postgresql/20260618085629-add-information-panels-state-index.js +16 -0
  3. package/db/migrations/postgresql/sqls/20260618085629-add-information-panels-state-index-down.sql +2 -0
  4. package/db/migrations/postgresql/sqls/20260618085629-add-information-panels-state-index-up.sql +6 -0
  5. package/dist/output-gateway/fypr/controllers/v1/V1FyprElementKindsController.d.ts +1 -0
  6. package/dist/output-gateway/fypr/controllers/v1/V1FyprElementKindsController.js +17 -2
  7. package/dist/output-gateway/fypr/controllers/v1/V1FyprElementKindsController.js.map +1 -1
  8. package/dist/output-gateway/fypr/data-access/FyprElementRepository.d.ts +2 -2
  9. package/dist/output-gateway/fypr/data-access/FyprElementRepository.js.map +1 -1
  10. package/dist/output-gateway/fypr/routers/v1/V1FyprElementKindsRouter.d.ts +1 -0
  11. package/dist/output-gateway/fypr/routers/v1/V1FyprElementKindsRouter.js +27 -17
  12. package/dist/output-gateway/fypr/routers/v1/V1FyprElementKindsRouter.js.map +1 -1
  13. package/dist/output-gateway/fypr/routers/v1/validators/InformationPanelsOnlyValidator.d.ts +4 -0
  14. package/dist/output-gateway/fypr/routers/v1/validators/InformationPanelsOnlyValidator.js +16 -0
  15. package/dist/output-gateway/fypr/routers/v1/validators/InformationPanelsOnlyValidator.js.map +1 -0
  16. package/dist/schema-definitions/const.d.ts +4 -0
  17. package/dist/schema-definitions/const.js +4 -1
  18. package/dist/schema-definitions/const.js.map +1 -1
  19. package/dist/schema-definitions/data-sources/DBFYPRElementsJSONSchema.js +2 -2
  20. package/dist/schema-definitions/data-sources/DBFYPRElementsJSONSchema.js.map +1 -1
  21. package/dist/schema-definitions/data-sources/interfaces/IDBFYPRElement.d.ts +2 -1
  22. package/dist/schema-definitions/index.d.ts +2 -1
  23. package/dist/schema-definitions/index.js +3 -1
  24. package/dist/schema-definitions/index.js.map +1 -1
  25. package/dist/schema-definitions/models/AbstractElementModel.d.ts +4 -7
  26. package/dist/schema-definitions/models/AbstractElementModel.js +1 -1
  27. package/dist/schema-definitions/models/AbstractElementModel.js.map +1 -1
  28. package/dist/schema-definitions/models/interfaces/IElement.d.ts +2 -1
  29. package/dist/schema-definitions/models/interfaces/fyprElementStates.d.ts +2 -0
  30. package/dist/schema-definitions/models/interfaces/fyprElementStates.js +6 -0
  31. package/dist/schema-definitions/models/interfaces/fyprElementStates.js.map +1 -0
  32. package/docs/implementation_documentation.md +11 -1
  33. package/docs/openapi-output.yaml +477 -204
  34. package/package.json +1 -1
@@ -159,6 +159,33 @@ paths:
159
159
  Extend the panel response with related resources. Currently only "routes" is
160
160
  supported — adds routes directly to each panel with preset routes grouped by
161
161
  preset name. Only valid for information-panels.
162
+ - name: state
163
+ in: query
164
+ required: false
165
+ style: form
166
+ explode: true
167
+ schema:
168
+ type: array
169
+ items:
170
+ type: string
171
+ enum:
172
+ - Plánováno
173
+ - V přípravě
174
+ - Hotovo
175
+ - Zrušeno
176
+ - Neplánováno
177
+ description: >-
178
+ Filter by element state. Repeat the parameter to match any of several states
179
+ (e.g. state=Hotovo&state=Plánováno). Only valid for information-panels.
180
+ - name: hasDeviceId
181
+ in: query
182
+ required: false
183
+ schema:
184
+ type: boolean
185
+ description: >-
186
+ Filter by presence of a device_id. true returns only panels that have a
187
+ device_id; false returns only panels without one. Only valid for
188
+ information-panels.
162
189
  responses:
163
190
  "200":
164
191
  description: OK
@@ -423,7 +450,251 @@ components:
423
450
  - error_status
424
451
 
425
452
  schemas:
453
+ ElementStateEnum:
454
+ type: string
455
+ nullable: true
456
+ enum:
457
+ - "Plánováno"
458
+ - "V přípravě"
459
+ - "Hotovo"
460
+ - "Zrušeno"
461
+ - "Neplánováno"
462
+ description: >-
463
+ State of the element (stav prvku). Common across all element kinds.
464
+
465
+ PhaseStateEnum:
466
+ type: string
467
+ nullable: true
468
+ enum:
469
+ - "Neobjednáno"
470
+ - "V přípravě"
471
+ - "Objednáno"
472
+ - "Probíhá"
473
+ - "Hotovo"
474
+ description: >-
475
+ State of a procurement phase (design, production, or realization).
476
+
477
+ InsuranceStateEnum:
478
+ type: string
479
+ nullable: true
480
+ enum:
481
+ - "V přípravě"
482
+ - "Objednáno"
483
+ - "Hotovo"
484
+ description: >-
485
+ State of the insurance policy for an element.
486
+
487
+ OrderStateEnum:
488
+ type: string
489
+ nullable: true
490
+ enum:
491
+ - "V přípravě"
492
+ - "Objednáno"
493
+ - "Hotovo"
494
+ description: >-
495
+ State of the procurement order for an element.
496
+
497
+ BuildingPermitStateEnum:
498
+ type: string
499
+ nullable: true
500
+ enum:
501
+ - "V plánu"
502
+ - "Probíhá"
503
+ - "Hotovo"
504
+ description: >-
505
+ State of the building permit process for an element.
506
+
507
+ YesNoPlanEnum:
508
+ type: string
509
+ nullable: true
510
+ enum:
511
+ - "ANO"
512
+ - "NE"
513
+ - "V PLÁNU"
514
+ description: >-
515
+ Three-state yes/no/planned indicator.
516
+
517
+ YesNoEnum:
518
+ type: string
519
+ nullable: true
520
+ enum:
521
+ - "ANO"
522
+ - "NE"
523
+ description: >-
524
+ Binary yes/no indicator.
525
+
526
+ CityDistrictEnum:
527
+ type: string
528
+ nullable: true
529
+ enum:
530
+ - "Praha 1"
531
+ - "Praha 2"
532
+ - "Praha 3"
533
+ - "Praha 4"
534
+ - "Praha 5"
535
+ - "Praha 6"
536
+ - "Praha 7"
537
+ - "Praha 8"
538
+ - "Praha 9"
539
+ - "Praha 10"
540
+ - "Praha 11"
541
+ - "Praha 12"
542
+ - "Praha 13"
543
+ - "Praha 14"
544
+ - "Praha 15"
545
+ - "Praha 16"
546
+ - "Praha 17"
547
+ - "Praha 18"
548
+ - "Praha 19"
549
+ - "Praha 20"
550
+ - "Praha 21"
551
+ - "Praha 22"
552
+ - "Praha-Běchovice"
553
+ - "Praha-Benice"
554
+ - "Praha-Březiněves"
555
+ - "Praha-Čakovice"
556
+ - "Praha-Ďáblice"
557
+ - "Praha-Dolní Chabry"
558
+ - "Praha-Dolní Měcholupy"
559
+ - "Praha-Dolní Počernice"
560
+ - "Praha-Dubeč"
561
+ - "Praha-Klánovice"
562
+ - "Praha-Koloděje"
563
+ - "Praha-Kolovraty"
564
+ - "Praha-Královice"
565
+ - "Praha-Křeslice"
566
+ - "Praha-Kunratice"
567
+ - "Praha-Libuš"
568
+ - "Praha-Lipence"
569
+ - "Praha-Lochkov"
570
+ - "Praha-Lysolaje"
571
+ - "Praha-Nebušice"
572
+ - "Praha-Nedvězí"
573
+ - "Praha-Petrovice"
574
+ - "Praha-Přední Kopanina"
575
+ - "Praha-Řeporyje"
576
+ - "Praha-Satalice"
577
+ - "Praha-Slivenec"
578
+ - "Praha-Suchdol"
579
+ - "Praha-Šeberov"
580
+ - "Praha-Štěrboholy"
581
+ - "Praha-Troja"
582
+ - "Praha-Újezd"
583
+ - "Praha-Velká Chuchle"
584
+ - "Praha-Vinoř"
585
+ - "Praha-Zbraslav"
586
+ - "Praha-Zličín"
587
+ - "Mimo HMP"
588
+ description: >-
589
+ Prague city district or municipality where the element is located.
590
+
591
+ ManagerEnum:
592
+ type: string
593
+ nullable: true
594
+ enum:
595
+ - "ROPID"
596
+ - "THMP"
597
+ - "TSK"
598
+ - "Apex"
599
+ - "Arriva"
600
+ - "BigBoard"
601
+ - "ČSAD Kladno"
602
+ - "ČSAD Střední Čechy"
603
+ - "DPP"
604
+ - "IDSK"
605
+ - "Město B.n.L.-St.Bol."
606
+ - "Město Benátky nad Jizerou"
607
+ - "Město Benešov"
608
+ - "Město Beroun"
609
+ - "Město Jesenice"
610
+ - "Město Kolín"
611
+ - "Město Kralupy nad Vltavou"
612
+ - "Město Mělník"
613
+ - "Město Mnichovo Hradiště"
614
+ - "Město Pečky"
615
+ - "Město Poděbrady"
616
+ - "Město Příbram"
617
+ - "Město Rožmitál pod Třemšínem"
618
+ - "Město Říčany"
619
+ - "Město Sázava"
620
+ - "Město Štětí"
621
+ - "Město Týnec nad Sázavou"
622
+ - "Město Votice"
623
+ - "Město Zruč nad Sázavou"
624
+ - "Městys Davle"
625
+ - "Obec Buš"
626
+ - "Obec Dolní Břežany"
627
+ - "Obec Malý Újezd"
628
+ - "Obec Přistoupim"
629
+ - "Obec Středokluky"
630
+ - "Obec Vestec"
631
+ - "Passerinvest"
632
+ - "SŽ"
633
+ - "Ostatní"
634
+ description: >-
635
+ Entity managing the element (správce prvku). Union of all kind-specific values.
636
+
637
+ OwnerEnum:
638
+ type: string
639
+ nullable: true
640
+ enum:
641
+ - "HMP"
642
+ - "ROPID"
643
+ - "TSK"
644
+ - "DPP"
645
+ - "Arriva"
646
+ - "BigBoard"
647
+ - "ČSAD Kladno"
648
+ - "ČSAD Střední Čechy"
649
+ - "IDSK"
650
+ - "Město B.n.L.-St.Bol."
651
+ - "Město Benátky nad Jizerou"
652
+ - "Město Benešov"
653
+ - "Město Beroun"
654
+ - "Město Jesenice"
655
+ - "Město Kolín"
656
+ - "Město Kralupy nad Vltavou"
657
+ - "Město Mělník"
658
+ - "Město Mnichovo Hradiště"
659
+ - "Město Pečky"
660
+ - "Město Poděbrady"
661
+ - "Město Příbram"
662
+ - "Město Rožmitál pod Třemšínem"
663
+ - "Město Říčany"
664
+ - "Město Sázava"
665
+ - "Město Štětí"
666
+ - "Město Týnec nad Sázavou"
667
+ - "Město Votice"
668
+ - "Město Zruč nad Sázavou"
669
+ - "Městys Davle"
670
+ - "Obec Buš"
671
+ - "Obec Dolní Břežany"
672
+ - "Obec Malý Újezd"
673
+ - "Obec Přistoupim"
674
+ - "Obec Středokluky"
675
+ - "Obec Vestec"
676
+ - "Passerinvest"
677
+ - "SŽ"
678
+ - "Ostatní"
679
+ description: >-
680
+ Entity owning the element (vlastník prvku). Union of all kind-specific values.
681
+
682
+ LandOwnerEnum:
683
+ type: string
684
+ nullable: true
685
+ enum:
686
+ - "HMP"
687
+ - "Passerinvest"
688
+ - "SŽ"
689
+ - "ČD"
690
+ - "Soukromá osoba"
691
+ - "Ostatní"
692
+ description: >-
693
+ Owner of the land parcel (vlastník pozemku). Union of all kind-specific values.
694
+
426
695
  FyprMetadataKindEntry:
696
+ description: >-
697
+ Metadata entry for a single element kind: navigation links and field translations.
427
698
  type: object
428
699
  required:
429
700
  - links
@@ -435,6 +706,8 @@ components:
435
706
  $ref: "#/components/schemas/FyprMetadataKindTranslations"
436
707
 
437
708
  FyprMetadataKindLinks:
709
+ description: >-
710
+ Array of navigation links for an element kind (rel + href pairs).
438
711
  type: array
439
712
  items:
440
713
  type: object
@@ -454,6 +727,8 @@ components:
454
727
  Path to the list endpoint for this element kind.
455
728
 
456
729
  FyprMetadataKindTranslations:
730
+ description: >-
731
+ Translation data for an element kind: kind-level names and per-attribute translations.
457
732
  type: object
458
733
  required:
459
734
  - kind
@@ -470,6 +745,8 @@ components:
470
745
  $ref: "#/components/schemas/FyprMetadataFieldTranslation"
471
746
 
472
747
  FyprMetadataKindTranslation:
748
+ description: >-
749
+ Czech names for an element kind (plural, singular) and its English database slug.
473
750
  type: object
474
751
  required:
475
752
  - slug_en
@@ -493,6 +770,8 @@ components:
493
770
  Czech singular name of the element kind.
494
771
 
495
772
  FyprMetadataFieldTranslation:
773
+ description: >-
774
+ Translation entry for a single element attribute: Czech slug and human-readable label.
496
775
  type: object
497
776
  required:
498
777
  - slug_cs
@@ -597,27 +876,27 @@ components:
597
876
  example: "Totem Palackeho namesti"
598
877
  description: Human-readable name of the element. May be null.
599
878
  state:
600
- type: string
879
+ allOf:
880
+ - $ref: "#/components/schemas/ElementStateEnum"
601
881
  nullable: false
602
882
  example: "Hotovo"
603
883
  description: >-
604
- Lifecycle state of the element (e.g. Plánováno, Neplánováno, Zrušeno, Hotovo, V přípravě).
605
- ).
884
+ Lifecycle state of the element. May not be null.
606
885
  owner:
607
- type: string
608
- nullable: true
886
+ allOf:
887
+ - $ref: "#/components/schemas/OwnerEnum"
609
888
  example: "ROPID"
610
889
  description: >-
611
890
  Organization or entity that owns the element. May be null.
612
891
  manager:
613
- type: string
614
- nullable: true
892
+ allOf:
893
+ - $ref: "#/components/schemas/ManagerEnum"
615
894
  example: "THMP"
616
895
  description: >-
617
896
  Organization or entity that manages the element. May be null.
618
897
  city_district:
619
- type: string
620
- nullable: true
898
+ allOf:
899
+ - $ref: "#/components/schemas/CityDistrictEnum"
621
900
  example: "Praha 6"
622
901
  description: >-
623
902
  Prague city district where the element is physically located.
@@ -648,10 +927,9 @@ components:
648
927
  planned_year_of_realization:
649
928
  type: string
650
929
  nullable: true
651
- example: "2025"
930
+ example: "rok 2025"
652
931
  description: >-
653
932
  Year in which the element is planned to be realized or installed.
654
- Stored as string to accommodate partial or estimated values.
655
933
  May be null.
656
934
  note:
657
935
  type: string
@@ -691,6 +969,8 @@ components:
691
969
  - source_updated_at
692
970
 
693
971
  DisplayCaseBase:
972
+ description: >-
973
+ Display case (vitrína) element. Extends ElementBase with display-case-specific fields.
694
974
  allOf:
695
975
  - $ref: "#/components/schemas/ElementBase"
696
976
  - type: object
@@ -701,14 +981,14 @@ components:
701
981
  stop_name:
702
982
  type: string
703
983
  nullable: true
704
- example: "Palackeho namesti"
984
+ example: "Palackého náměstí"
705
985
  description: >-
706
986
  Name of the public transport stop where the display case is installed.
707
987
  May be null if not yet associated with a stop.
708
988
  stop_direction:
709
989
  type: string
710
990
  nullable: true
711
- example: "smer Dejvicka"
991
+ example: "směr Dejvická"
712
992
  description: >-
713
993
  Direction indicator for the stop (e.g. towards a terminal station).
714
994
  May be null.
@@ -740,9 +1020,10 @@ components:
740
1020
  shelter_type:
741
1021
  type: string
742
1022
  nullable: true
743
- example: "standard"
1023
+ example: "Olgoj Chorchoj"
744
1024
  description: >-
745
- Type classification of the shelter or enclosure housing the display case.
1025
+ Type of the stop shelter (přístřešek) at which the display case
1026
+ is installed (e.g. "Repasovaný", "Olgoj Chorchoj", "Ostatní").
746
1027
  May be null.
747
1028
  shelter_id:
748
1029
  type: string
@@ -787,14 +1068,14 @@ components:
787
1068
  location_description:
788
1069
  type: string
789
1070
  nullable: true
790
- example: "Na sloupu u vchodu do metrostanice"
1071
+ example: "V přístřešku"
791
1072
  description: >-
792
- Human-readable description of the exact physical placement of the
793
- display case at the stop. May be null.
1073
+ Placement type of the display case at the stop
1074
+ (e.g. "Samostatně stojící", "V přístřešku"). May be null.
794
1075
  street_name:
795
1076
  type: string
796
1077
  nullable: true
797
- example: "Vaclavske namesti"
1078
+ example: "Václavské náměstí"
798
1079
  description: >-
799
1080
  Name of the street or square where the display case is located.
800
1081
  May be null.
@@ -830,10 +1111,10 @@ components:
830
1111
  cleaning_frequency:
831
1112
  type: string
832
1113
  nullable: true
833
- example: "weekly"
1114
+ example: "měsíčně"
834
1115
  description: >-
835
- Scheduled cleaning frequency for the display case (e.g. daily,
836
- weekly, monthly). May be null if no cleaning schedule is set.
1116
+ Scheduled cleaning frequency for the display case. Free-text field.
1117
+ May be null.
837
1118
 
838
1119
  InformationPanel:
839
1120
  description: >-
@@ -917,7 +1198,7 @@ components:
917
1198
  stop_name:
918
1199
  type: string
919
1200
  nullable: true
920
- example: "Palackeho namesti"
1201
+ example: "Palackého náměstí"
921
1202
  description: >-
922
1203
  Human-readable name of the stop where the panel is installed.
923
1204
  May be null.
@@ -959,9 +1240,9 @@ components:
959
1240
  Cadastral parcel number of the land where the panel is installed.
960
1241
  May be null.
961
1242
  land_owner:
962
- type: string
963
- nullable: true
964
- example: "Hlavni mesto Praha"
1243
+ allOf:
1244
+ - $ref: "#/components/schemas/LandOwnerEnum"
1245
+ example: "HMP"
965
1246
  description: >-
966
1247
  Owner of the land parcel. May be null.
967
1248
  workday_boarding_count:
@@ -981,24 +1262,24 @@ components:
981
1262
  location_description:
982
1263
  type: string
983
1264
  nullable: true
984
- example: "At the corner of Anglicka and Blanicka streets"
1265
+ example: "Na rohu Anglické a Blanické ulice"
985
1266
  description: >-
986
1267
  Free-text description of the panel's physical location.
987
1268
  May be null.
988
1269
  location_verification_on_street_light:
989
- type: string
990
- nullable: true
991
- example: "VO-12345"
1270
+ allOf:
1271
+ - $ref: "#/components/schemas/YesNoPlanEnum"
1272
+ example: "ANO"
992
1273
  description: >-
993
- Reference to the street light pole used to verify installation
994
- position. May be null.
1274
+ Whether the installation position was verified against a street
1275
+ light pole. May be null.
995
1276
  shelter_type:
996
1277
  type: string
997
1278
  nullable: true
998
- example: "standard"
1279
+ example: "Olgoj Chorchoj"
999
1280
  description: >-
1000
- Type or model of the shelter associated with this panel.
1001
- May be null.
1281
+ Type of the stop shelter (přístřešek) associated with this panel
1282
+ (e.g. "Repasovaný", "Olgoj Chorchoj", "Ostatní"). May be null.
1002
1283
  shelter_id:
1003
1284
  type: string
1004
1285
  nullable: true
@@ -1016,54 +1297,56 @@ components:
1016
1297
  surface_type:
1017
1298
  type: string
1018
1299
  nullable: true
1019
- example: "asphalt"
1300
+ example: "Asfalt"
1020
1301
  description: >-
1021
- Type of ground surface at the installation site. May be null.
1302
+ Type of ground surface at the installation site (e.g. "Asfalt",
1303
+ "Dlažba", "Mozaika", "Zeleň", "VO", "Ostatní"). May be null.
1022
1304
  connection_state:
1023
- type: string
1024
- nullable: true
1025
- example: "connected"
1305
+ allOf:
1306
+ - $ref: "#/components/schemas/YesNoPlanEnum"
1307
+ example: "ANO"
1026
1308
  description: >-
1027
- Current connectivity state of the panel (e.g. connected,
1028
- disconnected, pending). May be null.
1309
+ Whether the panel is connected to power. May be null.
1029
1310
  connection_type:
1030
1311
  type: string
1031
1312
  nullable: true
1032
1313
  example: "PRE"
1033
1314
  description: >-
1034
- Type of electrical power supply connection for the panel. May be null.
1315
+ Electrical power supply connection type (e.g. "PRE", "VO", "TSK",
1316
+ "SŽ", "Solární panel", "Baterie", "Ostatní"). May be null.
1035
1317
  connection_mode:
1036
1318
  type: string
1037
1319
  nullable: true
1038
- example: "static_ip"
1320
+ example: "Celodenní"
1039
1321
  description: >-
1040
- Network addressing mode used for the panel connection.
1041
- May be null.
1322
+ Power supply mode for the panel ("Celodenní", "Noční",
1323
+ "Lze vyčlenit 24x7"). May be null.
1042
1324
  priority:
1043
1325
  type: string
1044
1326
  nullable: true
1045
- example: "high"
1327
+ example: "p1"
1046
1328
  description: >-
1047
- Installation or maintenance priority assigned to this panel.
1048
- May be null.
1329
+ Installation or maintenance priority assigned to this panel
1330
+ ("p1" to "p5"). May be null.
1049
1331
  investor_action:
1050
1332
  type: string
1051
1333
  nullable: true
1052
- example: "ROPID-2024-001"
1334
+ example: "ROPID"
1053
1335
  description: >-
1054
- Investor action or project reference linked to this panel.
1336
+ Investor responsible for the action linked to this panel
1337
+ (e.g. "HMP", "DPP", "MČ", "THMP", "TSK", "ROPID", "SŽ", "Ostatní").
1055
1338
  May be null.
1056
1339
  design_request:
1057
1340
  type: string
1058
1341
  nullable: true
1059
- example: "PR-2024-042"
1342
+ example: "ANO"
1060
1343
  description: >-
1061
- Reference identifier for the design (projekce) request.
1344
+ Whether a design (projekce) has been requested ("ANO", "NE", "Zrušeno").
1062
1345
  May be null.
1063
1346
  design_state:
1064
- type: string
1065
- nullable: true
1066
- example: "completed"
1347
+ allOf:
1348
+ - $ref: "#/components/schemas/PhaseStateEnum"
1349
+ example: "Hotovo"
1067
1350
  description: >-
1068
1351
  Current state of the design phase. May be null.
1069
1352
  design_order_number:
@@ -1073,19 +1356,18 @@ components:
1073
1356
  description: >-
1074
1357
  Order number issued for the design phase. May be null.
1075
1358
  design_registry_publication:
1076
- type: string
1077
- nullable: true
1078
- example: "2024/042"
1359
+ allOf:
1360
+ - $ref: "#/components/schemas/YesNoEnum"
1361
+ example: "ANO"
1079
1362
  description: >-
1080
- Publication reference in the public procurement registry for the
1081
- design order. May be null.
1363
+ Whether the design order was published in the public procurement
1364
+ registry. May be null.
1082
1365
  design_invoice_paid:
1083
- type: string
1084
- nullable: true
1085
- example: "yes"
1366
+ allOf:
1367
+ - $ref: "#/components/schemas/YesNoEnum"
1368
+ example: "ANO"
1086
1369
  description: >-
1087
- Indicates whether the design phase invoice has been paid.
1088
- May be null.
1370
+ Whether the design phase invoice has been paid. May be null.
1089
1371
  production_order_number:
1090
1372
  type: string
1091
1373
  nullable: true
@@ -1093,25 +1375,24 @@ components:
1093
1375
  description: >-
1094
1376
  Order number issued for the production (vyroba) phase. May be null.
1095
1377
  production_state:
1096
- type: string
1097
- nullable: true
1098
- example: "in_progress"
1378
+ allOf:
1379
+ - $ref: "#/components/schemas/PhaseStateEnum"
1380
+ example: "Hotovo"
1099
1381
  description: >-
1100
1382
  Current state of the production phase. May be null.
1101
1383
  production_registry_publication:
1102
- type: string
1103
- nullable: true
1104
- example: "2024/142"
1384
+ allOf:
1385
+ - $ref: "#/components/schemas/YesNoEnum"
1386
+ example: "ANO"
1105
1387
  description: >-
1106
- Publication reference in the public procurement registry for the
1107
- production order. May be null.
1388
+ Whether the production order was published in the public procurement
1389
+ registry. May be null.
1108
1390
  production_invoice_paid:
1109
- type: string
1110
- nullable: true
1111
- example: "no"
1391
+ allOf:
1392
+ - $ref: "#/components/schemas/YesNoEnum"
1393
+ example: "ANO"
1112
1394
  description: >-
1113
- Indicates whether the production phase invoice has been paid.
1114
- May be null.
1395
+ Whether the production phase invoice has been paid. May be null.
1115
1396
  realization_request:
1116
1397
  type: boolean
1117
1398
  nullable: true
@@ -1120,9 +1401,9 @@ components:
1120
1401
  Whether a realization (realizace) request has been raised for
1121
1402
  this panel. May be null.
1122
1403
  realization_state:
1123
- type: string
1124
- nullable: true
1125
- example: "pending"
1404
+ allOf:
1405
+ - $ref: "#/components/schemas/PhaseStateEnum"
1406
+ example: "Hotovo"
1126
1407
  description: >-
1127
1408
  Current state of the realization phase. May be null.
1128
1409
  realization_order_number:
@@ -1132,19 +1413,18 @@ components:
1132
1413
  description: >-
1133
1414
  Order number issued for the realization phase. May be null.
1134
1415
  realization_registry_publication:
1135
- type: string
1136
- nullable: true
1137
- example: "2024/242"
1416
+ allOf:
1417
+ - $ref: "#/components/schemas/YesNoEnum"
1418
+ example: "ANO"
1138
1419
  description: >-
1139
- Publication reference in the public procurement registry for the
1140
- realization order. May be null.
1420
+ Whether the realization order was published in the public procurement
1421
+ registry. May be null.
1141
1422
  realization_invoice_paid:
1142
- type: string
1143
- nullable: true
1144
- example: "yes"
1423
+ allOf:
1424
+ - $ref: "#/components/schemas/YesNoEnum"
1425
+ example: "ANO"
1145
1426
  description: >-
1146
- Indicates whether the realization phase invoice has been paid.
1147
- May be null.
1427
+ Whether the realization phase invoice has been paid. May be null.
1148
1428
  name_for_visually_impaired:
1149
1429
  type: string
1150
1430
  nullable: true
@@ -1184,10 +1464,10 @@ components:
1184
1464
  data_source:
1185
1465
  type: string
1186
1466
  nullable: true
1187
- example: "golemio"
1467
+ example: "Golemio"
1188
1468
  description: >-
1189
- Identifier of the data source feeding real-time information to
1190
- this panel. May be null.
1469
+ Data source feeding real-time information to this panel
1470
+ (e.g. "Golemio", "MPV", "GTFS-RT", "CIS", "Ostatní"). May be null.
1191
1471
  imsi:
1192
1472
  type: string
1193
1473
  nullable: true
@@ -1198,9 +1478,10 @@ components:
1198
1478
  connection_point:
1199
1479
  type: string
1200
1480
  nullable: true
1201
- example: "cabinet-A3"
1481
+ example: "Přístřešek"
1202
1482
  description: >-
1203
- Specification of location type where the device is connected.
1483
+ Location type where the panel is connected to power
1484
+ (e.g. "Přístřešek", "VO", "Soukromá budova", "Ostatní"). May be null.
1204
1485
  connection_point_number:
1205
1486
  type: string
1206
1487
  nullable: true
@@ -1210,9 +1491,10 @@ components:
1210
1491
  foundation_type:
1211
1492
  type: string
1212
1493
  nullable: true
1213
- example: "concrete_block"
1494
+ example: "Klasický"
1214
1495
  description: >-
1215
- Type of physical foundation used to mount the panel. May be null.
1496
+ Type of physical foundation used to mount the panel
1497
+ ("Klasický", "Plochý", "Atyp"). May be null.
1216
1498
  warranty_end:
1217
1499
  type: string
1218
1500
  format: date
@@ -1277,7 +1559,7 @@ components:
1277
1559
  example: true
1278
1560
  description: >-
1279
1561
  Whether this panel has been formally handed over to OZP
1280
- (Odbor zelene a pro verejny prostor) for management. May be null.
1562
+ (Odbor životního prostředí) for management. May be null.
1281
1563
  dpp_documentation_request:
1282
1564
  type: boolean
1283
1565
  nullable: true
@@ -1315,8 +1597,8 @@ components:
1315
1597
  items:
1316
1598
  type: string
1317
1599
  example:
1318
- - "technical_drawing"
1319
- - "site_plan"
1600
+ - "Předávací protokol instalace."
1601
+ - "Zpráva o výchozí revizi."
1320
1602
  description: >-
1321
1603
  List of document types submitted to ROPID as part of the
1322
1604
  documentation package. May be null.
@@ -1334,7 +1616,8 @@ components:
1334
1616
  items:
1335
1617
  type: string
1336
1618
  example:
1337
- - "installation_protocol"
1619
+ - "Předávací protokol instalace."
1620
+ - "Zpráva o výchozí revizi."
1338
1621
  description: >-
1339
1622
  List of document types submitted to DPP as part of the
1340
1623
  documentation package. May be null.
@@ -1389,30 +1672,32 @@ components:
1389
1672
  cleaning_frequency:
1390
1673
  type: string
1391
1674
  nullable: true
1392
- example: "monthly"
1675
+ example: "měsíčně"
1393
1676
  description: >-
1394
- Scheduled cleaning frequency for this panel. May be null.
1677
+ Scheduled cleaning frequency for this panel. Free-text field.
1678
+ May be null.
1395
1679
  electricity_consumption_price:
1396
1680
  type: number
1397
- format: float
1681
+ format: double
1398
1682
  nullable: true
1399
1683
  example: 3.75
1400
1684
  description: >-
1401
- Unit price per kWh charged under the electricity supply contract.
1402
- Decimal values are permitted. May be null.
1685
+ Price for electricity consumption (cena za odběr elektřiny).
1686
+ May be null.
1403
1687
  construction_type:
1404
1688
  type: string
1405
1689
  nullable: true
1406
- example: "pole_mounted"
1690
+ example: "Samostatně stojící"
1407
1691
  description: >-
1408
- Type of physical construction used for this panel
1409
- (e.g. pole_mounted, wall_mounted, freestanding). May be null.
1692
+ Construction type of the panel (e.g. "Samostatně stojící",
1693
+ "V přístřešku", "V označníku", "Na konstrukci - VO", "Ostatní").
1694
+ May be null.
1410
1695
  panel_size:
1411
1696
  type: integer
1412
1697
  nullable: true
1413
- example: 6
1698
+ example: 5
1414
1699
  description: >-
1415
- Count of rows for text or data on the panel. May be null.
1700
+ Number of rows the information panel can display. May be null.
1416
1701
  design_price_without_vat:
1417
1702
  type: number
1418
1703
  format: float
@@ -1526,14 +1811,14 @@ components:
1526
1811
  street_name:
1527
1812
  type: string
1528
1813
  nullable: true
1529
- example: "Vaclavske namesti"
1814
+ example: "Václavské náměstí"
1530
1815
  description: >-
1531
1816
  Name of the street where the obelisk is physically located.
1532
1817
  May be null if the street name is not recorded.
1533
1818
  location_description:
1534
1819
  type: string
1535
1820
  nullable: true
1536
- example: "Near the main entrance of the metro station, pillar B."
1821
+ example: "U hlavního vchodu do stanice metra, sloup B."
1537
1822
  description: >-
1538
1823
  Free-text description of the obelisk's exact placement within
1539
1824
  its location. May be null.
@@ -1545,19 +1830,18 @@ components:
1545
1830
  Cadastral land parcel number identifying the plot on which the
1546
1831
  obelisk stands. May be null.
1547
1832
  land_owner:
1548
- type: string
1549
- nullable: true
1550
- example: "Hlavni mesto Praha"
1833
+ allOf:
1834
+ - $ref: "#/components/schemas/LandOwnerEnum"
1835
+ example: "HMP"
1551
1836
  description: >-
1552
- Name of the entity that owns the land parcel where the obelisk
1553
- is installed. May be null.
1837
+ Owner of the land parcel where the obelisk is installed. May be null.
1554
1838
  priority:
1555
1839
  type: string
1556
1840
  nullable: true
1557
- example: "HIGH"
1841
+ example: "p1"
1558
1842
  description: >-
1559
- Operational priority assigned to the obelisk for maintenance
1560
- scheduling purposes. May be null.
1843
+ Maintenance priority assigned to this obelisk ("p1" to "p5").
1844
+ May be null.
1561
1845
  asset_registered:
1562
1846
  type: boolean
1563
1847
  nullable: true
@@ -1580,24 +1864,22 @@ components:
1580
1864
  Indicates whether the obelisk is covered by an insurance
1581
1865
  policy. May be null if insurance status is not recorded.
1582
1866
  insurance_state:
1583
- type: string
1584
- nullable: true
1585
- example: "ACTIVE"
1867
+ allOf:
1868
+ - $ref: "#/components/schemas/InsuranceStateEnum"
1869
+ example: "V přípravě"
1586
1870
  description: >-
1587
- Current state of the insurance policy for the obelisk
1588
- (e.g. ACTIVE, EXPIRED). May be null.
1871
+ Current state of the insurance policy for the obelisk. May be null.
1589
1872
  handed_over_to_ozp:
1590
1873
  type: boolean
1591
1874
  nullable: true
1592
1875
  example: false
1593
1876
  description: >-
1594
- Indicates whether the obelisk has been formally handed over to
1595
- the OZP (Odbor zelene a prostredi) department for ongoing
1596
- management. May be null.
1877
+ Whether this obelisk has been formally handed over to OZP
1878
+ (Odbor životního prostředí) for management. May be null.
1597
1879
  comments:
1598
1880
  type: string
1599
1881
  nullable: true
1600
- example: "Surface damage reported on the north face. Scheduled for repair Q3 2025."
1882
+ example: "Poškození povrchu na severní straně."
1601
1883
  description: >-
1602
1884
  Free-text comments or operational notes associated with the
1603
1885
  obelisk. May be null.
@@ -1611,10 +1893,10 @@ components:
1611
1893
  construction_type:
1612
1894
  type: string
1613
1895
  nullable: true
1614
- example: "STEEL_FRAME"
1896
+ example: "Standard"
1615
1897
  description: >-
1616
- Type of construction used for the obelisk (e.g. STEEL_FRAME,
1617
- CONCRETE, COMPOSITE). May be null.
1898
+ Construction type of the obelisk ("Široký", "Standard", "Úzký").
1899
+ May be null.
1618
1900
  price_without_vat:
1619
1901
  type: number
1620
1902
  nullable: true
@@ -1656,10 +1938,10 @@ components:
1656
1938
  location_description:
1657
1939
  type: string
1658
1940
  nullable: true
1659
- example: "Near bus stop exit B, adjacent to pedestrian crossing"
1941
+ example: "U výstupu B ze zastávky, vedle přechodu pro chodce."
1660
1942
  description: >-
1661
1943
  Free-text description of the precise installation location.
1662
- May be null if not yet recorded.
1944
+ May be null.
1663
1945
  land_parcel_number:
1664
1946
  type: string
1665
1947
  nullable: true
@@ -1668,12 +1950,11 @@ components:
1668
1950
  Cadastral land parcel number of the plot on which the signpost
1669
1951
  is installed. May be null.
1670
1952
  land_owner:
1671
- type: string
1672
- nullable: true
1673
- example: "Hlavni mesto Praha"
1953
+ allOf:
1954
+ - $ref: "#/components/schemas/LandOwnerEnum"
1955
+ example: "HMP"
1674
1956
  description: >-
1675
- Name of the land parcel owner. May be null if ownership has not
1676
- been determined.
1957
+ Owner of the land parcel where the signpost is installed. May be null.
1677
1958
  street_light_number:
1678
1959
  type: string
1679
1960
  nullable: true
@@ -1691,10 +1972,10 @@ components:
1691
1972
  priority:
1692
1973
  type: string
1693
1974
  nullable: true
1694
- example: "HIGH"
1975
+ example: "p1"
1695
1976
  description: >-
1696
- Installation or maintenance priority classification assigned to
1697
- this signpost. May be null.
1977
+ Maintenance priority assigned to this signpost ("p1" to "p5").
1978
+ May be null.
1698
1979
  asset_registered:
1699
1980
  type: boolean
1700
1981
  nullable: true
@@ -1717,24 +1998,22 @@ components:
1717
1998
  Indicates whether the signpost is covered by an insurance policy.
1718
1999
  May be null if insurance status is unknown.
1719
2000
  insurance_state:
1720
- type: string
1721
- nullable: true
1722
- example: "ACTIVE"
2001
+ allOf:
2002
+ - $ref: "#/components/schemas/InsuranceStateEnum"
2003
+ example: "V přípravě"
1723
2004
  description: >-
1724
- Current state of the insurance coverage for the signpost
1725
- (e.g. ACTIVE, EXPIRED). May be null.
2005
+ Current state of the insurance coverage for the signpost. May be null.
1726
2006
  handed_over_to_ozp:
1727
2007
  type: boolean
1728
2008
  nullable: true
1729
2009
  example: false
1730
2010
  description: >-
1731
- Indicates whether the signpost has been formally handed over
1732
- to OZP (maintenance department) for ongoing administration.
1733
- May be null.
2011
+ Whether this signpost has been formally handed over to OZP
2012
+ (Odbor životního prostředí) for management. May be null.
1734
2013
  comments:
1735
2014
  type: string
1736
2015
  nullable: true
1737
- example: "Requires re-painting before next season."
2016
+ example: "Nutno přelakovat před příští sezonou."
1738
2017
  description: >-
1739
2018
  Free-text comments or operational notes recorded by field staff.
1740
2019
  May be null.
@@ -1748,10 +2027,10 @@ components:
1748
2027
  construction_type:
1749
2028
  type: string
1750
2029
  nullable: true
1751
- example: "STEEL_POLE"
2030
+ example: "Samostatně stojící"
1752
2031
  description: >-
1753
- Type of construction or structural form of the signpost
1754
- (e.g. STEEL_POLE, WALL_MOUNTED). May be null.
2032
+ Construction type of the signpost ("Samostatně stojící",
2033
+ "Na konstrukci - VO", "Totem"). May be null.
1755
2034
  price_without_vat:
1756
2035
  type: number
1757
2036
  format: double
@@ -1786,14 +2065,14 @@ components:
1786
2065
  panel_size:
1787
2066
  type: string
1788
2067
  nullable: true
1789
- example: "Standart"
2068
+ example: "Standard"
1790
2069
  description: >-
1791
- Size of the totem's display panel (e.g. "Standart", "Atyp").
1792
- May be null if not yet specified.
2070
+ Size of the totem's display panel ("Standard", "Atyp", "Mini",
2071
+ "Menší"). May be null.
1793
2072
  locality:
1794
2073
  type: string
1795
2074
  nullable: true
1796
- example: "Palackeho namesti"
2075
+ example: "Palackého náměstí"
1797
2076
  description: >-
1798
2077
  Named locality or area where the totem is installed.
1799
2078
  May be null.
@@ -1803,37 +2082,35 @@ components:
1803
2082
  items:
1804
2083
  type: string
1805
2084
  example:
1806
- - "metro_a"
1807
- - "bus"
2085
+ - "metro"
1808
2086
  description: >-
1809
- List of icon identifiers displayed on the totem face (e.g. transit
1810
- mode icons). May be null if no icons are configured.
2087
+ List of transit mode icons displayed on the totem face
2088
+ (e.g. "metro", "vlak", "S", "P+R"). May be null.
1811
2089
  line:
1812
2090
  type: array
1813
2091
  nullable: true
1814
2092
  items:
1815
2093
  type: string
1816
2094
  example:
1817
- - "119"
1818
- - "218"
2095
+ - "A"
1819
2096
  description: >-
1820
- Transit line identifiers served at or referenced by this totem.
1821
- May be null.
2097
+ Metro or rail lines associated with this totem
2098
+ (e.g. "A", "B", "C", "D", "vlak"). May be null.
1822
2099
  priority:
1823
2100
  type: integer
1824
2101
  nullable: true
1825
2102
  example: 1
1826
2103
  description: >-
1827
- Installation or operational priority rank for this totem.
1828
- Integer value; lower numbers indicate higher priority.
2104
+ Installation or operational priority rank for this totem (1–5).
1829
2105
  May be null.
1830
2106
  site_survey:
1831
2107
  type: string
1832
2108
  nullable: true
1833
- example: "Provedeno 2024-03-15"
2109
+ example: "Realizováno"
1834
2110
  description: >-
1835
- Free-text record of the site survey result or reference.
1836
- May be null if no survey has been conducted.
2111
+ State of the site survey (místní šetření) for this totem
2112
+ (e.g. "Realizováno", "K realizaci", "Prověřit - THMP",
2113
+ "Nelze osadit"). May be null.
1837
2114
  installation_height:
1838
2115
  type: string
1839
2116
  nullable: true
@@ -1871,12 +2148,11 @@ components:
1871
2148
  Indicates whether a building permit has been obtained for this
1872
2149
  totem installation. May be null if status is unknown.
1873
2150
  building_permit_state:
1874
- type: string
1875
- nullable: true
1876
- example: "Plánováno"
2151
+ allOf:
2152
+ - $ref: "#/components/schemas/BuildingPermitStateEnum"
2153
+ example: "Hotovo"
1877
2154
  description: >-
1878
- Current state of the building permit process
1879
- (e.g. Plánováno, Neplánováno, Zrušeno, Hotovo). May be null.
2155
+ Current state of the building permit process. May be null.
1880
2156
  location_note:
1881
2157
  type: string
1882
2158
  nullable: true
@@ -1892,12 +2168,11 @@ components:
1892
2168
  Reference or summary of the formal site survey report.
1893
2169
  May be null if no report exists.
1894
2170
  order_state:
1895
- type: string
1896
- nullable: true
1897
- example: "IN_PROGRESS"
2171
+ allOf:
2172
+ - $ref: "#/components/schemas/OrderStateEnum"
2173
+ example: "Hotovo"
1898
2174
  description: >-
1899
- Current state of the procurement order for this totem
1900
- (e.g. DRAFT, SUBMITTED, IN_PROGRESS, COMPLETED). May be null.
2175
+ Current state of the procurement order for this totem. May be null.
1901
2176
  order_number:
1902
2177
  type: string
1903
2178
  nullable: true
@@ -1954,7 +2229,7 @@ components:
1954
2229
  stop_name:
1955
2230
  type: string
1956
2231
  nullable: true
1957
- example: "Palackeho namesti"
2232
+ example: "Palackého náměstí"
1958
2233
  description: >-
1959
2234
  Name of the public transport stop associated with this totem.
1960
2235
  May be null.
@@ -2032,17 +2307,16 @@ components:
2032
2307
  nullable: true
2033
2308
  example: false
2034
2309
  description: >-
2035
- Indicates whether the totem has been formally handed over to the
2036
- OZP (public space department) for ongoing maintenance.
2037
- May be null.
2310
+ Whether this totem has been formally handed over to OZP
2311
+ (Odbor životního prostředí) for management. May be null.
2038
2312
  ropid_documentation_submitted:
2039
2313
  type: array
2040
2314
  nullable: true
2041
2315
  items:
2042
2316
  type: string
2043
2317
  example:
2044
- - "technical_spec"
2045
- - "as_built_drawing"
2318
+ - "Předávací protokol"
2319
+ - "Zpráva o výchozí revizi"
2046
2320
  description: >-
2047
2321
  List of documentation items submitted to ROPID as part of the
2048
2322
  handover package. May be null.
@@ -2076,12 +2350,11 @@ components:
2076
2350
  Prague Public Transit (DPP) internal priority rank for this totem.
2077
2351
  Lower values indicate higher priority. May be null.
2078
2352
  insurance_state:
2079
- type: string
2080
- nullable: true
2081
- example: "ACTIVE"
2353
+ allOf:
2354
+ - $ref: "#/components/schemas/InsuranceStateEnum"
2355
+ example: "V přípravě"
2082
2356
  description: >-
2083
- Current state of the insurance coverage for this totem
2084
- (e.g. ACTIVE, EXPIRED, NOT_REQUIRED). May be null.
2357
+ Current state of the insurance coverage for this totem. May be null.
2085
2358
  comments:
2086
2359
  type: string
2087
2360
  nullable: true
@@ -2125,18 +2398,18 @@ components:
2125
2398
  cleaning_frequency:
2126
2399
  type: string
2127
2400
  nullable: true
2128
- example: "monthly"
2401
+ example: "měsíčně"
2129
2402
  description: >-
2130
- Scheduled cleaning frequency for this totem
2131
- (e.g. weekly, monthly, quarterly). May be null.
2403
+ Scheduled cleaning frequency for this totem. Free-text field.
2404
+ May be null.
2132
2405
  electricity_consumption_price:
2133
2406
  type: number
2134
2407
  format: double
2135
2408
  nullable: true
2136
- example: 3500.00
2409
+ example: 3.75
2137
2410
  description: >-
2138
- Annual electricity consumption cost for this totem in Czech crowns,
2139
- excluding VAT. May be null.
2411
+ Price for electricity consumption (cena za odběr elektřiny).
2412
+ May be null.
2140
2413
  ropid_element_id:
2141
2414
  type: string
2142
2415
  nullable: true
@@ -2147,10 +2420,10 @@ components:
2147
2420
  construction_type:
2148
2421
  type: string
2149
2422
  nullable: true
2150
- example: "STANDALONE"
2423
+ example: "VO"
2151
2424
  description: >-
2152
- Construction or mounting type of the totem
2153
- (e.g. STANDALONE, POLE_MOUNTED, WALL_MOUNTED). May be null.
2425
+ Construction type of the totem ("SS", "VO", "TV", "Digi Panel").
2426
+ May be null.
2154
2427
  production_price_without_vat:
2155
2428
  type: number
2156
2429
  format: double