@golemio/fypr 1.1.0 → 1.1.1-dev.2366155514

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.
@@ -4,8 +4,9 @@ info:
4
4
  title: 🗿 FYPR API
5
5
  description: >-
6
6
  <p>
7
- This is a placeholder description that is automatically replaced in the build process, see <a href="https://gitlab.com/operator-ict/golemio/code/vp/output-gateway/-/blob/development/docs/openapi-header.yaml" target="_blank">/vp/output-gateway/docs/openapi-header.yaml</a>.
7
+ Data about physical (on-site) information elements of the Legible Prague system.
8
8
  </p>
9
+ <p>Developed by <a href="https://operatorict.cz">operatorict.cz</a></p>
9
10
  version: 1.0.0
10
11
  contact:
11
12
  name: Golemio Prague Data Platform
@@ -19,31 +20,1708 @@ servers:
19
20
  description: Test (development) server
20
21
 
21
22
  tags:
22
- - name: 🗿 FYPR (v1)
23
- description: Data about physical (on-site) information elements of the Legible Prague system in form of an API.
23
+ - name: FYPR (v1)
24
+ description: Data about physical (on-site) information elements of the Legible Prague system.
25
+
26
+ security:
27
+ - ApiKeyAuth: []
24
28
 
25
29
  paths:
26
- # TODO: Replace status with actual endpoints
27
- /status:
30
+ /v1/fypr/display-cases:
31
+ get:
32
+ tags:
33
+ - FYPR (v1)
34
+ summary: GET All Display Cases
35
+ operationId: listDisplayCases
36
+ parameters:
37
+ - $ref: "#/components/parameters/limit"
38
+ - $ref: "#/components/parameters/offset"
39
+ responses:
40
+ "200":
41
+ description: OK
42
+
43
+ content:
44
+ application/json:
45
+ schema:
46
+ type: array
47
+ items:
48
+ $ref: "#/components/schemas/DisplayCase"
49
+ "400":
50
+ $ref: "#/components/responses/BadRequestError"
51
+ "401":
52
+ $ref: "#/components/responses/UnauthorizedError"
53
+
54
+ /v1/fypr/information-panels:
55
+ get:
56
+ tags:
57
+ - FYPR (v1)
58
+ summary: GET All Information Panels
59
+ operationId: listInformationPanels
60
+ parameters:
61
+ - $ref: "#/components/parameters/limit"
62
+ - $ref: "#/components/parameters/offset"
63
+ responses:
64
+ "200":
65
+ description: OK
66
+
67
+ content:
68
+ application/json:
69
+ schema:
70
+ type: array
71
+ items:
72
+ $ref: "#/components/schemas/InformationPanel"
73
+ "400":
74
+ $ref: "#/components/responses/BadRequestError"
75
+ "401":
76
+ $ref: "#/components/responses/UnauthorizedError"
77
+
78
+ /v1/fypr/obelisks:
79
+ get:
80
+ tags:
81
+ - FYPR (v1)
82
+ summary: GET All Obelisks
83
+ operationId: listObelisks
84
+ parameters:
85
+ - $ref: "#/components/parameters/limit"
86
+ - $ref: "#/components/parameters/offset"
87
+ responses:
88
+ "200":
89
+ description: OK
90
+
91
+ content:
92
+ application/json:
93
+ schema:
94
+ type: array
95
+ items:
96
+ $ref: "#/components/schemas/Obelisk"
97
+ "400":
98
+ $ref: "#/components/responses/BadRequestError"
99
+ "401":
100
+ $ref: "#/components/responses/UnauthorizedError"
101
+
102
+ /v1/fypr/signposts:
103
+ get:
104
+ tags:
105
+ - FYPR (v1)
106
+ summary: GET All Signposts
107
+ operationId: listSignposts
108
+ parameters:
109
+ - $ref: "#/components/parameters/limit"
110
+ - $ref: "#/components/parameters/offset"
111
+ responses:
112
+ "200":
113
+ description: OK
114
+
115
+ content:
116
+ application/json:
117
+ schema:
118
+ type: array
119
+ items:
120
+ $ref: "#/components/schemas/Signpost"
121
+ "400":
122
+ $ref: "#/components/responses/BadRequestError"
123
+ "401":
124
+ $ref: "#/components/responses/UnauthorizedError"
125
+
126
+ /v1/fypr/totems:
28
127
  get:
29
128
  tags:
30
- - 🗿 FYPR (v1)
129
+ - FYPR (v1)
130
+ summary: GET All Totems
131
+ operationId: listTotems
132
+ parameters:
133
+ - $ref: "#/components/parameters/limit"
134
+ - $ref: "#/components/parameters/offset"
31
135
  responses:
32
136
  "200":
33
137
  description: OK
34
138
 
139
+ content:
140
+ application/json:
141
+ schema:
142
+ type: array
143
+ items:
144
+ $ref: "#/components/schemas/Totem"
145
+ "400":
146
+ $ref: "#/components/responses/BadRequestError"
147
+ "401":
148
+ $ref: "#/components/responses/UnauthorizedError"
149
+
35
150
  components:
36
- headers:
37
- LastModified:
38
- description: Timestamp of the latest resource update.
151
+ securitySchemes:
152
+ ApiKeyAuth:
153
+ type: apiKey
154
+ in: header
155
+ name: X-Access-Token
156
+ description: >-
157
+ Golemio API key. Obtain at https://api.golemio.cz/api-keys
158
+
159
+ parameters:
160
+ limit:
161
+ name: limit
162
+ in: query
163
+ required: false
164
+ example: 10
39
165
  schema:
40
- type: string
41
- example: "2024-08-12T12:40:30.000Z"
42
- CacheControlNoCache:
43
- description: Cache control directive for caching proxies
166
+ type: integer
167
+ description: >-
168
+ Limits number of retrieved items.
169
+
170
+ offset:
171
+ name: offset
172
+ in: query
173
+ required: false
174
+ example: 0
44
175
  schema:
