@boxa-devops/depo-shared 1.1.0 → 1.2.0

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.
package/src/api.ts CHANGED
@@ -2927,6 +2927,30 @@ export interface paths {
2927
2927
  patch?: never;
2928
2928
  trace?: never;
2929
2929
  };
2930
+ "/api/v1/refs/loco-sections": {
2931
+ parameters: {
2932
+ query?: never;
2933
+ header?: never;
2934
+ path?: never;
2935
+ cookie?: never;
2936
+ };
2937
+ /**
2938
+ * Loco Sections
2939
+ * @description The places a part sits on the machine — what the position picker draws.
2940
+ *
2941
+ * A hint catalogue (TZ §14): nothing validates `mount_position` against it,
2942
+ * a place typed by hand stays legal, and a client that has never heard of a
2943
+ * section simply does not light it.
2944
+ */
2945
+ get: operations["loco_sections_api_v1_refs_loco_sections_get"];
2946
+ put?: never;
2947
+ post?: never;
2948
+ delete?: never;
2949
+ options?: never;
2950
+ head?: never;
2951
+ patch?: never;
2952
+ trace?: never;
2953
+ };
2930
2954
  "/api/v1/refs/loco-series-positions": {
2931
2955
  parameters: {
2932
2956
  query?: never;
@@ -3302,6 +3326,46 @@ export interface paths {
3302
3326
  patch?: never;
3303
3327
  trace?: never;
3304
3328
  };
3329
+ "/api/v1/reports/kpi-trend": {
3330
+ parameters: {
3331
+ query?: never;
3332
+ header?: never;
3333
+ path?: never;
3334
+ cookie?: never;
3335
+ };
3336
+ /**
3337
+ * Kpi Trend
3338
+ * @description Daily series behind the dashboard tiles (what the tables can answer honestly).
3339
+ */
3340
+ get: operations["kpi_trend_api_v1_reports_kpi_trend_get"];
3341
+ put?: never;
3342
+ post?: never;
3343
+ delete?: never;
3344
+ options?: never;
3345
+ head?: never;
3346
+ patch?: never;
3347
+ trace?: never;
3348
+ };
3349
+ "/api/v1/reports/nav-counters": {
3350
+ parameters: {
3351
+ query?: never;
3352
+ header?: never;
3353
+ path?: never;
3354
+ cookie?: never;
3355
+ };
3356
+ /**
3357
+ * Nav Counters
3358
+ * @description Badge counts for the admin menu — three COUNTs, scoped to what the caller sees.
3359
+ */
3360
+ get: operations["nav_counters_api_v1_reports_nav_counters_get"];
3361
+ put?: never;
3362
+ post?: never;
3363
+ delete?: never;
3364
+ options?: never;
3365
+ head?: never;
3366
+ patch?: never;
3367
+ trace?: never;
3368
+ };
3305
3369
  "/api/v1/reports/open-orders": {
3306
3370
  parameters: {
3307
3371
  query?: never;
@@ -4275,6 +4339,95 @@ export interface paths {
4275
4339
  patch?: never;
4276
4340
  trace?: never;
4277
4341
  };
4342
+ "/api/v1/work-orders/measuring": {
4343
+ parameters: {
4344
+ query?: never;
4345
+ header?: never;
4346
+ path?: never;
4347
+ cookie?: never;
4348
+ };
4349
+ get?: never;
4350
+ put?: never;
4351
+ /**
4352
+ * Open Measuring Order
4353
+ * @description The measuring order of one visit — opened on the first ask, returned on
4354
+ * every later one (invariant 3: a replayed offline tap opens nothing new).
4355
+ */
4356
+ post: operations["open_measuring_order_api_v1_work_orders_measuring_post"];
4357
+ delete?: never;
4358
+ options?: never;
4359
+ head?: never;
4360
+ patch?: never;
4361
+ trace?: never;
4362
+ };
4363
+ "/api/v1/work-orders/measuring/{wo_id}/items": {
4364
+ parameters: {
4365
+ query?: never;
4366
+ header?: never;
4367
+ path?: never;
4368
+ cookie?: never;
4369
+ };
4370
+ /**
4371
+ * Measuring Items
4372
+ * @description What stands on this machine and can be measured, with its numbers, the
4373
+ * hints those numbers fire and the verdict already signed on it.
4374
+ */
4375
+ get: operations["measuring_items_api_v1_work_orders_measuring__wo_id__items_get"];
4376
+ put?: never;
4377
+ post?: never;
4378
+ delete?: never;
4379
+ options?: never;
4380
+ head?: never;
4381
+ patch?: never;
4382
+ trace?: never;
4383
+ };
4384
+ "/api/v1/work-orders/measuring/{wo_id}/verdict": {
4385
+ parameters: {
4386
+ query?: never;
4387
+ header?: never;
4388
+ path?: never;
4389
+ cookie?: never;
4390
+ };
4391
+ get?: never;
4392
+ put?: never;
4393
+ /**
4394
+ * Measuring Verdict
4395
+ * @description «Ремонтируем» / «Не трогаем» on one measured part, under the master's PIN.
4396
+ */
4397
+ post: operations["measuring_verdict_api_v1_work_orders_measuring__wo_id__verdict_post"];
4398
+ delete?: never;
4399
+ options?: never;
4400
+ head?: never;
4401
+ patch?: never;
4402
+ trace?: never;
4403
+ };
4404
+ "/api/v1/work-orders/measuring/{wo_id}/verdicts": {
4405
+ parameters: {
4406
+ query?: never;
4407
+ header?: never;
4408
+ path?: never;
4409
+ cookie?: never;
4410
+ };
4411
+ get?: never;
4412
+ put?: never;
4413
+ /**
4414
+ * Inspection Sign
4415
+ * @description The inspection pass: several parts decided at once, signed once.
4416
+ *
4417
+ * The single-part `/verdict` above stays what the master's own screen uses.
4418
+ * This one is the shop-floor walk — the man reads a handful of units, says
4419
+ * «good» or «this one», names himself by tab_no and PIN, and signs the lot.
4420
+ * One signature whose payload_hash covers every line (invariant 6), one
4421
+ * INSPECT event per part under a derived uuid, so a replayed tap of the whole
4422
+ * pass writes nothing twice (invariant 3).
4423
+ */
4424
+ post: operations["inspection_sign_api_v1_work_orders_measuring__wo_id__verdicts_post"];
4425
+ delete?: never;
4426
+ options?: never;
4427
+ head?: never;
4428
+ patch?: never;
4429
+ trace?: never;
4430
+ };
4278
4431
  "/api/v1/work-orders/{wo_id}/accept": {
4279
4432
  parameters: {
4280
4433
  query?: never;
@@ -4445,6 +4598,26 @@ export interface paths {
4445
4598
  patch?: never;
4446
4599
  trace?: never;
4447
4600
  };
4601
+ "/api/v1/work-orders/{wo_id}/tasks/{task_id}/cosign-op": {
4602
+ parameters: {
4603
+ query?: never;
4604
+ header?: never;
4605
+ path?: never;
4606
+ cookie?: never;
4607
+ };
4608
+ get?: never;
4609
+ put?: never;
4610
+ /**
4611
+ * Cosign Task Op
4612
+ * @description Start/pause/resume/finish one operation, verified by the fitter's card + PIN.
4613
+ */
4614
+ post: operations["cosign_task_op_api_v1_work_orders__wo_id__tasks__task_id__cosign_op_post"];
4615
+ delete?: never;
4616
+ options?: never;
4617
+ head?: never;
4618
+ patch?: never;
4619
+ trace?: never;
4620
+ };
4448
4621
  "/api/v1/work-orders/{wo_id}/work-accept-sign": {
4449
4622
  parameters: {
4450
4623
  query?: never;
@@ -6447,7 +6620,7 @@ export interface components {
6447
6620
  * @description discriminator enum property added by openapi-typescript
6448
6621
  * @enum {string}
6449
6622
  */
6450
- event_type: "RECEIVE_NEW" | "ISSUE_OUT" | "SEND_TO_REPAIR" | "QC_ACCEPT" | "QC_REJECT" | "STORE_IN" | "ASSEMBLE" | "DISASSEMBLE" | "SEND_TO_PLANT" | "RETURN_FROM_PLANT" | "PLANT_REJECT" | "COUNT" | "SCRAP" | "LOST";
6623
+ event_type: "RECEIVE_NEW" | "ISSUE_OUT" | "SEND_TO_REPAIR" | "QC_ACCEPT" | "QC_REJECT" | "ASSEMBLE" | "DISASSEMBLE" | "SEND_TO_PLANT" | "RETURN_FROM_PLANT" | "PLANT_REJECT" | "COUNT" | "SCRAP" | "LOST";
6451
6624
  };
6452
6625
  /** HTTPValidationError */
6453
6626
  HTTPValidationError: {
@@ -6845,7 +7018,16 @@ export interface components {
6845
7018
  /** Reason */
6846
7019
  reason?: string | null;
6847
7020
  };
6848
- /** InspectCommand */
7021
+ /**
7022
+ * InspectCommand
7023
+ * @description Defectation — and, since B21, the measuring pass under the machine.
7024
+ *
7025
+ * From INSTALLED it is a pure record: the numbers are taken, the rules speak,
7026
+ * and nothing moves until the master signs a verdict
7027
+ * (/work-orders/measuring/{id}/verdict). `work_order_id` + `task_id` point at
7028
+ * the measuring order of the visit, so the readings belong to an operation
7029
+ * like any other work.
7030
+ */
6849
7031
  InspectCommand: {
6850
7032
  /**
6851
7033
  * Item Id
@@ -6902,6 +7084,60 @@ export interface components {
6902
7084
  event_type: "INSPECT";
6903
7085
  /** Requested Status */
6904
7086
  requested_status?: "AWAITING_DISPOSITION" | null;
7087
+ /** Measurements */
7088
+ measurements?: components["schemas"]["MeasurementValueIn"][];
7089
+ };
7090
+ /**
7091
+ * InspectionSignIn
7092
+ * @description The whole inspection pass, signed once by the man who walked it.
7093
+ *
7094
+ * One signature over the list, not one per line: the pass is a single act of
7095
+ * a single person — he looked at these parts, in this order, and says this
7096
+ * about them. The payload_hash covers every line, so no line can be edited
7097
+ * out of a signed pass (invariant 6).
7098
+ *
7099
+ * He names himself the way a co-signature does (badge_uid under RFID, tab_no
7100
+ * under the TABEL pilot, PIN in both): the terminal is logged in as whoever
7101
+ * opened the shift, and the inspector is not always that man.
7102
+ */
7103
+ InspectionSignIn: {
7104
+ /**
7105
+ * Event At
7106
+ * Format: date-time
7107
+ */
7108
+ event_at: string;
7109
+ /**
7110
+ * Client Event Uuid
7111
+ * Format: uuid
7112
+ */
7113
+ client_event_uuid: string;
7114
+ /** Terminal Id */
7115
+ terminal_id?: string | null;
7116
+ /** Badge Uid */
7117
+ badge_uid?: string | null;
7118
+ /** Tab No */
7119
+ tab_no?: string | null;
7120
+ /** Pin */
7121
+ pin: string;
7122
+ /** Lines */
7123
+ lines: components["schemas"]["VerdictLine"][];
7124
+ /** Comment */
7125
+ comment?: string | null;
7126
+ };
7127
+ /** InspectionSignOut */
7128
+ InspectionSignOut: {
7129
+ /**
7130
+ * Signed By Person Id
7131
+ * Format: uuid
7132
+ */
7133
+ signed_by_person_id: string;
7134
+ /**
7135
+ * Existing
7136
+ * @default false
7137
+ */
7138
+ existing: boolean;
7139
+ /** Results */
7140
+ results?: components["schemas"]["VerdictOut"][];
6905
7141
  };
6906
7142
  /** InstallCommand */
6907
7143
  InstallCommand: {
@@ -7220,6 +7456,10 @@ export interface components {
7220
7456
  repair_count: number | null;
7221
7457
  /** Marked No Duplicate */
7222
7458
  marked_no_duplicate: boolean;
7459
+ /** Resource Pct */
7460
+ resource_pct?: number | null;
7461
+ /** Resource Param */
7462
+ resource_param?: string | null;
7223
7463
  /** Attrs */
7224
7464
  attrs?: {
7225
7465
  [key: string]: string | null;
@@ -7282,6 +7522,22 @@ export interface components {
7282
7522
  /** Manufactured On */
7283
7523
  manufactured_on?: string | null;
7284
7524
  };
7525
+ /**
7526
+ * KpiTrend
7527
+ * @description Daily series under the dashboard tiles. Every list is `days` long.
7528
+ */
7529
+ KpiTrend: {
7530
+ /** Days */
7531
+ days: string[];
7532
+ /** Open Orders */
7533
+ open_orders: number[];
7534
+ /** Orders Opened */
7535
+ orders_opened: number[];
7536
+ /** Orders Closed */
7537
+ orders_closed: number[];
7538
+ /** Defects Found */
7539
+ defects_found: number[];
7540
+ };
7285
7541
  /** LocationContents */
7286
7542
  LocationContents: {
7287
7543
  location: components["schemas"]["RoomOut"];
@@ -7541,6 +7797,21 @@ export interface components {
7541
7797
  /** Attention Order Ids */
7542
7798
  attention_order_ids: string[];
7543
7799
  };
7800
+ /**
7801
+ * LocoSectionRef
7802
+ * @description One place on the machine, as the position picker draws it.
7803
+ *
7804
+ * Ordered by `sort`; the band a section belongs to is drawn where its
7805
+ * smallest sort puts it, so one number orders both the strip and the row.
7806
+ */
7807
+ LocoSectionRef: {
7808
+ /** Code */
7809
+ code: string;
7810
+ /** Band */
7811
+ band: string;
7812
+ /** Sort */
7813
+ sort: number;
7814
+ };
7544
7815
  /**
7545
7816
  * LocoSeriesOut
7546
7817
  * @description Series dictionary + its picture key (terminal caches both offline).
@@ -7869,6 +8140,67 @@ export interface components {
7869
8140
  /** Nomenclature Name */
7870
8141
  nomenclature_name: string | null;
7871
8142
  };
8143
+ /**
8144
+ * MeasuredItemOut
8145
+ * @description One part standing on the machine: what it reads, what the rules say
8146
+ * about it, and what the master already decided.
8147
+ */
8148
+ MeasuredItemOut: {
8149
+ /**
8150
+ * Item Id
8151
+ * Format: uuid
8152
+ */
8153
+ item_id: string;
8154
+ /** Inventory No */
8155
+ inventory_no: string;
8156
+ /** Marked No */
8157
+ marked_no: string | null;
8158
+ /**
8159
+ * Nomenclature Id
8160
+ * Format: uuid
8161
+ */
8162
+ nomenclature_id: string;
8163
+ /** Nomenclature Name */
8164
+ nomenclature_name: string | null;
8165
+ /** Mount Position */
8166
+ mount_position: string | null;
8167
+ /** Measured At */
8168
+ measured_at: string | null;
8169
+ /** Values */
8170
+ values?: components["schemas"]["MeasuredValueOut"][];
8171
+ /** Recommendations */
8172
+ recommendations?: {
8173
+ [key: string]: unknown;
8174
+ }[];
8175
+ /** Verdict */
8176
+ verdict?: string | null;
8177
+ /** Verdict Work Order Number */
8178
+ verdict_work_order_number?: string | null;
8179
+ };
8180
+ /**
8181
+ * MeasuredValueOut
8182
+ * @description The last reading of one parameter, as the master's screen shows it.
8183
+ */
8184
+ MeasuredValueOut: {
8185
+ /** Param Code */
8186
+ param_code: string;
8187
+ /** Param Name */
8188
+ param_name: string | null;
8189
+ /** Actual Value */
8190
+ actual_value: string | null;
8191
+ /** Norm Min */
8192
+ norm_min: string | null;
8193
+ /** Norm Max */
8194
+ norm_max: string | null;
8195
+ /** Uom */
8196
+ uom: string | null;
8197
+ /** Is Pass */
8198
+ is_pass: boolean | null;
8199
+ /** Measured At */
8200
+ measured_at: string | null;
8201
+ /** Stage */
8202
+ stage: string | null;
8203
+ };
7872
8204
  /**
7873
8205
  * MeasurementAddIn
7874
8206
  * @description «O'lchov qo'shish» on the card: one visit of the depot, several numbers.
@@ -7930,6 +8262,36 @@ export interface components {
7930
8262
  /** Actual Value */
7931
8263
  actual_value?: number | string | null;
7932
8264
  };
8265
+ /**
8266
+ * MeasuringOrderIn
8267
+ * @description Open (or re-fetch) the measuring order of one locomotive visit.
8268
+ *
8269
+ * The visit may be named directly, or by the machine the terminal stands at.
8270
+ * The second shape exists because nothing in the depot opens a visit today
8271
+ * (TZ 9.2): the man taps «tekshirish» on the locomotive screen, names what it
8272
+ * came in for, and the visit is born there — otherwise the button is dead
8273
+ * until somebody remembers to enter the visit at a desk.
8274
+ */
8275
+ MeasuringOrderIn: {
8276
+ /**
8277
+ * Event At
8278
+ * Format: date-time
8279
+ */
8280
+ event_at: string;
8281
+ /**
8282
+ * Client Event Uuid
8283
+ * Format: uuid
8284
+ */
8285
+ client_event_uuid: string;
8286
+ /** Terminal Id */
8287
+ terminal_id?: string | null;
8288
+ /** Locomotive Visit Id */
8289
+ locomotive_visit_id?: string | null;
8290
+ /** Locomotive Id */
8291
+ locomotive_id?: string | null;
8292
+ /** Repair Type Code */
8293
+ repair_type_code?: string | null;
8294
+ };
7933
8295
  /** MemberCloseIn */
7934
8296
  MemberCloseIn: {
7935
8297
  /**
@@ -8023,6 +8385,18 @@ export interface components {
8023
8385
  */
8024
8386
  event_type: "MOVE";
8025
8387
  };
8388
+ /**
8389
+ * NavCounters
8390
+ * @description What waits behind each menu line. None = the caller may not open it.
8391
+ */
8392
+ NavCounters: {
8393
+ /** Orders Overdue */
8394
+ orders_overdue: number | null;
8395
+ /** Disposition */
8396
+ disposition: number | null;
8397
+ /** Inventory Open */
8398
+ inventory_open: number | null;
8399
+ };
8026
8400
  /** NodeOut */
8027
8401
  NodeOut: {
8028
8402
  /** Key */
@@ -10171,6 +10545,10 @@ export interface components {
10171
10545
  * RuleCondition
10172
10546
  * @description One comparison. `param` is a nomenclature_fields.code; for a pair field
10173
10547
  * `side` says which wheel is asked (any = either, both = both).
10548
+ *
10549
+ * `value` is a number OR one answer of a select field: the regulation picks its
10550
+ * number by a CLASS («elektrovoz», «to'liq ko'rik»), so a threshold that is not
10551
+ * a number is a class name and the only comparison it accepts is `=`.
10174
10552
  */
10175
10553
  "RuleCondition-Input": {
10176
10554
  /** Param */
@@ -10195,6 +10573,10 @@ export interface components {
10195
10573
  * RuleCondition
10196
10574
  * @description One comparison. `param` is a nomenclature_fields.code; for a pair field
10197
10575
  * `side` says which wheel is asked (any = either, both = both).
10576
+ *
10577
+ * `value` is a number OR one answer of a select field: the regulation picks its
10578
+ * number by a CLASS («elektrovoz», «to'liq ko'rik»), so a threshold that is not
10579
+ * a number is a class name and the only comparison it accepts is `=`.
10198
10580
  */
10199
10581
  "RuleCondition-Output": {
10200
10582
  /** Param */
@@ -11076,6 +11458,75 @@ export interface components {
11076
11458
  */
11077
11459
  is_offline: boolean;
11078
11460
  };
11461
+ /**
11462
+ * StoreInCommand
11463
+ * @description Storekeeper puts a part on a shelf and says WHICH shelf it belongs on.
11464
+ *
11465
+ * A part removed under a planned check has no defect; filing it as
11466
+ * IN_STOCK_DEFECT made every stock report call serviceable parts defective.
11467
+ * The default keeps the old behaviour, so a silent client cannot promote one.
11468
+ */
11469
+ StoreInCommand: {
11470
+ /**
11471
+ * Item Id
11472
+ * Format: uuid
11473
+ */
11474
+ item_id: string;
11475
+ /**
11476
+ * Event At
11477
+ * Format: date-time
11478
+ */
11479
+ event_at: string;
11480
+ /**
11481
+ * Client Event Uuid
11482
+ * Format: uuid
11483
+ */
11484
+ client_event_uuid: string;
11485
+ /** To Location Id */
11486
+ to_location_id?: string | null;
11487
+ /** To Locomotive Id */
11488
+ to_locomotive_id?: string | null;
11489
+ /** To Holder Person Id */
11490
+ to_holder_person_id?: string | null;
11491
+ /** To Parent Item Id */
11492
+ to_parent_item_id?: string | null;
11493
+ /** Counterparty Person Id */
11494
+ counterparty_person_id?: string | null;
11495
+ /** Terminal Id */
11496
+ terminal_id?: string | null;
11497
+ /** Shift Instance Id */
11498
+ shift_instance_id?: string | null;
11499
+ /** Locomotive Visit Id */
11500
+ locomotive_visit_id?: string | null;
11501
+ /** Work Order Id */
11502
+ work_order_id?: string | null;
11503
+ /** Task Id */
11504
+ task_id?: string | null;
11505
+ /** Defect Code */
11506
+ defect_code?: string | null;
11507
+ /** Comment */
11508
+ comment?: string | null;
11509
+ /** Payload */
11510
+ payload?: {
11511
+ [key: string]: unknown;
11512
+ };
11513
+ /**
11514
+ * Is Offline
11515
+ * @default false
11516
+ */
11517
+ is_offline: boolean;
11518
+ /**
11519
+ * @description discriminator enum property added by openapi-typescript
11520
+ * @enum {string}
11521
+ */
11522
+ event_type: "STORE_IN";
11523
+ /**
11524
+ * Requested Status
11525
+ * @default IN_STOCK_DEFECT
11526
+ * @enum {string}
11527
+ */
11528
+ requested_status: "IN_STOCK_OK" | "IN_STOCK_DEFECT";
11529
+ };
11079
11530
  /** StornoCommand */
11080
11531
  StornoCommand: {
11081
11532
  /**
@@ -11246,6 +11697,45 @@ export interface components {
11246
11697
  /** Terminal Id */
11247
11698
  terminal_id?: string | null;
11248
11699
  };
11700
+ /**
11701
+ * TaskCosignIn
11702
+ * @description B10: the fitter moves his operation with his own card on the master's
11703
+ * screen — the counterpart of WorkSignIn for REPAIR_START/PAUSE/RESUME/FINISH.
11704
+ *
11705
+ * Identification follows the installation switch exactly as WorkSignIn does
11706
+ * (badge_uid under RFID, tab_no under the TABEL pilot, PIN in both). No
11707
+ * signature is written: repair steps are routine events (TZ 8), the second
11708
+ * card is here only so the work is journalled under the man who does it.
11709
+ */
11710
+ TaskCosignIn: {
11711
+ /**
11712
+ * Event At
11713
+ * Format: date-time
11714
+ */
11715
+ event_at: string;
11716
+ /**
11717
+ * Client Event Uuid
11718
+ * Format: uuid
11719
+ */
11720
+ client_event_uuid: string;
11721
+ /** Terminal Id */
11722
+ terminal_id?: string | null;
11723
+ /** Badge Uid */
11724
+ badge_uid?: string | null;
11725
+ /** Tab No */
11726
+ tab_no?: string | null;
11727
+ /** Pin */
11728
+ pin: string;
11729
+ /**
11730
+ * Action
11731
+ * @enum {string}
11732
+ */
11733
+ action: "start" | "pause" | "resume" | "finish";
11734
+ /** Result Note */
11735
+ result_note?: string | null;
11736
+ /** Comment */
11737
+ comment?: string | null;
11738
+ };
11249
11739
  /** TaskIn */
11250
11740
  TaskIn: {
11251
11741
  /** Title */
@@ -11486,6 +11976,84 @@ export interface components {
11486
11976
  /** Context */
11487
11977
  ctx?: Record<string, never>;
11488
11978
  };
11979
+ /**
11980
+ * VerdictIn
11981
+ * @description The master's decision on ONE measured part: repair it, or leave it.
11982
+ *
11983
+ * REPAIR opens the removal order right there — with the reason he signed for,
11984
+ * a defect or a scheduled check, exactly one of the two like every other
11985
+ * order. NO_ACTION moves nothing: it is a signed note on the part saying the
11986
+ * numbers were seen and found good enough.
11987
+ */
11988
+ VerdictIn: {
11989
+ /**
11990
+ * Event At
11991
+ * Format: date-time
11992
+ */
11993
+ event_at: string;
11994
+ /**
11995
+ * Client Event Uuid
11996
+ * Format: uuid
11997
+ */
11998
+ client_event_uuid: string;
11999
+ /** Terminal Id */
12000
+ terminal_id?: string | null;
12001
+ /**
12002
+ * Item Id
12003
+ * Format: uuid
12004
+ */
12005
+ item_id: string;
12006
+ /**
12007
+ * Decision
12008
+ * @enum {string}
12009
+ */
12010
+ decision: "REPAIR" | "NO_ACTION";
12011
+ /** Defect Code */
12012
+ defect_code?: string | null;
12013
+ /** Repair Type Code */
12014
+ repair_type_code?: string | null;
12015
+ /** Comment */
12016
+ comment?: string | null;
12017
+ };
12018
+ /**
12019
+ * VerdictLine
12020
+ * @description One part's line in an inspection pass — the same decision as VerdictIn,
12021
+ * minus the envelope, plus the operation the order should carry.
12022
+ *
12023
+ * `capability_code` is how «send it for investigation» is said: there is no
12024
+ * third reason_kind and there must not be one (a pseudo-defect «inspection»
12025
+ * would head the Pareto forever), so the order opens on its real reason and
12026
+ * carries e.g. дефектоскопия as its operation.
12027
+ */
12028
+ VerdictLine: {
12029
+ /**
12030
+ * Item Id
12031
+ * Format: uuid
12032
+ */
12033
+ item_id: string;
12034
+ /**
12035
+ * Decision
12036
+ * @enum {string}
12037
+ */
12038
+ decision: "REPAIR" | "NO_ACTION";
12039
+ /** Defect Code */
12040
+ defect_code?: string | null;
12041
+ /** Repair Type Code */
12042
+ repair_type_code?: string | null;
12043
+ /** Capability Code */
12044
+ capability_code?: string | null;
12045
+ /** Comment */
12046
+ comment?: string | null;
12047
+ };
12048
+ /** VerdictOut */
12049
+ VerdictOut: {
12050
+ /** Decision */
12051
+ decision: string;
12052
+ /** Work Order Id */
12053
+ work_order_id?: string | null;
12054
+ /** Work Order Number */
12055
+ work_order_number?: string | null;
12056
+ };
11489
12057
  /**
11490
12058
  * VisitOut
11491
12059
  * @description Current (unreleased) shop visit, when one exists in the data.
@@ -11590,6 +12158,8 @@ export interface components {
11590
12158
  returned_to_person_id: string | null;
11591
12159
  /** Closed At */
11592
12160
  closed_at: string | null;
12161
+ /** Item Status */
12162
+ item_status?: string | null;
11593
12163
  /** Tasks */
11594
12164
  tasks?: components["schemas"]["TaskOut"][];
11595
12165
  };
@@ -11709,6 +12279,8 @@ export interface components {
11709
12279
  returned_to_person_id: string | null;
11710
12280
  /** Closed At */
11711
12281
  closed_at: string | null;
12282
+ /** Item Status */
12283
+ item_status?: string | null;
11712
12284
  };
11713
12285
  /** WorkOrderStatusCount */
11714
12286
  WorkOrderStatusCount: {
@@ -15462,7 +16034,7 @@ export interface operations {
15462
16034
  };
15463
16035
  requestBody: {
15464
16036
  content: {
15465
- "application/json": components["schemas"]["InstallCommand"] | components["schemas"]["MoveCommand"] | components["schemas"]["HandoverCommand"] | components["schemas"]["RemoveCommand"] | components["schemas"]["ReceiveOpeningCommand"] | components["schemas"]["FoundCommand"] | components["schemas"]["InspectCommand"] | components["schemas"]["DispositionCommand"] | components["schemas"]["StornoCommand"] | components["schemas"]["RepairStartCommand"] | components["schemas"]["RepairPauseCommand"] | components["schemas"]["RepairResumeCommand"] | components["schemas"]["RepairFinishCommand"] | components["schemas"]["GenericCommand"];
16037
+ "application/json": components["schemas"]["InstallCommand"] | components["schemas"]["MoveCommand"] | components["schemas"]["HandoverCommand"] | components["schemas"]["RemoveCommand"] | components["schemas"]["ReceiveOpeningCommand"] | components["schemas"]["FoundCommand"] | components["schemas"]["InspectCommand"] | components["schemas"]["StoreInCommand"] | components["schemas"]["DispositionCommand"] | components["schemas"]["StornoCommand"] | components["schemas"]["RepairStartCommand"] | components["schemas"]["RepairPauseCommand"] | components["schemas"]["RepairResumeCommand"] | components["schemas"]["RepairFinishCommand"] | components["schemas"]["GenericCommand"];
15466
16038
  };
15467
16039
  };
15468
16040
  responses: {
@@ -17658,6 +18230,40 @@ export interface operations {
17658
18230
  };
17659
18231
  };
17660
18232
  };
18233
+ loco_sections_api_v1_refs_loco_sections_get: {
18234
+ parameters: {
18235
+ query?: never;
18236
+ header?: {
18237
+ authorization?: string | null;
18238
+ "x-debug-person-id"?: string | null;
18239
+ };
18240
+ path?: never;
18241
+ cookie?: {
18242
+ depo_admin_session?: string | null;
18243
+ };
18244
+ };
18245
+ requestBody?: never;
18246
+ responses: {
18247
+ /** @description Successful Response */
18248
+ 200: {
18249
+ headers: {
18250
+ [name: string]: unknown;
18251
+ };
18252
+ content: {
18253
+ "application/json": components["schemas"]["LocoSectionRef"][];
18254
+ };
18255
+ };
18256
+ /** @description Validation Error */
18257
+ 422: {
18258
+ headers: {
18259
+ [name: string]: unknown;
18260
+ };
18261
+ content: {
18262
+ "application/json": components["schemas"]["HTTPValidationError"];
18263
+ };
18264
+ };
18265
+ };
18266
+ };
17661
18267
  loco_series_positions_api_v1_refs_loco_series_positions_get: {
17662
18268
  parameters: {
17663
18269
  query?: never;
@@ -18264,6 +18870,74 @@ export interface operations {
18264
18870
  };
18265
18871
  };
18266
18872
  };
18873
+ kpi_trend_api_v1_reports_kpi_trend_get: {
18874
+ parameters: {
18875
+ query?: {
18876
+ days?: number;
18877
+ };
18878
+ header?: {
18879
+ "x-debug-person-id"?: string | null;
18880
+ };
18881
+ path?: never;
18882
+ cookie?: {
18883
+ depo_admin_session?: string | null;
18884
+ };
18885
+ };
18886
+ requestBody?: never;
18887
+ responses: {
18888
+ /** @description Successful Response */
18889
+ 200: {
18890
+ headers: {
18891
+ [name: string]: unknown;
18892
+ };
18893
+ content: {
18894
+ "application/json": components["schemas"]["KpiTrend"];
18895
+ };
18896
+ };
18897
+ /** @description Validation Error */
18898
+ 422: {
18899
+ headers: {
18900
+ [name: string]: unknown;
18901
+ };
18902
+ content: {
18903
+ "application/json": components["schemas"]["HTTPValidationError"];
18904
+ };
18905
+ };
18906
+ };
18907
+ };
18908
+ nav_counters_api_v1_reports_nav_counters_get: {
18909
+ parameters: {
18910
+ query?: never;
18911
+ header?: {
18912
+ "x-debug-person-id"?: string | null;
18913
+ };
18914
+ path?: never;
18915
+ cookie?: {
18916
+ depo_admin_session?: string | null;
18917
+ };
18918
+ };
18919
+ requestBody?: never;
18920
+ responses: {
18921
+ /** @description Successful Response */
18922
+ 200: {
18923
+ headers: {
18924
+ [name: string]: unknown;
18925
+ };
18926
+ content: {
18927
+ "application/json": components["schemas"]["NavCounters"];
18928
+ };
18929
+ };
18930
+ /** @description Validation Error */
18931
+ 422: {
18932
+ headers: {
18933
+ [name: string]: unknown;
18934
+ };
18935
+ content: {
18936
+ "application/json": components["schemas"]["HTTPValidationError"];
18937
+ };
18938
+ };
18939
+ };
18940
+ };
18267
18941
  open_orders_api_v1_reports_open_orders_get: {
18268
18942
  parameters: {
18269
18943
  query?: {
@@ -20128,6 +20802,152 @@ export interface operations {
20128
20802
  };
20129
20803
  };
20130
20804
  };
20805
+ open_measuring_order_api_v1_work_orders_measuring_post: {
20806
+ parameters: {
20807
+ query?: never;
20808
+ header?: {
20809
+ authorization?: string | null;
20810
+ "x-debug-person-id"?: string | null;
20811
+ };
20812
+ path?: never;
20813
+ cookie?: never;
20814
+ };
20815
+ requestBody: {
20816
+ content: {
20817
+ "application/json": components["schemas"]["MeasuringOrderIn"];
20818
+ };
20819
+ };
20820
+ responses: {
20821
+ /** @description Successful Response */
20822
+ 200: {
20823
+ headers: {
20824
+ [name: string]: unknown;
20825
+ };
20826
+ content: {
20827
+ "application/json": components["schemas"]["WorkOrderDetail"];
20828
+ };
20829
+ };
20830
+ /** @description Validation Error */
20831
+ 422: {
20832
+ headers: {
20833
+ [name: string]: unknown;
20834
+ };
20835
+ content: {
20836
+ "application/json": components["schemas"]["HTTPValidationError"];
20837
+ };
20838
+ };
20839
+ };
20840
+ };
20841
+ measuring_items_api_v1_work_orders_measuring__wo_id__items_get: {
20842
+ parameters: {
20843
+ query?: never;
20844
+ header?: {
20845
+ authorization?: string | null;
20846
+ "x-debug-person-id"?: string | null;
20847
+ };
20848
+ path: {
20849
+ wo_id: string;
20850
+ };
20851
+ cookie?: never;
20852
+ };
20853
+ requestBody?: never;
20854
+ responses: {
20855
+ /** @description Successful Response */
20856
+ 200: {
20857
+ headers: {
20858
+ [name: string]: unknown;
20859
+ };
20860
+ content: {
20861
+ "application/json": components["schemas"]["MeasuredItemOut"][];
20862
+ };
20863
+ };
20864
+ /** @description Validation Error */
20865
+ 422: {
20866
+ headers: {
20867
+ [name: string]: unknown;
20868
+ };
20869
+ content: {
20870
+ "application/json": components["schemas"]["HTTPValidationError"];
20871
+ };
20872
+ };
20873
+ };
20874
+ };
20875
+ measuring_verdict_api_v1_work_orders_measuring__wo_id__verdict_post: {
20876
+ parameters: {
20877
+ query?: never;
20878
+ header?: {
20879
+ authorization?: string | null;
20880
+ "x-debug-person-id"?: string | null;
20881
+ };
20882
+ path: {
20883
+ wo_id: string;
20884
+ };
20885
+ cookie?: never;
20886
+ };
20887
+ requestBody: {
20888
+ content: {
20889
+ "application/json": components["schemas"]["VerdictIn"];
20890
+ };
20891
+ };
20892
+ responses: {
20893
+ /** @description Successful Response */
20894
+ 200: {
20895
+ headers: {
20896
+ [name: string]: unknown;
20897
+ };
20898
+ content: {
20899
+ "application/json": components["schemas"]["VerdictOut"];
20900
+ };
20901
+ };
20902
+ /** @description Validation Error */
20903
+ 422: {
20904
+ headers: {
20905
+ [name: string]: unknown;
20906
+ };
20907
+ content: {
20908
+ "application/json": components["schemas"]["HTTPValidationError"];
20909
+ };
20910
+ };
20911
+ };
20912
+ };
20913
+ inspection_sign_api_v1_work_orders_measuring__wo_id__verdicts_post: {
20914
+ parameters: {
20915
+ query?: never;
20916
+ header?: {
20917
+ authorization?: string | null;
20918
+ "x-debug-person-id"?: string | null;
20919
+ };
20920
+ path: {
20921
+ wo_id: string;
20922
+ };
20923
+ cookie?: never;
20924
+ };
20925
+ requestBody: {
20926
+ content: {
20927
+ "application/json": components["schemas"]["InspectionSignIn"];
20928
+ };
20929
+ };
20930
+ responses: {
20931
+ /** @description Successful Response */
20932
+ 200: {
20933
+ headers: {
20934
+ [name: string]: unknown;
20935
+ };
20936
+ content: {
20937
+ "application/json": components["schemas"]["InspectionSignOut"];
20938
+ };
20939
+ };
20940
+ /** @description Validation Error */
20941
+ 422: {
20942
+ headers: {
20943
+ [name: string]: unknown;
20944
+ };
20945
+ content: {
20946
+ "application/json": components["schemas"]["HTTPValidationError"];
20947
+ };
20948
+ };
20949
+ };
20950
+ };
20131
20951
  accept_order_api_v1_work_orders__wo_id__accept_post: {
20132
20952
  parameters: {
20133
20953
  query?: never;
@@ -20437,6 +21257,45 @@ export interface operations {
20437
21257
  };
20438
21258
  };
20439
21259
  };
21260
+ cosign_task_op_api_v1_work_orders__wo_id__tasks__task_id__cosign_op_post: {
21261
+ parameters: {
21262
+ query?: never;
21263
+ header?: {
21264
+ authorization?: string | null;
21265
+ "x-debug-person-id"?: string | null;
21266
+ };
21267
+ path: {
21268
+ wo_id: string;
21269
+ task_id: string;
21270
+ };
21271
+ cookie?: never;
21272
+ };
21273
+ requestBody: {
21274
+ content: {
21275
+ "application/json": components["schemas"]["TaskCosignIn"];
21276
+ };
21277
+ };
21278
+ responses: {
21279
+ /** @description Successful Response */
21280
+ 200: {
21281
+ headers: {
21282
+ [name: string]: unknown;
21283
+ };
21284
+ content: {
21285
+ "application/json": components["schemas"]["TaskOut"];
21286
+ };
21287
+ };
21288
+ /** @description Validation Error */
21289
+ 422: {
21290
+ headers: {
21291
+ [name: string]: unknown;
21292
+ };
21293
+ content: {
21294
+ "application/json": components["schemas"]["HTTPValidationError"];
21295
+ };
21296
+ };
21297
+ };
21298
+ };
20440
21299
  work_accept_sign_api_v1_work_orders__wo_id__work_accept_sign_post: {
20441
21300
  parameters: {
20442
21301
  query?: never;