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