45
- type: string
46
- example: no-store, no-cache, must-revalidate
176
+ type: integer
177
+ description: Offset for pagination. The default value is 0.
178
+
179
+ schemas:
180
+ DisplayCase:
181
+ description: >-
182
+ Fully composed DisplayCase schema for list responses. Combines DisplayCaseBase
183
+ (writable display-case-specific and base fields) with server-set read-only fields
184
+ from ElementReadOnly. The required array enforces that id and source_updated_at
185
+ are always present in responses.
186
+ allOf:
187
+ - $ref: "#/components/schemas/ElementReadOnly"
188
+ - $ref: "#/components/schemas/DisplayCaseBase"
189
+ - type: object
190
+ required:
191
+ - id
192
+ - source_updated_at
193
+
194
+ DisplayCaseBase:
195
+ allOf:
196
+ - $ref: "#/components/schemas/ElementBase"
197
+ - type: object
198
+ description: >-
199
+ Writable fields specific to the DisplayCase element type. Extends ElementBase
200
+ via allOf with 19 display-case-specific properties. No id or timestamps.
201
+ properties:
202
+ stop_name:
203
+ type: string
204
+ nullable: true
205
+ example: "Palackeho namesti"
206
+ description: >-
207
+ Name of the public transport stop where the display case is installed.
208
+ May be null if not yet associated with a stop.
209
+ stop_direction:
210
+ type: string
211
+ nullable: true
212
+ example: "smer Dejvicka"
213
+ description: >-
214
+ Direction indicator for the stop (e.g. towards a terminal station).
215
+ May be null.
216
+ platform_code:
217
+ type: string
218
+ nullable: true
219
+ example: "A"
220
+ description: >-
221
+ Platform or stand code at the stop where the display case is located.
222
+ May be null.
223
+ stop_type:
224
+ type: array
225
+ nullable: true
226
+ items:
227
+ type: string
228
+ example:
229
+ - "bus"
230
+ - "tram"
231
+ description: >-
232
+ List of transport mode types served by the associated stop
233
+ (e.g. bus, tram, metro). May be null if stop type is unknown.
234
+ thmp_stop_id:
235
+ type: string
236
+ nullable: true
237
+ example: "U123456"
238
+ description: >-
239
+ Stop identifier from the THMP (Prague Transport Information System).
240
+ May be null if not linked to a THMP stop.
241
+ shelter_type:
242
+ type: string
243
+ nullable: true
244
+ example: "standard"
245
+ description: >-
246
+ Type classification of the shelter or enclosure housing the display case.
247
+ May be null.
248
+ shelter_id:
249
+ type: string
250
+ nullable: true
251
+ example: "P-1234"
252
+ description: >-
253
+ Identifier of the shelter unit that contains this display case.
254
+ May be null if not housed in a tracked shelter.
255
+ qr_code:
256
+ type: string
257
+ nullable: true
258
+ example: "https://pid.cz/qr/dc-001"
259
+ description: >-
260
+ QR code value or URL associated with the display case for passenger
261
+ information access. May be null.
262
+ supplier:
263
+ type: string
264
+ nullable: true
265
+ example: "JCDecaux"
266
+ description: >-
267
+ Name of the company or contractor that supplied or installed the
268
+ display case. May be null.
269
+ comments:
270
+ type: string
271
+ nullable: true
272
+ example: "Poloha zmenena v rijnu 2023"
273
+ description: >-
274
+ Free-text operational comments or notes about the display case entered
275
+ by field staff. May be null.
276
+ asw_node_id:
277
+ type: string
278
+ nullable: true
279
+ example: "500003"
280
+ description: >-
281
+ Node identifier from the ASW (Automated Stop Management) system
282
+ linking the display case to a stop node. May be null.
283
+ asw_stop_id:
284
+ type: string
285
+ nullable: true
286
+ example: "900001234"
287
+ description: >-
288
+ Stop identifier from the ASW (Automated Stop Management) system.
289
+ May be null.
290
+ location_description:
291
+ type: string
292
+ nullable: true
293
+ example: "Na sloupu u vchodu do metrostanice"
294
+ description: >-
295
+ Human-readable description of the exact physical placement of the
296
+ display case at the stop. May be null.
297
+ street_name:
298
+ type: string
299
+ nullable: true
300
+ example: "Vaclavske namesti"
301
+ description: >-
302
+ Name of the street or square where the display case is located.
303
+ May be null.
304
+ ropid_element_id:
305
+ type: string
306
+ nullable: true
307
+ example: "ROPID-DC-00421"
308
+ description: >-
309
+ Element identifier assigned by ROPID (Prague Integrated Transport
310
+ organizer). May be null if not yet registered with ROPID.
311
+ price_without_vat:
312
+ type: number
313
+ format: double
314
+ nullable: true
315
+ example: 48500.00
316
+ description: >-
317
+ Acquisition or installation price of the display case excluding VAT,
318
+ in Czech crowns (CZK). May be null if cost data is unavailable.
319
+ serial_number:
320
+ type: string
321
+ nullable: true
322
+ example: "SN-2023-00789"
323
+ description: >-
324
+ Manufacturer serial number of the display case unit. Used for asset
325
+ tracking and warranty management. May be null.
326
+ thmp_element_number:
327
+ type: string
328
+ nullable: true
329
+ example: "THMP-DC-0056"
330
+ description: >-
331
+ Element number assigned by the THMP (Prague Transport Information
332
+ System). May be null if not registered in THMP.
333
+ cleaning_frequency:
334
+ type: string
335
+ nullable: true
336
+ example: "weekly"
337
+ description: >-
338
+ Scheduled cleaning frequency for the display case (e.g. daily,
339
+ weekly, monthly). May be null if no cleaning schedule is set.
340
+
341
+ ElementBase:
342
+ type: object
343
+ description: >-
344
+ Writable base fields shared by all FYPR element types. No id or timestamps.
345
+ Composed via allOf by each typed element schema.
346
+ required:
347
+ - document_id
348
+ - kind
349
+ properties:
350
+ document_id:
351
+ type: string
352
+ nullable: false
353
+ example: "abc123def456"
354
+ description: >-
355
+ Unique document identifier sourced from the upstream CMS (Strapi).
356
+ Used as the stable external reference for deduplication.
357
+ uid:
358
+ type: string
359
+ format: uuid
360
+ nullable: true
361
+ example: "3fa85f64-5717-4562-b3fc-2c963f66afa6"
362
+ description: >-
363
+ Optional external UUID assigned to the physical element by the
364
+ field operations team. May be null for elements not yet assigned.
365
+ kind:
366
+ type: string
367
+ nullable: false
368
+ enum:
369
+ - totem
370
+ - information_panel
371
+ - display_case
372
+ - obelisk
373
+ - signpost
374
+ example: "totem"
375
+ description: >-
376
+ Discriminator field identifying the element type. Determines which
377
+ typed schema applies (Totem, InformationPanel, DisplayCase, Obelisk,
378
+ Signpost).
379
+ name:
380
+ type: string
381
+ nullable: true
382
+ example: "Totem Palackeho namesti"
383
+ description: Human-readable name of the element. May be null.
384
+ state:
385
+ type: string
386
+ nullable: true
387
+ example: "REALIZED"
388
+ description: >-
389
+ Lifecycle state of the element (e.g. PLANNED, IN_PROGRESS,
390
+ REALIZED). Sourced from CMS. May be null.
391
+ owner:
392
+ type: string
393
+ nullable: true
394
+ example: "ROPID"
395
+ description: >-
396
+ Organization or entity that owns the element. May be null.
397
+ city_district:
398
+ type: string
399
+ nullable: true
400
+ example: "Praha 6"
401
+ description: >-
402
+ Prague city district where the element is physically located.
403
+ May be null.
404
+ lat:
405
+ type: number
406
+ format: double
407
+ nullable: true
408
+ example: 50.0755
409
+ description: >-
410
+ WGS-84 latitude coordinate of the element's installation site.
411
+ May be null if coordinates are not yet surveyed.
412
+ lon:
413
+ type: number
414
+ format: double
415
+ nullable: true
416
+ example: 14.4378
417
+ description: >-
418
+ WGS-84 longitude coordinate of the element's installation site.
419
+ May be null if coordinates are not yet surveyed.
420
+ map_link:
421
+ type: string
422
+ nullable: true
423
+ example: "https://mapy.cz/s/example"
424
+ description: >-
425
+ URL to an external map view showing the element location.
426
+ May be null.
427
+ planned_year_of_realization:
428
+ type: string
429
+ nullable: true
430
+ example: "2025"
431
+ description: >-
432
+ Year in which the element is planned to be realized or installed.
433
+ Stored as string to accommodate partial or estimated values.
434
+ May be null.
435
+ note:
436
+ type: string
437
+ nullable: true
438
+ example: "Installed near bus stop exit B."
439
+ description: >-
440
+ Free-text operational note attached to the element by field staff.
441
+ May be null.
442
+ handover:
443
+ type: boolean
444
+ nullable: true
445
+ example: true
446
+ description: >-
447
+ Indicates whether the element has been handed over to the
448
+ maintenance team. May be null if handover status is unknown.
449
+ handover_date:
450
+ type: string
451
+ format: date
452
+ nullable: true
453
+ example: "2024-08-12"
454
+ description: >-
455
+ Date on which the element was formally handed over to the
456
+ maintenance team. ISO 8601 date. May be null.
457
+
458
+ ElementId:
459
+ type: string
460
+ format: uuid
461
+ example: "1b75c16b-d5a3-40ca-8560-5a7dc011655d"
462
+ description: >-
463
+ Unique identifier for an element. UUID v4, server-generated.
464
+
465
+ ElementReadOnly:
466
+ type: object
467
+ description: >-
468
+ Server-set fields that clients can only read. All properties carry
469
+ readOnly: true. Composed via allOf into each typed element schema.
470
+ properties:
471
+ id:
472
+ allOf:
473
+ - $ref: "#/components/schemas/ElementId"
474
+ readOnly: true
475
+ description: >-
476
+ Server-generated UUID primary key. Immutable after creation.
477
+ source_created_at:
478
+ type: string
479
+ format: date-time
480
+ readOnly: true
481
+ example: "2024-01-15T08:30:00.000Z"
482
+ description: >-
483
+ Timestamp when the record was first created in the upstream CMS
484
+ (Strapi). ISO 8601 UTC. Server-set, not writable by clients.
485
+ source_updated_at:
486
+ type: string
487
+ format: date-time
488
+ readOnly: true
489
+ example: "2024-08-12T12:40:30.000Z"
490
+ description: >-
491
+ Timestamp of the most recent update in the upstream CMS (Strapi).
492
+ ISO 8601 UTC. Server-set, not writable by clients.
493
+ source_published_at:
494
+ type: string
495
+ format: date-time
496
+ readOnly: true
497
+ example: "2024-08-12T13:00:00.000Z"
498
+ description: >-
499
+ Timestamp when the record was published in the upstream CMS
500
+ (Strapi). ISO 8601 UTC. Server-set, not writable by clients.
501
+
502
+ InformationPanel:
503
+ description: >-
504
+ Fully composed information panel schema. Combines InformationPanelBase (writable
505
+ type-specific and base fields) with ElementReadOnly (server-set timestamps and id).
506
+ Returned by the list endpoint GET /v1/information-panels.
507
+ allOf:
508
+ - $ref: "#/components/schemas/ElementReadOnly"
509
+ - $ref: "#/components/schemas/InformationPanelBase"
510
+ - type: object
511
+ required:
512
+ - id
513
+ - source_updated_at
514
+
515
+ InformationPanelBase:
516
+ description: >-
517
+ Writable fields for an information panel element. Extends ElementBase via allOf
518
+ with 75 type-specific properties. Compose with ElementReadOnly to obtain the
519
+ full InformationPanel read schema.
520
+ allOf:
521
+ - $ref: "#/components/schemas/ElementBase"
522
+ - type: object
523
+ properties:
524
+ stop_name:
525
+ type: string
526
+ nullable: true
527
+ example: "Palackeho namesti"
528
+ description: >-
529
+ Human-readable name of the stop where the panel is installed.
530
+ May be null.
531
+ stop_direction:
532
+ type: string
533
+ nullable: true
534
+ example: "Smichov"
535
+ description: >-
536
+ Direction label shown on the panel for the associated stop.
537
+ May be null.
538
+ platform_code:
539
+ type: string
540
+ nullable: true
541
+ example: "A"
542
+ description: >-
543
+ Platform or stand identifier within the stop. May be null.
544
+ stop_type:
545
+ type: array
546
+ nullable: true
547
+ items:
548
+ type: string
549
+ example:
550
+ - "bus"
551
+ - "tram"
552
+ description: >-
553
+ List of transport mode types served at the stop (e.g. bus, tram,
554
+ metro). May be null.
555
+ thmp_stop_id:
556
+ type: string
557
+ nullable: true
558
+ example: "U100Z1P"
559
+ description: >-
560
+ Stop identifier in the THMP (Technicka hromadna mestska preprava)
561
+ registry. May be null.
562
+ land_parcel_number:
563
+ type: string
564
+ nullable: true
565
+ example: "1234/5"
566
+ description: >-
567
+ Cadastral parcel number of the land where the panel is installed.
568
+ May be null.
569
+ land_owner:
570
+ type: string
571
+ nullable: true
572
+ example: "Hlavni mesto Praha"
573
+ description: >-
574
+ Owner of the land parcel. May be null.
575
+ workday_boarding_count:
576
+ type: integer
577
+ nullable: true
578
+ example: 1250
579
+ description: >-
580
+ Average number of passengers boarding at this stop on a workday.
581
+ Integer count. May be null.
582
+ lines:
583
+ type: string
584
+ nullable: true
585
+ example: "9, 22, 57"
586
+ description: >-
587
+ Comma-separated list of line numbers served at the stop.
588
+ May be null.
589
+ location_description:
590
+ type: string
591
+ nullable: true
592
+ example: "At the corner of Anglicka and Blanicka streets"
593
+ description: >-
594
+ Free-text description of the panel's physical location.
595
+ May be null.
596
+ location_verification_on_street_light:
597
+ type: string
598
+ nullable: true
599
+ example: "VO-12345"
600
+ description: >-
601
+ Reference to the street light pole used to verify installation
602
+ position. May be null.
603
+ shelter_type:
604
+ type: string
605
+ nullable: true
606
+ example: "standard"
607
+ description: >-
608
+ Type or model of the shelter associated with this panel.
609
+ May be null.
610
+ shelter_id:
611
+ type: string
612
+ nullable: true
613
+ example: "SH-0042"
614
+ description: >-
615
+ Identifier of the shelter associated with this panel.
616
+ May be null.
617
+ street_light_number:
618
+ type: string
619
+ nullable: true
620
+ example: "VO-00123"
621
+ description: >-
622
+ Reference number of the street light pole carrying this panel.
623
+ May be null.
624
+ surface_type:
625
+ type: string
626
+ nullable: true
627
+ example: "asphalt"
628
+ description: >-
629
+ Type of ground surface at the installation site. May be null.
630
+ connection_state:
631
+ type: string
632
+ nullable: true
633
+ example: "connected"
634
+ description: >-
635
+ Current connectivity state of the panel (e.g. connected,
636
+ disconnected, pending). May be null.
637
+ connection_type:
638
+ type: string
639
+ nullable: true
640
+ example: "ethernet"
641
+ description: >-
642
+ Technology used for the panel's data connection (e.g. ethernet,
643
+ GSM, LTE). May be null.
644
+ connection_mode:
645
+ type: string
646
+ nullable: true
647
+ example: "static_ip"
648
+ description: >-
649
+ Network addressing mode used for the panel connection.
650
+ May be null.
651
+ priority:
652
+ type: string
653
+ nullable: true
654
+ example: "high"
655
+ description: >-
656
+ Installation or maintenance priority assigned to this panel.
657
+ May be null.
658
+ investor_action:
659
+ type: string
660
+ nullable: true
661
+ example: "ROPID-2024-001"
662
+ description: >-
663
+ Investor action or project reference linked to this panel.
664
+ May be null.
665
+ design_request:
666
+ type: string
667
+ nullable: true
668
+ example: "PR-2024-042"
669
+ description: >-
670
+ Reference identifier for the design (projekce) request.
671
+ May be null.
672
+ design_state:
673
+ type: string
674
+ nullable: true
675
+ example: "completed"
676
+ description: >-
677
+ Current state of the design phase. May be null.
678
+ design_order_number:
679
+ type: string
680
+ nullable: true
681
+ example: "OBJ-PROJ-2024-042"
682
+ description: >-
683
+ Order number issued for the design phase. May be null.
684
+ design_registry_publication:
685
+ type: string
686
+ nullable: true
687
+ example: "2024/042"
688
+ description: >-
689
+ Publication reference in the public procurement registry for the
690
+ design order. May be null.
691
+ design_invoice_paid:
692
+ type: string
693
+ nullable: true
694
+ example: "yes"
695
+ description: >-
696
+ Indicates whether the design phase invoice has been paid.
697
+ May be null.
698
+ production_order_number:
699
+ type: string
700
+ nullable: true
701
+ example: "OBJ-VYR-2024-042"
702
+ description: >-
703
+ Order number issued for the production (vyroba) phase. May be null.
704
+ production_state:
705
+ type: string
706
+ nullable: true
707
+ example: "in_progress"
708
+ description: >-
709
+ Current state of the production phase. May be null.
710
+ production_registry_publication:
711
+ type: string
712
+ nullable: true
713
+ example: "2024/142"
714
+ description: >-
715
+ Publication reference in the public procurement registry for the
716
+ production order. May be null.
717
+ production_invoice_paid:
718
+ type: string
719
+ nullable: true
720
+ example: "no"
721
+ description: >-
722
+ Indicates whether the production phase invoice has been paid.
723
+ May be null.
724
+ realization_request:
725
+ type: boolean
726
+ nullable: true
727
+ example: true
728
+ description: >-
729
+ Whether a realization (realizace) request has been raised for
730
+ this panel. May be null.
731
+ realization_state:
732
+ type: string
733
+ nullable: true
734
+ example: "pending"
735
+ description: >-
736
+ Current state of the realization phase. May be null.
737
+ realization_order_number:
738
+ type: string
739
+ nullable: true
740
+ example: "OBJ-REA-2024-042"
741
+ description: >-
742
+ Order number issued for the realization phase. May be null.
743
+ realization_registry_publication:
744
+ type: string
745
+ nullable: true
746
+ example: "2024/242"
747
+ description: >-
748
+ Publication reference in the public procurement registry for the
749
+ realization order. May be null.
750
+ realization_invoice_paid:
751
+ type: string
752
+ nullable: true
753
+ example: "yes"
754
+ description: >-
755
+ Indicates whether the realization phase invoice has been paid.
756
+ May be null.
757
+ name_for_visually_impaired:
758
+ type: string
759
+ nullable: true
760
+ example: "Palackeho namesti, smer Smichov"
761
+ description: >-
762
+ Accessible name of the stop used in audio announcements for
763
+ visually impaired passengers. May be null.
764
+ voice_day:
765
+ type: string
766
+ nullable: true
767
+ example: "08:00-22:00"
768
+ description: >-
769
+ Voice announcement schedule for daytime operation. May be null.
770
+ voice_night:
771
+ type: string
772
+ nullable: true
773
+ example: "22:00-08:00"
774
+ description: >-
775
+ Voice announcement schedule for night-time operation. May be null.
776
+ templates:
777
+ type: string
778
+ nullable: true
779
+ example: "template_v3"
780
+ description: >-
781
+ Display template identifier or name used to render content on
782
+ this panel. May be null.
783
+ preset:
784
+ type: string
785
+ nullable: true
786
+ example: "default"
787
+ description: >-
788
+ Preset configuration profile applied to this panel. May be null.
789
+ data_source:
790
+ type: string
791
+ nullable: true
792
+ example: "golemio"
793
+ description: >-
794
+ Identifier of the data source feeding real-time information to
795
+ this panel. May be null.
796
+ imsi:
797
+ type: string
798
+ nullable: true
799
+ example: "230013000012345"
800
+ description: >-
801
+ IMSI (International Mobile Subscriber Identity) of the SIM card
802
+ installed in this panel. May be null.
803
+ connection_point:
804
+ type: string
805
+ nullable: true
806
+ example: "cabinet-A3"
807
+ description: >-
808
+ Identifier of the electrical or network connection point used by
809
+ this panel. May be null.
810
+ connection_point_number:
811
+ type: string
812
+ nullable: true
813
+ example: "CP-007"
814
+ description: >-
815
+ Sequential number of the connection point within its cabinet or
816
+ junction. May be null.
817
+ foundation_type:
818
+ type: string
819
+ nullable: true
820
+ example: "concrete_block"
821
+ description: >-
822
+ Type of physical foundation used to mount the panel. May be null.
823
+ warranty_end:
824
+ type: string
825
+ format: date
826
+ nullable: true
827
+ example: "2027-12-31"
828
+ description: >-
829
+ Date on which the manufacturer's warranty for this panel expires.
830
+ ISO 8601 date. May be null.
831
+ initial_revision:
832
+ type: string
833
+ format: date
834
+ nullable: true
835
+ example: "2024-06-01"
836
+ description: >-
837
+ Date of the first technical revision carried out on this panel.
838
+ ISO 8601 date. May be null.
839
+ next_revision:
840
+ type: string
841
+ format: date
842
+ nullable: true
843
+ example: "2025-06-01"
844
+ description: >-
845
+ Date of the next scheduled technical revision. ISO 8601 date.
846
+ May be null.
847
+ electronics_service:
848
+ type: boolean
849
+ nullable: true
850
+ example: true
851
+ description: >-
852
+ Whether the panel is covered by an electronics service contract.
853
+ May be null.
854
+ electronics_service_end:
855
+ type: string
856
+ format: date
857
+ nullable: true
858
+ example: "2026-03-31"
859
+ description: >-
860
+ Date on which the electronics service contract expires.
861
+ ISO 8601 date. May be null.
862
+ asset_registered:
863
+ type: boolean
864
+ nullable: true
865
+ example: true
866
+ description: >-
867
+ Whether this panel has been registered in the asset management
868
+ system. May be null.
869
+ asset_number:
870
+ type: string
871
+ nullable: true
872
+ example: "MAJ-2024-0042"
873
+ description: >-
874
+ Asset management system identifier for this panel. May be null.
875
+ insurance:
876
+ type: boolean
877
+ nullable: true
878
+ example: false
879
+ description: >-
880
+ Whether this panel is covered by an insurance policy. May be null.
881
+ handed_over_to_ozp:
882
+ type: boolean
883
+ nullable: true
884
+ example: true
885
+ description: >-
886
+ Whether this panel has been formally handed over to OZP
887
+ (Odbor zelene a pro verejny prostor) for management. May be null.
888
+ dpp_documentation_request:
889
+ type: boolean
890
+ nullable: true
891
+ example: true
892
+ description: >-
893
+ Whether documentation for DPP (Dopravni podnik Praha) has been
894
+ requested. May be null.
895
+ dpp_documentation_handover_date:
896
+ type: string
897
+ format: date
898
+ nullable: true
899
+ example: "2024-09-15"
900
+ description: >-
901
+ Date on which documentation was handed over to DPP.
902
+ ISO 8601 date. May be null.
903
+ design_deadline:
904
+ type: string
905
+ format: date
906
+ nullable: true
907
+ example: "2024-04-30"
908
+ description: >-
909
+ Contractual deadline for completing the design phase.
910
+ ISO 8601 date. May be null.
911
+ production_deadline:
912
+ type: string
913
+ format: date
914
+ nullable: true
915
+ example: "2024-07-31"
916
+ description: >-
917
+ Contractual deadline for completing the production phase.
918
+ ISO 8601 date. May be null.
919
+ ropid_documentation_submitted:
920
+ type: array
921
+ nullable: true
922
+ items:
923
+ type: string
924
+ example:
925
+ - "technical_drawing"
926
+ - "site_plan"
927
+ description: >-
928
+ List of document types submitted to ROPID as part of the
929
+ documentation package. May be null.
930
+ ropid_documentation_handover_date:
931
+ type: string
932
+ format: date
933
+ nullable: true
934
+ example: "2024-08-20"
935
+ description: >-
936
+ Date on which documentation was handed over to ROPID.
937
+ ISO 8601 date. May be null.
938
+ dpp_documentation_submitted:
939
+ type: array
940
+ nullable: true
941
+ items:
942
+ type: string
943
+ example:
944
+ - "installation_protocol"
945
+ description: >-
946
+ List of document types submitted to DPP as part of the
947
+ documentation package. May be null.
948
+ realization_deadline:
949
+ type: string
950
+ format: date
951
+ nullable: true
952
+ example: "2024-10-31"
953
+ description: >-
954
+ Contractual deadline for completing the realization phase.
955
+ ISO 8601 date. May be null.
956
+ device_id:
957
+ type: string
958
+ nullable: true
959
+ example: "DEV-00789"
960
+ description: >-
961
+ Unique device identifier assigned to the panel's embedded
962
+ hardware unit. May be null.
963
+ asw_node_id:
964
+ type: string
965
+ nullable: true
966
+ example: "U953N1"
967
+ description: >-
968
+ Node identifier in the ASW (Automatizovany system rizeni) network
969
+ registry. May be null.
970
+ asw_stop_id:
971
+ type: string
972
+ nullable: true
973
+ example: "U953"
974
+ description: >-
975
+ Stop identifier in the ASW network registry. May be null.
976
+ power_consumption_watt:
977
+ type: number
978
+ format: float
979
+ nullable: true
980
+ example: 45.5
981
+ description: >-
982
+ Rated power consumption of the panel in watts. Decimal values
983
+ are permitted. May be null.
984
+ thmp_element_number:
985
+ type: string
986
+ nullable: true
987
+ example: "THMP-0042"
988
+ description: >-
989
+ Element number assigned in the THMP registry. May be null.
990
+ electricity_supply_contract:
991
+ type: string
992
+ nullable: true
993
+ example: "ELC-2022-0017"
994
+ description: >-
995
+ Reference number of the electricity supply contract for this
996
+ panel. May be null.
997
+ cleaning_frequency:
998
+ type: string
999
+ nullable: true
1000
+ example: "monthly"
1001
+ description: >-
1002
+ Scheduled cleaning frequency for this panel. May be null.
1003
+ electricity_consumption_price:
1004
+ type: number
1005
+ format: float
1006
+ nullable: true
1007
+ example: 3.75
1008
+ description: >-
1009
+ Unit price per kWh charged under the electricity supply contract.
1010
+ Decimal values are permitted. May be null.
1011
+ construction_type:
1012
+ type: string
1013
+ nullable: true
1014
+ example: "pole_mounted"
1015
+ description: >-
1016
+ Type of physical construction used for this panel
1017
+ (e.g. pole_mounted, wall_mounted, freestanding). May be null.
1018
+ panel_size:
1019
+ type: string
1020
+ nullable: true
1021
+ example: "70x100"
1022
+ description: >-
1023
+ Display dimensions of the panel in centimetres (width x height).
1024
+ May be null.
1025
+ design_price_without_vat:
1026
+ type: number
1027
+ format: float
1028
+ nullable: true
1029
+ example: 25000.00
1030
+ description: >-
1031
+ Contracted price for the design phase excluding VAT, in CZK.
1032
+ May be null.
1033
+ production_price_without_vat:
1034
+ type: number
1035
+ format: float
1036
+ nullable: true
1037
+ example: 85000.00
1038
+ description: >-
1039
+ Contracted price for the production phase excluding VAT, in CZK.
1040
+ May be null.
1041
+ realization_price_without_vat:
1042
+ type: number
1043
+ format: float
1044
+ nullable: true
1045
+ example: 35000.00
1046
+ description: >-
1047
+ Contracted price for the realization phase excluding VAT, in CZK.
1048
+ May be null.
1049
+ serial_number:
1050
+ type: string
1051
+ nullable: true
1052
+ example: "SN-2024-00042"
1053
+ description: >-
1054
+ Manufacturer's serial number of the panel unit. May be null.
1055
+
1056
+ Obelisk:
1057
+ description: >-
1058
+ Fully composed obelisk schema for list responses. Combines all writable
1059
+ obelisk-specific fields (ObeliskBase, which itself includes ElementBase) with
1060
+ server-set read-only fields (ElementReadOnly). The id and source_updated_at
1061
+ fields are required on every record returned by the API.
1062
+ allOf:
1063
+ - $ref: "#/components/schemas/ElementReadOnly"
1064
+ - $ref: "#/components/schemas/ObeliskBase"
1065
+ - type: object
1066
+ required:
1067
+ - id
1068
+ - source_updated_at
1069
+
1070
+ ObeliskBase:
1071
+ description: >-
1072
+ Writable obelisk-specific fields extending ElementBase. Contains the 14
1073
+ type-specific properties for the obelisk element type. Compose via allOf
1074
+ with ElementBase to obtain the full writable surface.
1075
+ allOf:
1076
+ - $ref: "#/components/schemas/ElementBase"
1077
+ - type: object
1078
+ properties:
1079
+ street_name:
1080
+ type: string
1081
+ nullable: true
1082
+ example: "Vaclavske namesti"
1083
+ description: >-
1084
+ Name of the street where the obelisk is physically located.
1085
+ May be null if the street name is not recorded.
1086
+ location_description:
1087
+ type: string
1088
+ nullable: true
1089
+ example: "Near the main entrance of the metro station, pillar B."
1090
+ description: >-
1091
+ Free-text description of the obelisk's exact placement within
1092
+ its location. May be null.
1093
+ land_parcel_number:
1094
+ type: string
1095
+ nullable: true
1096
+ example: "1234/5"
1097
+ description: >-
1098
+ Cadastral land parcel number identifying the plot on which the
1099
+ obelisk stands. May be null.
1100
+ land_owner:
1101
+ type: string
1102
+ nullable: true
1103
+ example: "Hlavni mesto Praha"
1104
+ description: >-
1105
+ Name of the entity that owns the land parcel where the obelisk
1106
+ is installed. May be null.
1107
+ priority:
1108
+ type: string
1109
+ nullable: true
1110
+ example: "HIGH"
1111
+ description: >-
1112
+ Operational priority assigned to the obelisk for maintenance
1113
+ scheduling purposes. May be null.
1114
+ asset_registered:
1115
+ type: boolean
1116
+ nullable: true
1117
+ example: true
1118
+ description: >-
1119
+ Indicates whether the obelisk is formally registered in the
1120
+ asset management system. May be null if the status is unknown.
1121
+ asset_number:
1122
+ type: string
1123
+ nullable: true
1124
+ example: "MAJ-2024-00123"
1125
+ description: >-
1126
+ Asset inventory number assigned when the obelisk is registered
1127
+ in the asset management system. May be null.
1128
+ insurance:
1129
+ type: boolean
1130
+ nullable: true
1131
+ example: true
1132
+ description: >-
1133
+ Indicates whether the obelisk is covered by an insurance
1134
+ policy. May be null if insurance status is not recorded.
1135
+ insurance_state:
1136
+ type: string
1137
+ nullable: true
1138
+ example: "ACTIVE"
1139
+ description: >-
1140
+ Current state of the insurance policy for the obelisk
1141
+ (e.g. ACTIVE, EXPIRED). May be null.
1142
+ handed_over_to_ozp:
1143
+ type: boolean
1144
+ nullable: true
1145
+ example: false
1146
+ description: >-
1147
+ Indicates whether the obelisk has been formally handed over to
1148
+ the OZP (Odbor zelene a prostredi) department for ongoing
1149
+ management. May be null.
1150
+ comments:
1151
+ type: string
1152
+ nullable: true
1153
+ example: "Surface damage reported on the north face. Scheduled for repair Q3 2025."
1154
+ description: >-
1155
+ Free-text comments or operational notes associated with the
1156
+ obelisk. May be null.
1157
+ ropid_element_id:
1158
+ type: string
1159
+ nullable: true
1160
+ example: "ROPID-OBL-0042"
1161
+ description: >-
1162
+ Identifier assigned to this element within the ROPID external
1163
+ registry. May be null for elements not yet registered with ROPID.
1164
+ construction_type:
1165
+ type: string
1166
+ nullable: true
1167
+ example: "STEEL_FRAME"
1168
+ description: >-
1169
+ Type of construction used for the obelisk (e.g. STEEL_FRAME,
1170
+ CONCRETE, COMPOSITE). May be null.
1171
+ price_without_vat:
1172
+ type: number
1173
+ nullable: true
1174
+ example: 85000.00
1175
+ description: >-
1176
+ Procurement or installation cost of the obelisk excluding VAT,
1177
+ expressed in the local currency (CZK). May be null if the cost
1178
+ is not recorded.
1179
+
1180
+ Signpost:
1181
+ description: >-
1182
+ Fully composed Signpost schema including all writable base fields
1183
+ (via SignpostBase -> ElementBase), all 16 type-specific fields, and
1184
+ server-set read-only fields (ElementReadOnly). Use as the response
1185
+ schema for the GET /v1/signposts list endpoint.
1186
+ allOf:
1187
+ - $ref: "#/components/schemas/ElementReadOnly"
1188
+ - $ref: "#/components/schemas/SignpostBase"
1189
+ - type: object
1190
+ required:
1191
+ - id
1192
+ - source_updated_at
1193
+
1194
+ SignpostBase:
1195
+ description: >-
1196
+ Writable fields for a Signpost element. Composes ElementBase via allOf and
1197
+ adds 16 type-specific properties.
1198
+ allOf:
1199
+ - $ref: "#/components/schemas/ElementBase"
1200
+ - type: object
1201
+ properties:
1202
+ street_name:
1203
+ type: string
1204
+ nullable: true
1205
+ example: "Evropska"
1206
+ description: >-
1207
+ Name of the street where the signpost is located.
1208
+ May be null if not yet recorded.
1209
+ location_description:
1210
+ type: string
1211
+ nullable: true
1212
+ example: "Near bus stop exit B, adjacent to pedestrian crossing"
1213
+ description: >-
1214
+ Free-text description of the precise installation location.
1215
+ May be null if not yet recorded.
1216
+ land_parcel_number:
1217
+ type: string
1218
+ nullable: true
1219
+ example: "1234/5"
1220
+ description: >-
1221
+ Cadastral land parcel number of the plot on which the signpost
1222
+ is installed. May be null.
1223
+ land_owner:
1224
+ type: string
1225
+ nullable: true
1226
+ example: "Hlavni mesto Praha"
1227
+ description: >-
1228
+ Name of the land parcel owner. May be null if ownership has not
1229
+ been determined.
1230
+ street_light_number:
1231
+ type: string
1232
+ nullable: true
1233
+ example: "VO-12345"
1234
+ description: >-
1235
+ Identifier of the street-light pole the signpost is attached to.
1236
+ May be null if not attached to a street-light pole.
1237
+ sheet_count:
1238
+ type: integer
1239
+ nullable: true
1240
+ example: 4
1241
+ description: >-
1242
+ Number of direction sheets (panels) mounted on the signpost.
1243
+ Whole number. May be null if not yet counted.
1244
+ priority:
1245
+ type: string
1246
+ nullable: true
1247
+ example: "HIGH"
1248
+ description: >-
1249
+ Installation or maintenance priority classification assigned to
1250
+ this signpost. May be null.
1251
+ asset_registered:
1252
+ type: boolean
1253
+ nullable: true
1254
+ example: true
1255
+ description: >-
1256
+ Indicates whether the signpost is registered in the asset
1257
+ management system. May be null if registration status is unknown.
1258
+ asset_number:
1259
+ type: string
1260
+ nullable: true
1261
+ example: "MAJ-2024-00789"
1262
+ description: >-
1263
+ Asset management system identifier for the signpost.
1264
+ May be null if the signpost is not yet registered.
1265
+ insurance:
1266
+ type: boolean
1267
+ nullable: true
1268
+ example: true
1269
+ description: >-
1270
+ Indicates whether the signpost is covered by an insurance policy.
1271
+ May be null if insurance status is unknown.
1272
+ insurance_state:
1273
+ type: string
1274
+ nullable: true
1275
+ example: "ACTIVE"
1276
+ description: >-
1277
+ Current state of the insurance coverage for the signpost
1278
+ (e.g. ACTIVE, EXPIRED). May be null.
1279
+ handed_over_to_ozp:
1280
+ type: boolean
1281
+ nullable: true
1282
+ example: false
1283
+ description: >-
1284
+ Indicates whether the signpost has been formally handed over
1285
+ to OZP (maintenance department) for ongoing administration.
1286
+ May be null.
1287
+ comments:
1288
+ type: string
1289
+ nullable: true
1290
+ example: "Requires re-painting before next season."
1291
+ description: >-
1292
+ Free-text comments or operational notes recorded by field staff.
1293
+ May be null.
1294
+ ropid_element_id:
1295
+ type: string
1296
+ nullable: true
1297
+ example: "ROPID-SGP-00456"
1298
+ description: >-
1299
+ Identifier assigned to this signpost within the ROPID system.
1300
+ May be null if no ROPID identifier has been assigned.
1301
+ construction_type:
1302
+ type: string
1303
+ nullable: true
1304
+ example: "STEEL_POLE"
1305
+ description: >-
1306
+ Type of construction or structural form of the signpost
1307
+ (e.g. STEEL_POLE, WALL_MOUNTED). May be null.
1308
+ price_without_vat:
1309
+ type: number
1310
+ format: double
1311
+ nullable: true
1312
+ example: 15800.00
1313
+ description: >-
1314
+ Procurement or installation price of the signpost, excluding VAT.
1315
+ Currency is CZK. May be null if pricing data is unavailable.
1316
+
1317
+ Totem:
1318
+ description: >-
1319
+ Fully composed Totem schema for list responses. Combines TotemBase (writable fields
1320
+ including ElementBase), ElementReadOnly (server-set id and timestamps). Use this
1321
+ schema for items in the GET /v1/totems list response.
1322
+ allOf:
1323
+ - $ref: "#/components/schemas/ElementReadOnly"
1324
+ - $ref: "#/components/schemas/TotemBase"
1325
+ - type: object
1326
+ required:
1327
+ - id
1328
+ - source_updated_at
1329
+
1330
+ TotemBase:
1331
+ description: >-
1332
+ Writable base fields for the Totem element type. Extends ElementBase via allOf,
1333
+ adding 51 Totem-specific properties. No id or timestamps (those come from
1334
+ ElementReadOnly). Used for create/update request bodies and composed into Totem.
1335
+ allOf:
1336
+ - $ref: "#/components/schemas/ElementBase"
1337
+ - type: object
1338
+ properties:
1339
+ panel_size:
1340
+ type: string
1341
+ nullable: true
1342
+ example: "2400x900"
1343
+ description: >-
1344
+ Physical size of the totem's display panel (width x height in mm).
1345
+ May be null if not yet specified.
1346
+ locality:
1347
+ type: string
1348
+ nullable: true
1349
+ example: "Palackeho namesti"
1350
+ description: >-
1351
+ Named locality or area where the totem is installed.
1352
+ May be null.
1353
+ displayed_icon:
1354
+ type: array
1355
+ nullable: true
1356
+ items:
1357
+ type: string
1358
+ example:
1359
+ - "metro_a"
1360
+ - "bus"
1361
+ description: >-
1362
+ List of icon identifiers displayed on the totem face (e.g. transit
1363
+ mode icons). May be null if no icons are configured.
1364
+ line:
1365
+ type: array
1366
+ nullable: true
1367
+ items:
1368
+ type: string
1369
+ example:
1370
+ - "119"
1371
+ - "218"
1372
+ description: >-
1373
+ Transit line identifiers served at or referenced by this totem.
1374
+ May be null.
1375
+ priority:
1376
+ type: integer
1377
+ nullable: true
1378
+ example: 1
1379
+ description: >-
1380
+ Installation or operational priority rank for this totem.
1381
+ Integer value; lower numbers indicate higher priority.
1382
+ May be null.
1383
+ site_survey:
1384
+ type: string
1385
+ nullable: true
1386
+ example: "Provedeno 2024-03-15"
1387
+ description: >-
1388
+ Free-text record of the site survey result or reference.
1389
+ May be null if no survey has been conducted.
1390
+ installation_height:
1391
+ type: string
1392
+ nullable: true
1393
+ example: "3.5m"
1394
+ description: >-
1395
+ Height at which the totem is or will be installed.
1396
+ Stored as a string to accommodate unit suffixes.
1397
+ May be null.
1398
+ street_light_number:
1399
+ type: string
1400
+ nullable: true
1401
+ example: "VO-12345"
1402
+ description: >-
1403
+ Identifier of the street light pole to which the totem is attached,
1404
+ if applicable. May be null.
1405
+ street_light_replacement:
1406
+ type: string
1407
+ nullable: true
1408
+ example: "Nahrazeno 2023-06"
1409
+ description: >-
1410
+ Record or date of street light replacement associated with this
1411
+ totem installation. May be null.
1412
+ tv_number:
1413
+ type: string
1414
+ nullable: true
1415
+ example: "TV-00987"
1416
+ description: >-
1417
+ Technical verification (TV) number assigned to this totem.
1418
+ May be null.
1419
+ building_permit:
1420
+ type: boolean
1421
+ nullable: true
1422
+ example: true
1423
+ description: >-
1424
+ Indicates whether a building permit has been obtained for this
1425
+ totem installation. May be null if status is unknown.
1426
+ building_permit_state:
1427
+ type: string
1428
+ nullable: true
1429
+ example: "GRANTED"
1430
+ description: >-
1431
+ Current state of the building permit process
1432
+ (e.g. PENDING, GRANTED, NOT_REQUIRED). May be null.
1433
+ location_note:
1434
+ type: string
1435
+ nullable: true
1436
+ example: "Umisteno vedle vchodu A, celem na jih."
1437
+ description: >-
1438
+ Free-text note describing the precise physical placement of
1439
+ the totem at its site. May be null.
1440
+ site_survey_report:
1441
+ type: string
1442
+ nullable: true
1443
+ example: "Zprava MS 2024-03-15"
1444
+ description: >-
1445
+ Reference or summary of the formal site survey report.
1446
+ May be null if no report exists.
1447
+ order_state:
1448
+ type: string
1449
+ nullable: true
1450
+ example: "IN_PROGRESS"
1451
+ description: >-
1452
+ Current state of the procurement order for this totem
1453
+ (e.g. DRAFT, SUBMITTED, IN_PROGRESS, COMPLETED). May be null.
1454
+ order_number:
1455
+ type: string
1456
+ nullable: true
1457
+ example: "OBJ-2024-0042"
1458
+ description: >-
1459
+ Procurement order number associated with this totem.
1460
+ May be null if no order has been raised.
1461
+ design_price_without_vat:
1462
+ type: number
1463
+ format: double
1464
+ nullable: true
1465
+ example: 45000.00
1466
+ description: >-
1467
+ Projected design/engineering cost for this totem, excluding VAT
1468
+ (Czech crowns). May be null.
1469
+ realization_price_without_vat:
1470
+ type: number
1471
+ format: double
1472
+ nullable: true
1473
+ example: 280000.00
1474
+ description: >-
1475
+ Actual realization (installation) cost for this totem, excluding
1476
+ VAT (Czech crowns). May be null.
1477
+ warranty_end:
1478
+ type: string
1479
+ format: date
1480
+ nullable: true
1481
+ example: "2027-06-30"
1482
+ description: >-
1483
+ Date on which the manufacturer or installer warranty expires.
1484
+ ISO 8601 date. May be null.
1485
+ next_revision:
1486
+ type: string
1487
+ format: date
1488
+ nullable: true
1489
+ example: "2025-12-01"
1490
+ description: >-
1491
+ Scheduled date of the next technical revision or inspection.
1492
+ ISO 8601 date. May be null.
1493
+ qr_code:
1494
+ type: string
1495
+ nullable: true
1496
+ example: "https://fypr.ropid.cz/totem/1b75c16b"
1497
+ description: >-
1498
+ URL or value encoded in the QR code affixed to this totem for
1499
+ field identification. May be null.
1500
+ supplier:
1501
+ type: string
1502
+ nullable: true
1503
+ example: "AGB Czech s.r.o."
1504
+ description: >-
1505
+ Name of the supplier or manufacturer of this totem.
1506
+ May be null.
1507
+ stop_name:
1508
+ type: string
1509
+ nullable: true
1510
+ example: "Palackeho namesti"
1511
+ description: >-
1512
+ Name of the public transport stop associated with this totem.
1513
+ May be null.
1514
+ stop_type:
1515
+ type: array
1516
+ nullable: true
1517
+ items:
1518
+ type: string
1519
+ example:
1520
+ - "bus"
1521
+ - "tram"
1522
+ description: >-
1523
+ List of transport mode types at the associated stop
1524
+ (e.g. bus, tram, metro). May be null.
1525
+ site_survey_date:
1526
+ type: string
1527
+ nullable: true
1528
+ example: "2024-03-15"
1529
+ description: >-
1530
+ Date on which the site survey was conducted. Stored as a plain
1531
+ string. May be null if no survey has been performed.
1532
+ order_planned_deadline:
1533
+ type: string
1534
+ format: date
1535
+ nullable: true
1536
+ example: "2024-09-30"
1537
+ description: >-
1538
+ Planned deadline date for completion of the procurement order.
1539
+ ISO 8601 date. May be null.
1540
+ order_registry_publication:
1541
+ type: boolean
1542
+ nullable: true
1543
+ example: true
1544
+ description: >-
1545
+ Indicates whether the procurement order has been published in the
1546
+ public contracts registry. May be null.
1547
+ invoice_paid:
1548
+ type: boolean
1549
+ nullable: true
1550
+ example: false
1551
+ description: >-
1552
+ Indicates whether the invoice for this totem has been paid.
1553
+ May be null if payment status is unknown.
1554
+ initial_revision:
1555
+ type: string
1556
+ format: date
1557
+ nullable: true
1558
+ example: "2024-01-10"
1559
+ description: >-
1560
+ Date of the initial (commissioning) technical revision.
1561
+ ISO 8601 date. May be null.
1562
+ asset_registered:
1563
+ type: boolean
1564
+ nullable: true
1565
+ example: true
1566
+ description: >-
1567
+ Indicates whether this totem has been registered as a fixed asset
1568
+ in the accounting system. May be null.
1569
+ asset_number:
1570
+ type: string
1571
+ nullable: true
1572
+ example: "MAJ-2024-00123"
1573
+ description: >-
1574
+ Fixed asset register number assigned to this totem.
1575
+ May be null if not yet registered.
1576
+ insurance:
1577
+ type: boolean
1578
+ nullable: true
1579
+ example: true
1580
+ description: >-
1581
+ Indicates whether this totem is covered by an insurance policy.
1582
+ May be null.
1583
+ handed_over_to_ozp:
1584
+ type: boolean
1585
+ nullable: true
1586
+ example: false
1587
+ description: >-
1588
+ Indicates whether the totem has been formally handed over to the
1589
+ OZP (public space department) for ongoing maintenance.
1590
+ May be null.
1591
+ ropid_documentation_submitted:
1592
+ type: array
1593
+ nullable: true
1594
+ items:
1595
+ type: string
1596
+ example:
1597
+ - "technical_spec"
1598
+ - "as_built_drawing"
1599
+ description: >-
1600
+ List of documentation items submitted to ROPID as part of the
1601
+ handover package. May be null.
1602
+ ropid_documentation_handover_date:
1603
+ type: string
1604
+ format: date
1605
+ nullable: true
1606
+ example: "2024-08-20"
1607
+ description: >-
1608
+ Date on which the documentation package was handed over to ROPID.
1609
+ ISO 8601 date. May be null.
1610
+ street_name:
1611
+ type: string
1612
+ nullable: true
1613
+ example: "Palackeho"
1614
+ description: >-
1615
+ Name of the street where this totem is located.
1616
+ May be null.
1617
+ exit_number:
1618
+ type: string
1619
+ nullable: true
1620
+ example: "B"
1621
+ description: >-
1622
+ Exit identifier (e.g. metro station exit letter or number) nearest
1623
+ to this totem's installation point. May be null.
1624
+ dpp_priority:
1625
+ type: integer
1626
+ nullable: true
1627
+ example: 2
1628
+ description: >-
1629
+ Prague Public Transit (DPP) internal priority rank for this totem.
1630
+ Lower values indicate higher priority. May be null.
1631
+ insurance_state:
1632
+ type: string
1633
+ nullable: true
1634
+ example: "ACTIVE"
1635
+ description: >-
1636
+ Current state of the insurance coverage for this totem
1637
+ (e.g. ACTIVE, EXPIRED, NOT_REQUIRED). May be null.
1638
+ comments:
1639
+ type: string
1640
+ nullable: true
1641
+ example: "Potrebuje revizi spojeni s VO."
1642
+ description: >-
1643
+ Free-text comments or operational remarks about this totem.
1644
+ May be null.
1645
+ asw_node_id:
1646
+ type: string
1647
+ nullable: true
1648
+ example: "U12345"
1649
+ description: >-
1650
+ Node identifier in the ASW (automated stop information system)
1651
+ associated with this totem's location. May be null.
1652
+ asw_stop_id:
1653
+ type: string
1654
+ nullable: true
1655
+ example: "Z12345"
1656
+ description: >-
1657
+ Stop identifier in the ASW system linked to this totem.
1658
+ May be null.
1659
+ power_consumption_watt:
1660
+ type: number
1661
+ format: double
1662
+ nullable: true
1663
+ example: 120.5
1664
+ description: >-
1665
+ Rated power consumption of this totem in watts.
1666
+ May be null if not measured.
1667
+ thmp_element_number:
1668
+ type: string
1669
+ nullable: true
1670
+ example: "THMP-2024-00456"
1671
+ description: >-
1672
+ Element number assigned within the THMP (Technical Management
1673
+ of Public Infrastructure) register. May be null.
1674
+ electricity_supply_contract:
1675
+ type: string
1676
+ nullable: true
1677
+ example: "EIC-CZ-00123456789"
1678
+ description: >-
1679
+ Identifier or reference of the electricity supply contract
1680
+ for this totem. May be null.
1681
+ cleaning_frequency:
1682
+ type: string
1683
+ nullable: true
1684
+ example: "monthly"
1685
+ description: >-
1686
+ Scheduled cleaning frequency for this totem
1687
+ (e.g. weekly, monthly, quarterly). May be null.
1688
+ electricity_consumption_price:
1689
+ type: number
1690
+ format: double
1691
+ nullable: true
1692
+ example: 3500.00
1693
+ description: >-
1694
+ Annual electricity consumption cost for this totem in Czech crowns,
1695
+ excluding VAT. May be null.
1696
+ ropid_element_id:
1697
+ type: string
1698
+ nullable: true
1699
+ example: "ROPID-T-00789"
1700
+ description: >-
1701
+ Element identifier assigned by ROPID in their own internal register.
1702
+ May be null.
1703
+ construction_type:
1704
+ type: string
1705
+ nullable: true
1706
+ example: "STANDALONE"
1707
+ description: >-
1708
+ Construction or mounting type of the totem
1709
+ (e.g. STANDALONE, POLE_MOUNTED, WALL_MOUNTED). May be null.
1710
+ price_without_vat:
1711
+ type: number
1712
+ format: double
1713
+ nullable: true
1714
+ example: 320000.00
1715
+ description: >-
1716
+ Total purchase price of this totem unit, excluding VAT
1717
+ (Czech crowns). May be null.
1718
+ serial_number:
1719
+ type: string
1720
+ nullable: true
1721
+ example: "SN-2024-AGB-00321"
1722
+ description: >-
1723
+ Manufacturer's serial number of this totem unit.
1724
+ May be null.
47
1725
 
48
1726
  responses:
49
1727
  BadRequestError:
@@ -91,5 +1769,3 @@ components:
91
1769
  required:
92
1770
  - error_message
93
1771
  - error_status
94
-
95
- # TODO schemas: