repzo 1.0.154 → 1.0.156
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/changelog.md +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.js +38 -0
- package/lib/types/index.d.ts +462 -198
- package/lib/types/index.js +2 -1
- package/package.json +2 -2
- package/src/index.ts +4890 -0
- package/src/oas/activity-ai-sales-order.yaml +623 -0
- package/src/oas/activity-feedback-v2.yaml +753 -0
- package/src/oas/activity-feedback.yaml +645 -0
- package/src/oas/activity-storecheck.yaml +379 -0
- package/src/oas/adjust-account.yaml +241 -0
- package/src/oas/adjust-inventory.yaml +133 -0
- package/src/oas/approval-request.yaml +211 -0
- package/src/oas/approvals.yaml +176 -0
- package/src/oas/asset-part-receival.yaml +591 -0
- package/src/oas/asset-part-transfer.yaml +618 -0
- package/src/oas/asset-part-type.yaml +383 -0
- package/src/oas/asset-part-unit.yaml +722 -0
- package/src/oas/asset-part.yaml +485 -0
- package/src/oas/asset-type.yaml +180 -0
- package/src/oas/asset-unit.yaml +705 -0
- package/src/oas/asset.yaml +204 -0
- package/src/oas/banks.yaml +168 -0
- package/src/oas/bankslists.yaml +168 -0
- package/src/oas/brand.yaml +246 -0
- package/src/oas/category.yaml +285 -0
- package/src/oas/checks.yaml +247 -0
- package/src/oas/client-channel.yaml +480 -0
- package/src/oas/client-contact.yaml +665 -0
- package/src/oas/client-location.yaml +687 -0
- package/src/oas/client.yaml +669 -0
- package/src/oas/contract-installment.yaml +740 -0
- package/src/oas/contract.yaml +210 -0
- package/src/oas/custom-list-item.yaml +168 -0
- package/src/oas/custom-list.yaml +168 -0
- package/src/oas/custom-status.yaml +168 -0
- package/src/oas/day.yaml +246 -0
- package/src/oas/feedback-options.yaml +802 -0
- package/src/oas/fullinvoices.yaml +584 -0
- package/src/oas/integration-action-log.yaml +361 -0
- package/src/oas/integration-app.yaml +303 -0
- package/src/oas/integration-command-log.yaml +381 -0
- package/src/oas/inventory-adjustment-reason.yaml +165 -0
- package/src/oas/inventory.yaml +64 -0
- package/src/oas/mail-unsubscribe.yaml +463 -0
- package/src/oas/measureunit-family.yaml +354 -0
- package/src/oas/measureunit.yaml +366 -0
- package/src/oas/media-storage.yaml +329 -0
- package/src/oas/media.yaml +472 -0
- package/src/oas/msl-products.yaml +180 -0
- package/src/oas/msl.yaml +186 -0
- package/src/oas/ocr-invoice-job-group.yaml +528 -0
- package/src/oas/ocr-invoice-job-page.yaml +602 -0
- package/src/oas/ocr-invoice-job-template.yaml +628 -0
- package/src/oas/ocr-invoice-job.yaml +603 -0
- package/src/oas/patch-action.yaml +421 -0
- package/src/oas/payment-terms.yaml +235 -0
- package/src/oas/payments.yaml +536 -0
- package/src/oas/pricelist-item.yaml +369 -0
- package/src/oas/pricelist.yaml +287 -0
- package/src/oas/product-group.yaml +278 -0
- package/src/oas/product-modifiers-group.yaml +524 -0
- package/src/oas/product.yaml +578 -0
- package/src/oas/proforma.yaml +180 -0
- package/src/oas/quick-convert-to-pdf.yaml +95 -0
- package/src/oas/receiving-material.yaml +336 -0
- package/src/oas/refund.yaml +281 -0
- package/src/oas/rep-balance-summary.yaml +135 -0
- package/src/oas/rep.yaml +1824 -0
- package/src/oas/return-asset-part-unit.yaml +573 -0
- package/src/oas/return-reason.yaml +286 -0
- package/src/oas/route.yaml +337 -0
- package/src/oas/safe-invoice-serial-counter.yaml +525 -0
- package/src/oas/settings.yaml +123 -0
- package/src/oas/settlement.yaml +505 -0
- package/src/oas/speciality.yaml +447 -0
- package/src/oas/store-asset-part-unit.yaml +658 -0
- package/src/oas/storecheck-template.yaml +415 -0
- package/src/oas/subcategory.yaml +355 -0
- package/src/oas/supplier.yaml +183 -0
- package/src/oas/svix-integration.yaml +335 -0
- package/src/oas/tag.yaml +272 -0
- package/src/oas/tax.yaml +303 -0
- package/src/oas/team.yaml +268 -0
- package/src/oas/transfer.yaml +347 -0
- package/src/oas/update-integration-meta.yaml +387 -0
- package/src/oas/variant.yaml +569 -0
- package/src/oas/visit.yaml +174 -0
- package/src/oas/warehouse.yaml +311 -0
- package/src/oas/workorder-category.yaml +751 -0
- package/src/oas/workorder-portal-link.yaml +811 -0
- package/src/oas/workorder-portal.yaml +650 -0
- package/src/oas/workorder-request.yaml +193 -0
- package/src/oas/workorder.yaml +204 -0
- package/src/types/index.ts +1175 -223
|
@@ -0,0 +1,751 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
title: Workorder Category API
|
|
4
|
+
description: API for managing workorder categories
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
servers:
|
|
7
|
+
- url: https://api.repzo.me/v1
|
|
8
|
+
description: Production server
|
|
9
|
+
security:
|
|
10
|
+
- ApiKeyAuth: []
|
|
11
|
+
tags:
|
|
12
|
+
- name: Workorder Category
|
|
13
|
+
description: Workorder category management operations
|
|
14
|
+
paths:
|
|
15
|
+
/workorder-category:
|
|
16
|
+
get:
|
|
17
|
+
tags:
|
|
18
|
+
- Workorder Category
|
|
19
|
+
summary: Get all workorder categories
|
|
20
|
+
description: Retrieve a list of all workorder categories with optional filtering and pagination
|
|
21
|
+
parameters:
|
|
22
|
+
- name: page
|
|
23
|
+
in: query
|
|
24
|
+
description: Page number for pagination
|
|
25
|
+
required: false
|
|
26
|
+
schema:
|
|
27
|
+
type: integer
|
|
28
|
+
minimum: 1
|
|
29
|
+
default: 1
|
|
30
|
+
- name: per_page
|
|
31
|
+
in: query
|
|
32
|
+
description: Number of items per page
|
|
33
|
+
required: false
|
|
34
|
+
schema:
|
|
35
|
+
type: integer
|
|
36
|
+
minimum: 1
|
|
37
|
+
maximum: 100
|
|
38
|
+
default: 25
|
|
39
|
+
- name: sort
|
|
40
|
+
in: query
|
|
41
|
+
description: Sort field
|
|
42
|
+
required: false
|
|
43
|
+
schema:
|
|
44
|
+
type: string
|
|
45
|
+
- name: company_namespace
|
|
46
|
+
in: query
|
|
47
|
+
description: Company namespace for filtering
|
|
48
|
+
required: false
|
|
49
|
+
schema:
|
|
50
|
+
type: array
|
|
51
|
+
items:
|
|
52
|
+
type: string
|
|
53
|
+
- name: disabled
|
|
54
|
+
in: query
|
|
55
|
+
description: Filter by disabled status
|
|
56
|
+
required: false
|
|
57
|
+
schema:
|
|
58
|
+
type: boolean
|
|
59
|
+
- name: parent_category
|
|
60
|
+
in: query
|
|
61
|
+
description: Filter by parent category ID
|
|
62
|
+
required: false
|
|
63
|
+
schema:
|
|
64
|
+
type: string
|
|
65
|
+
- name: _id
|
|
66
|
+
in: query
|
|
67
|
+
description: Filter by ID
|
|
68
|
+
required: false
|
|
69
|
+
schema:
|
|
70
|
+
type: array
|
|
71
|
+
items:
|
|
72
|
+
type: string
|
|
73
|
+
responses:
|
|
74
|
+
"200":
|
|
75
|
+
description: Successful response
|
|
76
|
+
content:
|
|
77
|
+
application/json:
|
|
78
|
+
schema:
|
|
79
|
+
type: object
|
|
80
|
+
properties:
|
|
81
|
+
success:
|
|
82
|
+
type: boolean
|
|
83
|
+
example: true
|
|
84
|
+
data:
|
|
85
|
+
type: array
|
|
86
|
+
items:
|
|
87
|
+
$ref: "#/components/schemas/WorkorderCategory"
|
|
88
|
+
paging:
|
|
89
|
+
$ref: "#/components/schemas/PagingInfo"
|
|
90
|
+
"400":
|
|
91
|
+
$ref: "#/components/responses/BadRequest"
|
|
92
|
+
"401":
|
|
93
|
+
$ref: "#/components/responses/Unauthorized"
|
|
94
|
+
"403":
|
|
95
|
+
$ref: "#/components/responses/Forbidden"
|
|
96
|
+
"500":
|
|
97
|
+
$ref: "#/components/responses/InternalServerError"
|
|
98
|
+
post:
|
|
99
|
+
tags:
|
|
100
|
+
- Workorder Category
|
|
101
|
+
summary: Create a new workorder category
|
|
102
|
+
description: Create a new workorder category
|
|
103
|
+
requestBody:
|
|
104
|
+
required: true
|
|
105
|
+
content:
|
|
106
|
+
application/json:
|
|
107
|
+
schema:
|
|
108
|
+
$ref: "#/components/schemas/CreateWorkorderCategoryRequest"
|
|
109
|
+
responses:
|
|
110
|
+
"201":
|
|
111
|
+
description: Workorder category created successfully
|
|
112
|
+
content:
|
|
113
|
+
application/json:
|
|
114
|
+
schema:
|
|
115
|
+
type: object
|
|
116
|
+
properties:
|
|
117
|
+
success:
|
|
118
|
+
type: boolean
|
|
119
|
+
example: true
|
|
120
|
+
data:
|
|
121
|
+
$ref: "#/components/schemas/WorkorderCategory"
|
|
122
|
+
"400":
|
|
123
|
+
$ref: "#/components/responses/BadRequest"
|
|
124
|
+
"401":
|
|
125
|
+
$ref: "#/components/responses/Unauthorized"
|
|
126
|
+
"403":
|
|
127
|
+
$ref: "#/components/responses/Forbidden"
|
|
128
|
+
"422":
|
|
129
|
+
$ref: "#/components/responses/ValidationError"
|
|
130
|
+
"500":
|
|
131
|
+
$ref: "#/components/responses/InternalServerError"
|
|
132
|
+
/workorder-category/{id}:
|
|
133
|
+
get:
|
|
134
|
+
tags:
|
|
135
|
+
- Workorder Category
|
|
136
|
+
summary: Get workorder category by ID
|
|
137
|
+
description: Retrieve a specific workorder category by its ID
|
|
138
|
+
parameters:
|
|
139
|
+
- name: id
|
|
140
|
+
in: path
|
|
141
|
+
required: true
|
|
142
|
+
description: Workorder category ID
|
|
143
|
+
schema:
|
|
144
|
+
type: string
|
|
145
|
+
responses:
|
|
146
|
+
"200":
|
|
147
|
+
description: Successful response
|
|
148
|
+
content:
|
|
149
|
+
application/json:
|
|
150
|
+
schema:
|
|
151
|
+
type: object
|
|
152
|
+
properties:
|
|
153
|
+
success:
|
|
154
|
+
type: boolean
|
|
155
|
+
example: true
|
|
156
|
+
data:
|
|
157
|
+
$ref: "#/components/schemas/WorkorderCategory"
|
|
158
|
+
"400":
|
|
159
|
+
$ref: "#/components/responses/BadRequest"
|
|
160
|
+
"401":
|
|
161
|
+
$ref: "#/components/responses/Unauthorized"
|
|
162
|
+
"403":
|
|
163
|
+
$ref: "#/components/responses/Forbidden"
|
|
164
|
+
"404":
|
|
165
|
+
$ref: "#/components/responses/NotFound"
|
|
166
|
+
"500":
|
|
167
|
+
$ref: "#/components/responses/InternalServerError"
|
|
168
|
+
patch:
|
|
169
|
+
tags:
|
|
170
|
+
- Workorder Category
|
|
171
|
+
summary: Update workorder category
|
|
172
|
+
description: Update an existing workorder category
|
|
173
|
+
parameters:
|
|
174
|
+
- name: id
|
|
175
|
+
in: path
|
|
176
|
+
required: true
|
|
177
|
+
description: Workorder category ID
|
|
178
|
+
schema:
|
|
179
|
+
type: string
|
|
180
|
+
requestBody:
|
|
181
|
+
required: true
|
|
182
|
+
content:
|
|
183
|
+
application/json:
|
|
184
|
+
schema:
|
|
185
|
+
$ref: "#/components/schemas/UpdateWorkorderCategoryRequest"
|
|
186
|
+
responses:
|
|
187
|
+
"200":
|
|
188
|
+
description: Workorder category updated successfully
|
|
189
|
+
content:
|
|
190
|
+
application/json:
|
|
191
|
+
schema:
|
|
192
|
+
type: object
|
|
193
|
+
properties:
|
|
194
|
+
success:
|
|
195
|
+
type: boolean
|
|
196
|
+
example: true
|
|
197
|
+
data:
|
|
198
|
+
$ref: "#/components/schemas/WorkorderCategory"
|
|
199
|
+
"400":
|
|
200
|
+
$ref: "#/components/responses/BadRequest"
|
|
201
|
+
"401":
|
|
202
|
+
$ref: "#/components/responses/Unauthorized"
|
|
203
|
+
"403":
|
|
204
|
+
$ref: "#/components/responses/Forbidden"
|
|
205
|
+
"404":
|
|
206
|
+
$ref: "#/components/responses/NotFound"
|
|
207
|
+
"422":
|
|
208
|
+
$ref: "#/components/responses/ValidationError"
|
|
209
|
+
"500":
|
|
210
|
+
$ref: "#/components/responses/InternalServerError"
|
|
211
|
+
delete:
|
|
212
|
+
tags:
|
|
213
|
+
- Workorder Category
|
|
214
|
+
summary: Delete workorder category
|
|
215
|
+
description: Delete a workorder category by ID
|
|
216
|
+
parameters:
|
|
217
|
+
- name: id
|
|
218
|
+
in: path
|
|
219
|
+
required: true
|
|
220
|
+
description: Workorder category ID
|
|
221
|
+
schema:
|
|
222
|
+
type: string
|
|
223
|
+
responses:
|
|
224
|
+
"200":
|
|
225
|
+
description: Workorder category deleted successfully
|
|
226
|
+
content:
|
|
227
|
+
application/json:
|
|
228
|
+
schema:
|
|
229
|
+
type: object
|
|
230
|
+
properties:
|
|
231
|
+
success:
|
|
232
|
+
type: boolean
|
|
233
|
+
example: true
|
|
234
|
+
"400":
|
|
235
|
+
$ref: "#/components/responses/BadRequest"
|
|
236
|
+
"401":
|
|
237
|
+
$ref: "#/components/responses/Unauthorized"
|
|
238
|
+
"403":
|
|
239
|
+
$ref: "#/components/responses/Forbidden"
|
|
240
|
+
"404":
|
|
241
|
+
$ref: "#/components/responses/NotFound"
|
|
242
|
+
"500":
|
|
243
|
+
$ref: "#/components/responses/InternalServerError"
|
|
244
|
+
/workorder-category/remove:
|
|
245
|
+
post:
|
|
246
|
+
tags:
|
|
247
|
+
- Workorder Category
|
|
248
|
+
summary: Bulk delete workorder categories
|
|
249
|
+
description: Delete multiple workorder categories by their IDs
|
|
250
|
+
requestBody:
|
|
251
|
+
required: true
|
|
252
|
+
content:
|
|
253
|
+
application/json:
|
|
254
|
+
schema:
|
|
255
|
+
type: object
|
|
256
|
+
properties:
|
|
257
|
+
ids:
|
|
258
|
+
type: array
|
|
259
|
+
items:
|
|
260
|
+
type: string
|
|
261
|
+
description: Array of workorder category IDs to delete
|
|
262
|
+
required:
|
|
263
|
+
- ids
|
|
264
|
+
responses:
|
|
265
|
+
"200":
|
|
266
|
+
description: Workorder categories deleted successfully
|
|
267
|
+
content:
|
|
268
|
+
application/json:
|
|
269
|
+
schema:
|
|
270
|
+
type: object
|
|
271
|
+
properties:
|
|
272
|
+
success:
|
|
273
|
+
type: boolean
|
|
274
|
+
example: true
|
|
275
|
+
"400":
|
|
276
|
+
$ref: "#/components/responses/BadRequest"
|
|
277
|
+
"401":
|
|
278
|
+
$ref: "#/components/responses/Unauthorized"
|
|
279
|
+
"403":
|
|
280
|
+
$ref: "#/components/responses/Forbidden"
|
|
281
|
+
"500":
|
|
282
|
+
$ref: "#/components/responses/InternalServerError"
|
|
283
|
+
/workorder-category/hierarchy:
|
|
284
|
+
get:
|
|
285
|
+
tags:
|
|
286
|
+
- Workorder Category
|
|
287
|
+
summary: Get category hierarchy
|
|
288
|
+
description: Get workorder categories in hierarchical structure
|
|
289
|
+
responses:
|
|
290
|
+
"200":
|
|
291
|
+
description: Category hierarchy retrieved successfully
|
|
292
|
+
content:
|
|
293
|
+
application/json:
|
|
294
|
+
schema:
|
|
295
|
+
type: object
|
|
296
|
+
properties:
|
|
297
|
+
success:
|
|
298
|
+
type: boolean
|
|
299
|
+
example: true
|
|
300
|
+
data:
|
|
301
|
+
type: array
|
|
302
|
+
items:
|
|
303
|
+
$ref: "#/components/schemas/WorkorderCategoryHierarchy"
|
|
304
|
+
"400":
|
|
305
|
+
$ref: "#/components/responses/BadRequest"
|
|
306
|
+
"401":
|
|
307
|
+
$ref: "#/components/responses/Unauthorized"
|
|
308
|
+
"403":
|
|
309
|
+
$ref: "#/components/responses/Forbidden"
|
|
310
|
+
"500":
|
|
311
|
+
$ref: "#/components/responses/InternalServerError"
|
|
312
|
+
components:
|
|
313
|
+
securitySchemes:
|
|
314
|
+
ApiKeyAuth:
|
|
315
|
+
type: apiKey
|
|
316
|
+
in: header
|
|
317
|
+
name: Authorization
|
|
318
|
+
description: "Use format: Bearer {api_key}"
|
|
319
|
+
schemas:
|
|
320
|
+
WorkorderCategory:
|
|
321
|
+
type: object
|
|
322
|
+
properties:
|
|
323
|
+
_id:
|
|
324
|
+
type: string
|
|
325
|
+
description: Unique identifier
|
|
326
|
+
example: "507f1f77bcf86cd799439011"
|
|
327
|
+
name:
|
|
328
|
+
type: string
|
|
329
|
+
description: Category name
|
|
330
|
+
example: "Maintenance"
|
|
331
|
+
description:
|
|
332
|
+
type: string
|
|
333
|
+
description: Category description
|
|
334
|
+
example: "General maintenance workorders"
|
|
335
|
+
code:
|
|
336
|
+
type: string
|
|
337
|
+
description: Category code for identification
|
|
338
|
+
example: "MAINT"
|
|
339
|
+
parent_category:
|
|
340
|
+
type: string
|
|
341
|
+
description: Parent category ID for hierarchical structure
|
|
342
|
+
example: "507f1f77bcf86cd799439012"
|
|
343
|
+
color:
|
|
344
|
+
type: string
|
|
345
|
+
description: Color code for visual identification
|
|
346
|
+
example: "#FF5733"
|
|
347
|
+
icon:
|
|
348
|
+
type: string
|
|
349
|
+
description: Icon identifier
|
|
350
|
+
example: "wrench"
|
|
351
|
+
priority_level:
|
|
352
|
+
type: integer
|
|
353
|
+
description: Default priority level for workorders in this category
|
|
354
|
+
minimum: 1
|
|
355
|
+
maximum: 5
|
|
356
|
+
example: 3
|
|
357
|
+
estimated_duration:
|
|
358
|
+
type: integer
|
|
359
|
+
description: Estimated duration in minutes
|
|
360
|
+
example: 120
|
|
361
|
+
required_skills:
|
|
362
|
+
type: array
|
|
363
|
+
items:
|
|
364
|
+
type: string
|
|
365
|
+
description: Skills required for this category
|
|
366
|
+
example: ["electrical", "plumbing"]
|
|
367
|
+
default_assignee:
|
|
368
|
+
type: string
|
|
369
|
+
description: Default assignee for this category
|
|
370
|
+
example: "507f1f77bcf86cd799439013"
|
|
371
|
+
notification_settings:
|
|
372
|
+
type: object
|
|
373
|
+
properties:
|
|
374
|
+
notify_on_creation:
|
|
375
|
+
type: boolean
|
|
376
|
+
description: Send notification when workorder is created
|
|
377
|
+
notify_on_completion:
|
|
378
|
+
type: boolean
|
|
379
|
+
description: Send notification when workorder is completed
|
|
380
|
+
escalation_time:
|
|
381
|
+
type: integer
|
|
382
|
+
description: Time in hours before escalation
|
|
383
|
+
approval_required:
|
|
384
|
+
type: boolean
|
|
385
|
+
description: Whether approval is required for workorders in this category
|
|
386
|
+
example: false
|
|
387
|
+
custom_fields:
|
|
388
|
+
type: array
|
|
389
|
+
items:
|
|
390
|
+
type: object
|
|
391
|
+
properties:
|
|
392
|
+
field_name:
|
|
393
|
+
type: string
|
|
394
|
+
field_type:
|
|
395
|
+
type: string
|
|
396
|
+
enum: ["text", "number", "date", "select", "checkbox"]
|
|
397
|
+
is_required:
|
|
398
|
+
type: boolean
|
|
399
|
+
options:
|
|
400
|
+
type: array
|
|
401
|
+
items:
|
|
402
|
+
type: string
|
|
403
|
+
description: Custom fields for this category
|
|
404
|
+
sla_settings:
|
|
405
|
+
type: object
|
|
406
|
+
properties:
|
|
407
|
+
response_time:
|
|
408
|
+
type: integer
|
|
409
|
+
description: Response time in hours
|
|
410
|
+
resolution_time:
|
|
411
|
+
type: integer
|
|
412
|
+
description: Resolution time in hours
|
|
413
|
+
business_hours_only:
|
|
414
|
+
type: boolean
|
|
415
|
+
description: Whether SLA applies only to business hours
|
|
416
|
+
sort_order:
|
|
417
|
+
type: integer
|
|
418
|
+
description: Sort order for display
|
|
419
|
+
example: 1
|
|
420
|
+
company_namespace:
|
|
421
|
+
type: array
|
|
422
|
+
items:
|
|
423
|
+
type: string
|
|
424
|
+
description: Company namespace
|
|
425
|
+
disabled:
|
|
426
|
+
type: boolean
|
|
427
|
+
description: Whether the category is disabled
|
|
428
|
+
example: false
|
|
429
|
+
createdAt:
|
|
430
|
+
type: string
|
|
431
|
+
format: date-time
|
|
432
|
+
description: Creation timestamp
|
|
433
|
+
modifiedAt:
|
|
434
|
+
type: string
|
|
435
|
+
format: date-time
|
|
436
|
+
description: Last modification timestamp
|
|
437
|
+
SVClient:
|
|
438
|
+
type: integer
|
|
439
|
+
description: Client version
|
|
440
|
+
__v:
|
|
441
|
+
type: integer
|
|
442
|
+
description: Document version
|
|
443
|
+
required:
|
|
444
|
+
- name
|
|
445
|
+
WorkorderCategoryHierarchy:
|
|
446
|
+
type: object
|
|
447
|
+
properties:
|
|
448
|
+
_id:
|
|
449
|
+
type: string
|
|
450
|
+
description: Category ID
|
|
451
|
+
name:
|
|
452
|
+
type: string
|
|
453
|
+
description: Category name
|
|
454
|
+
description:
|
|
455
|
+
type: string
|
|
456
|
+
description: Category description
|
|
457
|
+
code:
|
|
458
|
+
type: string
|
|
459
|
+
description: Category code
|
|
460
|
+
color:
|
|
461
|
+
type: string
|
|
462
|
+
description: Color code
|
|
463
|
+
icon:
|
|
464
|
+
type: string
|
|
465
|
+
description: Icon identifier
|
|
466
|
+
children:
|
|
467
|
+
type: array
|
|
468
|
+
items:
|
|
469
|
+
$ref: "#/components/schemas/WorkorderCategoryHierarchy"
|
|
470
|
+
description: Child categories
|
|
471
|
+
workorder_count:
|
|
472
|
+
type: integer
|
|
473
|
+
description: Number of workorders in this category
|
|
474
|
+
CreateWorkorderCategoryRequest:
|
|
475
|
+
type: object
|
|
476
|
+
properties:
|
|
477
|
+
name:
|
|
478
|
+
type: string
|
|
479
|
+
description: Category name
|
|
480
|
+
example: "Maintenance"
|
|
481
|
+
description:
|
|
482
|
+
type: string
|
|
483
|
+
description: Category description
|
|
484
|
+
example: "General maintenance workorders"
|
|
485
|
+
code:
|
|
486
|
+
type: string
|
|
487
|
+
description: Category code for identification
|
|
488
|
+
example: "MAINT"
|
|
489
|
+
parent_category:
|
|
490
|
+
type: string
|
|
491
|
+
description: Parent category ID for hierarchical structure
|
|
492
|
+
color:
|
|
493
|
+
type: string
|
|
494
|
+
description: Color code for visual identification
|
|
495
|
+
example: "#FF5733"
|
|
496
|
+
icon:
|
|
497
|
+
type: string
|
|
498
|
+
description: Icon identifier
|
|
499
|
+
example: "wrench"
|
|
500
|
+
priority_level:
|
|
501
|
+
type: integer
|
|
502
|
+
description: Default priority level for workorders in this category
|
|
503
|
+
minimum: 1
|
|
504
|
+
maximum: 5
|
|
505
|
+
default: 3
|
|
506
|
+
estimated_duration:
|
|
507
|
+
type: integer
|
|
508
|
+
description: Estimated duration in minutes
|
|
509
|
+
required_skills:
|
|
510
|
+
type: array
|
|
511
|
+
items:
|
|
512
|
+
type: string
|
|
513
|
+
description: Skills required for this category
|
|
514
|
+
default_assignee:
|
|
515
|
+
type: string
|
|
516
|
+
description: Default assignee for this category
|
|
517
|
+
notification_settings:
|
|
518
|
+
type: object
|
|
519
|
+
properties:
|
|
520
|
+
notify_on_creation:
|
|
521
|
+
type: boolean
|
|
522
|
+
default: true
|
|
523
|
+
notify_on_completion:
|
|
524
|
+
type: boolean
|
|
525
|
+
default: true
|
|
526
|
+
escalation_time:
|
|
527
|
+
type: integer
|
|
528
|
+
approval_required:
|
|
529
|
+
type: boolean
|
|
530
|
+
description: Whether approval is required for workorders in this category
|
|
531
|
+
default: false
|
|
532
|
+
custom_fields:
|
|
533
|
+
type: array
|
|
534
|
+
items:
|
|
535
|
+
type: object
|
|
536
|
+
properties:
|
|
537
|
+
field_name:
|
|
538
|
+
type: string
|
|
539
|
+
field_type:
|
|
540
|
+
type: string
|
|
541
|
+
enum: ["text", "number", "date", "select", "checkbox"]
|
|
542
|
+
is_required:
|
|
543
|
+
type: boolean
|
|
544
|
+
options:
|
|
545
|
+
type: array
|
|
546
|
+
items:
|
|
547
|
+
type: string
|
|
548
|
+
sla_settings:
|
|
549
|
+
type: object
|
|
550
|
+
properties:
|
|
551
|
+
response_time:
|
|
552
|
+
type: integer
|
|
553
|
+
resolution_time:
|
|
554
|
+
type: integer
|
|
555
|
+
business_hours_only:
|
|
556
|
+
type: boolean
|
|
557
|
+
default: true
|
|
558
|
+
sort_order:
|
|
559
|
+
type: integer
|
|
560
|
+
description: Sort order for display
|
|
561
|
+
default: 0
|
|
562
|
+
company_namespace:
|
|
563
|
+
type: array
|
|
564
|
+
items:
|
|
565
|
+
type: string
|
|
566
|
+
description: Company namespace
|
|
567
|
+
disabled:
|
|
568
|
+
type: boolean
|
|
569
|
+
description: Whether the category is disabled
|
|
570
|
+
default: false
|
|
571
|
+
required:
|
|
572
|
+
- name
|
|
573
|
+
UpdateWorkorderCategoryRequest:
|
|
574
|
+
type: object
|
|
575
|
+
properties:
|
|
576
|
+
name:
|
|
577
|
+
type: string
|
|
578
|
+
description: Category name
|
|
579
|
+
description:
|
|
580
|
+
type: string
|
|
581
|
+
description: Category description
|
|
582
|
+
code:
|
|
583
|
+
type: string
|
|
584
|
+
description: Category code for identification
|
|
585
|
+
parent_category:
|
|
586
|
+
type: string
|
|
587
|
+
description: Parent category ID for hierarchical structure
|
|
588
|
+
color:
|
|
589
|
+
type: string
|
|
590
|
+
description: Color code for visual identification
|
|
591
|
+
icon:
|
|
592
|
+
type: string
|
|
593
|
+
description: Icon identifier
|
|
594
|
+
priority_level:
|
|
595
|
+
type: integer
|
|
596
|
+
description: Default priority level for workorders in this category
|
|
597
|
+
minimum: 1
|
|
598
|
+
maximum: 5
|
|
599
|
+
estimated_duration:
|
|
600
|
+
type: integer
|
|
601
|
+
description: Estimated duration in minutes
|
|
602
|
+
required_skills:
|
|
603
|
+
type: array
|
|
604
|
+
items:
|
|
605
|
+
type: string
|
|
606
|
+
description: Skills required for this category
|
|
607
|
+
default_assignee:
|
|
608
|
+
type: string
|
|
609
|
+
description: Default assignee for this category
|
|
610
|
+
notification_settings:
|
|
611
|
+
type: object
|
|
612
|
+
properties:
|
|
613
|
+
notify_on_creation:
|
|
614
|
+
type: boolean
|
|
615
|
+
notify_on_completion:
|
|
616
|
+
type: boolean
|
|
617
|
+
escalation_time:
|
|
618
|
+
type: integer
|
|
619
|
+
approval_required:
|
|
620
|
+
type: boolean
|
|
621
|
+
description: Whether approval is required for workorders in this category
|
|
622
|
+
custom_fields:
|
|
623
|
+
type: array
|
|
624
|
+
items:
|
|
625
|
+
type: object
|
|
626
|
+
properties:
|
|
627
|
+
field_name:
|
|
628
|
+
type: string
|
|
629
|
+
field_type:
|
|
630
|
+
type: string
|
|
631
|
+
enum: ["text", "number", "date", "select", "checkbox"]
|
|
632
|
+
is_required:
|
|
633
|
+
type: boolean
|
|
634
|
+
options:
|
|
635
|
+
type: array
|
|
636
|
+
items:
|
|
637
|
+
type: string
|
|
638
|
+
sla_settings:
|
|
639
|
+
type: object
|
|
640
|
+
properties:
|
|
641
|
+
response_time:
|
|
642
|
+
type: integer
|
|
643
|
+
resolution_time:
|
|
644
|
+
type: integer
|
|
645
|
+
business_hours_only:
|
|
646
|
+
type: boolean
|
|
647
|
+
sort_order:
|
|
648
|
+
type: integer
|
|
649
|
+
description: Sort order for display
|
|
650
|
+
company_namespace:
|
|
651
|
+
type: array
|
|
652
|
+
items:
|
|
653
|
+
type: string
|
|
654
|
+
description: Company namespace
|
|
655
|
+
disabled:
|
|
656
|
+
type: boolean
|
|
657
|
+
description: Whether the category is disabled
|
|
658
|
+
PagingInfo:
|
|
659
|
+
type: object
|
|
660
|
+
properties:
|
|
661
|
+
total:
|
|
662
|
+
type: integer
|
|
663
|
+
description: Total number of items
|
|
664
|
+
page:
|
|
665
|
+
type: integer
|
|
666
|
+
description: Current page number
|
|
667
|
+
per_page:
|
|
668
|
+
type: integer
|
|
669
|
+
description: Items per page
|
|
670
|
+
pages:
|
|
671
|
+
type: integer
|
|
672
|
+
description: Total number of pages
|
|
673
|
+
responses:
|
|
674
|
+
BadRequest:
|
|
675
|
+
description: Bad request
|
|
676
|
+
content:
|
|
677
|
+
application/json:
|
|
678
|
+
schema:
|
|
679
|
+
type: object
|
|
680
|
+
properties:
|
|
681
|
+
success:
|
|
682
|
+
type: boolean
|
|
683
|
+
example: false
|
|
684
|
+
error:
|
|
685
|
+
type: string
|
|
686
|
+
example: "Invalid request parameters"
|
|
687
|
+
Unauthorized:
|
|
688
|
+
description: Unauthorized
|
|
689
|
+
content:
|
|
690
|
+
application/json:
|
|
691
|
+
schema:
|
|
692
|
+
type: object
|
|
693
|
+
properties:
|
|
694
|
+
success:
|
|
695
|
+
type: boolean
|
|
696
|
+
example: false
|
|
697
|
+
error:
|
|
698
|
+
type: string
|
|
699
|
+
example: "Authentication required"
|
|
700
|
+
Forbidden:
|
|
701
|
+
description: Forbidden
|
|
702
|
+
content:
|
|
703
|
+
application/json:
|
|
704
|
+
schema:
|
|
705
|
+
type: object
|
|
706
|
+
properties:
|
|
707
|
+
success:
|
|
708
|
+
type: boolean
|
|
709
|
+
example: false
|
|
710
|
+
error:
|
|
711
|
+
type: string
|
|
712
|
+
example: "Insufficient permissions"
|
|
713
|
+
NotFound:
|
|
714
|
+
description: Resource not found
|
|
715
|
+
content:
|
|
716
|
+
application/json:
|
|
717
|
+
schema:
|
|
718
|
+
type: object
|
|
719
|
+
properties:
|
|
720
|
+
success:
|
|
721
|
+
type: boolean
|
|
722
|
+
example: false
|
|
723
|
+
error:
|
|
724
|
+
type: string
|
|
725
|
+
example: "Resource not found"
|
|
726
|
+
ValidationError:
|
|
727
|
+
description: Validation error
|
|
728
|
+
content:
|
|
729
|
+
application/json:
|
|
730
|
+
schema:
|
|
731
|
+
type: object
|
|
732
|
+
properties:
|
|
733
|
+
success:
|
|
734
|
+
type: boolean
|
|
735
|
+
example: false
|
|
736
|
+
error:
|
|
737
|
+
type: string
|
|
738
|
+
example: "Validation failed"
|
|
739
|
+
InternalServerError:
|
|
740
|
+
description: Internal server error
|
|
741
|
+
content:
|
|
742
|
+
application/json:
|
|
743
|
+
schema:
|
|
744
|
+
type: object
|
|
745
|
+
properties:
|
|
746
|
+
success:
|
|
747
|
+
type: boolean
|
|
748
|
+
example: false
|
|
749
|
+
error:
|
|
750
|
+
type: string
|
|
751
|
+
example: "Internal server error"
|