@dvsa/cvs-type-definitions 2.0.12 → 2.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +1 -1
  2. package/lib/README.md +48 -0
  3. package/lib/json-schemas/v1/activity/index.json +62 -0
  4. package/lib/json-schemas/v1/defect-category-reference-data/index.json +440 -0
  5. package/lib/json-schemas/v1/defect-details/index.json +265 -0
  6. package/lib/json-schemas/v1/defect-location/index.json +49 -0
  7. package/lib/json-schemas/v1/reason-item/index.json +17 -0
  8. package/lib/json-schemas/v1/tech-record/index.json +639 -0
  9. package/lib/json-schemas/v1/test/index.json +1843 -0
  10. package/lib/json-schemas/v1/test-result/index.json +636 -0
  11. package/lib/json-schemas/v1/test-station/index.json +67 -0
  12. package/lib/json-schemas/v1/test-type/index.json +479 -0
  13. package/lib/json-schemas/v1/vehicle/index.json +1804 -0
  14. package/lib/json-schemas/v1/vehicle-tech-record/index.json +683 -0
  15. package/lib/json-schemas/v1/visit/index.json +1895 -0
  16. package/lib/json-schemas/v3/tech-record/get/car/complete/index.json +216 -0
  17. package/lib/json-schemas/v3/tech-record/get/car/skeleton/index.json +195 -0
  18. package/lib/json-schemas/v3/tech-record/get/hgv/complete/index.json +1051 -0
  19. package/lib/json-schemas/v3/tech-record/get/hgv/skeleton/index.json +1124 -0
  20. package/lib/json-schemas/v3/tech-record/get/hgv/testable/index.json +1119 -0
  21. package/lib/json-schemas/v3/tech-record/get/lgv/complete/index.json +226 -0
  22. package/lib/json-schemas/v3/tech-record/get/lgv/skeleton/index.json +202 -0
  23. package/lib/json-schemas/v3/tech-record/get/motorcycle/complete/index.json +219 -0
  24. package/lib/json-schemas/v3/tech-record/get/motorcycle/skeleton/index.json +202 -0
  25. package/lib/json-schemas/v3/tech-record/get/psv/complete/index.json +1027 -0
  26. package/lib/json-schemas/v3/tech-record/get/psv/skeleton/index.json +1120 -0
  27. package/lib/json-schemas/v3/tech-record/get/psv/testable/index.json +1097 -0
  28. package/lib/json-schemas/v3/tech-record/get/search/complete/index.json +55 -0
  29. package/lib/json-schemas/v3/tech-record/get/search/skeleton/index.json +55 -0
  30. package/lib/json-schemas/v3/tech-record/get/trl/complete/index.json +1307 -0
  31. package/lib/json-schemas/v3/tech-record/get/trl/skeleton/index.json +1002 -0
  32. package/lib/json-schemas/v3/tech-record/get/trl/testable/index.json +1155 -0
  33. package/lib/json-schemas/v3/tech-record/post/psv/complete/index.json +1024 -0
  34. package/lib/json-schemas/v3/tech-record/post/psv/skeleton/index.json +1112 -0
  35. package/lib/json-schemas/v3/tech-record/post/psv/testable/index.json +1092 -0
  36. package/lib/json-schemas/v3/tech-record/put/car/complete/request/index.json +87 -0
  37. package/lib/json-schemas/v3/tech-record/put/car/complete/response/index.json +237 -0
  38. package/lib/json-schemas/v3/tech-record/put/car/skeleton/request/index.json +64 -0
  39. package/lib/json-schemas/v3/tech-record/put/car/skeleton/response/index.json +216 -0
  40. package/lib/json-schemas/v3/tech-record/put/hgv/complete/index.json +1009 -0
  41. package/lib/json-schemas/v3/tech-record/put/hgv/skeleton/index.json +1082 -0
  42. package/lib/json-schemas/v3/tech-record/put/hgv/testable/index.json +1077 -0
  43. package/lib/json-schemas/v3/tech-record/put/lgv/complete/request/index.json +97 -0
  44. package/lib/json-schemas/v3/tech-record/put/lgv/complete/response/index.json +247 -0
  45. package/lib/json-schemas/v3/tech-record/put/lgv/skeleton/request/index.json +71 -0
  46. package/lib/json-schemas/v3/tech-record/put/lgv/skeleton/response/index.json +223 -0
  47. package/lib/json-schemas/v3/tech-record/put/trl/complete/index.json +1265 -0
  48. package/lib/json-schemas/v3/tech-record/put/trl/skeleton/index.json +978 -0
  49. package/lib/json-schemas/v3/tech-record/put/trl/testable/index.json +1115 -0
  50. package/lib/package.json +38 -0
  51. package/lib/schema-validator.d.ts +3 -0
  52. package/lib/schema-validator.js +17 -0
  53. package/lib/schemas.d.ts +1 -0
  54. package/lib/schemas.js +52 -0
  55. package/lib/types/v1/activity/index.d.ts +23 -0
  56. package/lib/types/v1/defect-category-reference-data/index.d.ts +52 -0
  57. package/lib/types/v1/defect-details/index.d.ts +53 -0
  58. package/lib/types/v1/defect-location/index.d.ts +16 -0
  59. package/lib/types/v1/reason-item/index.d.ts +11 -0
  60. package/lib/types/v1/tech-record/index.d.ts +202 -0
  61. package/lib/types/v1/test/index.d.ts +353 -0
  62. package/lib/types/v1/test-result/index.d.ts +136 -0
  63. package/lib/types/v1/test-station/index.d.ts +23 -0
  64. package/lib/types/v1/test-type/index.d.ts +98 -0
  65. package/lib/types/v1/vehicle/index.d.ts +345 -0
  66. package/lib/types/v1/vehicle-tech-record/index.d.ts +212 -0
  67. package/lib/types/v1/visit/index.d.ts +366 -0
  68. package/lib/types/v3/tech-record/get/car/complete/index.d.ts +74 -0
  69. package/lib/types/v3/tech-record/get/car/skeleton/index.d.ts +72 -0
  70. package/lib/types/v3/tech-record/get/hgv/complete/index.d.ts +285 -0
  71. package/lib/types/v3/tech-record/get/hgv/skeleton/index.d.ts +285 -0
  72. package/lib/types/v3/tech-record/get/hgv/testable/index.d.ts +285 -0
  73. package/lib/types/v3/tech-record/get/lgv/complete/index.d.ts +75 -0
  74. package/lib/types/v3/tech-record/get/lgv/skeleton/index.d.ts +73 -0
  75. package/lib/types/v3/tech-record/get/motorcycle/complete/index.d.ts +75 -0
  76. package/lib/types/v3/tech-record/get/motorcycle/skeleton/index.d.ts +73 -0
  77. package/lib/types/v3/tech-record/get/psv/complete/index.d.ts +315 -0
  78. package/lib/types/v3/tech-record/get/psv/skeleton/index.d.ts +313 -0
  79. package/lib/types/v3/tech-record/get/psv/testable/index.d.ts +313 -0
  80. package/lib/types/v3/tech-record/get/search/complete/index.d.ts +20 -0
  81. package/lib/types/v3/tech-record/get/search/skeleton/index.d.ts +19 -0
  82. package/lib/types/v3/tech-record/get/trl/complete/index.d.ts +350 -0
  83. package/lib/types/v3/tech-record/get/trl/skeleton/index.d.ts +256 -0
  84. package/lib/types/v3/tech-record/get/trl/testable/index.d.ts +294 -0
  85. package/lib/types/v3/tech-record/post/psv/complete/index.d.ts +315 -0
  86. package/lib/types/v3/tech-record/post/psv/skeleton/index.d.ts +313 -0
  87. package/lib/types/v3/tech-record/post/psv/testable/index.d.ts +313 -0
  88. package/lib/types/v3/tech-record/put/car/complete/request/index.d.ts +24 -0
  89. package/lib/types/v3/tech-record/put/car/complete/response/index.d.ts +75 -0
  90. package/lib/types/v3/tech-record/put/car/skeleton/request/index.d.ts +22 -0
  91. package/lib/types/v3/tech-record/put/car/skeleton/response/index.d.ts +75 -0
  92. package/lib/types/v3/tech-record/put/hgv/complete/index.d.ts +276 -0
  93. package/lib/types/v3/tech-record/put/hgv/skeleton/index.d.ts +276 -0
  94. package/lib/types/v3/tech-record/put/hgv/testable/index.d.ts +276 -0
  95. package/lib/types/v3/tech-record/put/lgv/complete/request/index.d.ts +25 -0
  96. package/lib/types/v3/tech-record/put/lgv/complete/response/index.d.ts +76 -0
  97. package/lib/types/v3/tech-record/put/lgv/skeleton/request/index.d.ts +23 -0
  98. package/lib/types/v3/tech-record/put/lgv/skeleton/response/index.d.ts +76 -0
  99. package/lib/types/v3/tech-record/put/trl/complete/index.d.ts +341 -0
  100. package/lib/types/v3/tech-record/put/trl/skeleton/index.d.ts +250 -0
  101. package/lib/types/v3/tech-record/put/trl/testable/index.d.ts +285 -0
  102. package/package.json +3 -5
  103. package/schemas.ts +0 -49
  104. package/src/schema-validation/schema-validator.ts +0 -25
@@ -0,0 +1,1092 @@
1
+ {
2
+ "title": "POST PSV Technical Record V3 Testable",
3
+ "type": "object",
4
+ "additionalProperties": false,
5
+ "required": [
6
+ "vin",
7
+ "systemNumber",
8
+ "techRecord_vehicleConfiguration",
9
+ "techRecord_vehicleSize",
10
+ "techRecord_seatsLowerDeck",
11
+ "techRecord_seatsUpperDeck",
12
+ "techRecord_numberOfWheelsDriven",
13
+ "techRecord_vehicleType",
14
+ "techRecord_noOfAxles",
15
+ "techRecord_statusCode",
16
+ "techRecord_reasonForCreation",
17
+ "techRecord_vehicleClass_description"
18
+ ],
19
+ "properties": {
20
+ "vin": {
21
+ "type": "string"
22
+ },
23
+ "partialVin": {
24
+ "type": "string"
25
+ },
26
+ "systemNumber": {
27
+ "type": "string"
28
+ },
29
+ "primaryVrm": {
30
+ "type": "string"
31
+ },
32
+ "techRecord_vehicleType": {
33
+ "const": "psv"
34
+ },
35
+ "techRecord_statusCode": {
36
+ "title": "Status Code",
37
+ "type": "string",
38
+ "enum": [
39
+ "provisional",
40
+ "current",
41
+ "archived"
42
+ ]
43
+ },
44
+ "techRecord_reasonForCreation": {
45
+ "type": "string"
46
+ },
47
+ "techRecord_createdAt": {
48
+ "type": "string"
49
+ },
50
+ "techRecord_vehicleConfiguration": {
51
+ "title": "Vehicle Configuration",
52
+ "type": "string",
53
+ "enum": [
54
+ "rigid",
55
+ "articulated",
56
+ "centre axle drawbar",
57
+ "semi-car transporter",
58
+ "semi-trailer",
59
+ "long semi-trailer",
60
+ "low loader",
61
+ "other",
62
+ "drawbar",
63
+ "four-in-line",
64
+ "dolly",
65
+ "full drawbar"
66
+ ]
67
+ },
68
+ "techRecord_vehicleSize": {
69
+ "title": "Vehicle Size",
70
+ "type": "string",
71
+ "enum": [
72
+ "small",
73
+ "large"
74
+ ]
75
+ },
76
+ "techRecord_seatsLowerDeck": {
77
+ "type": "integer"
78
+ },
79
+ "techRecord_seatsUpperDeck": {
80
+ "type": "integer"
81
+ },
82
+ "techRecord_numberOfWheelsDriven": {
83
+ "type": [
84
+ "integer",
85
+ "null"
86
+ ]
87
+ },
88
+ "techRecord_vehicleClass_code": {
89
+ "type": "string"
90
+ },
91
+ "techRecord_vehicleClass_description": {
92
+ "title": "Vehicle Class Description",
93
+ "type": "string",
94
+ "enum": [
95
+ "motorbikes over 200cc or with a sidecar",
96
+ "not applicable",
97
+ "small psv (ie: less than or equal to 22 seats)",
98
+ "motorbikes up to 200cc",
99
+ "trailer",
100
+ "large psv(ie: greater than 23 seats)",
101
+ "3 wheelers",
102
+ "heavy goods vehicle",
103
+ "MOT class 4",
104
+ "MOT class 7",
105
+ "MOT class 5"
106
+ ]
107
+ },
108
+ "techRecord_hiddenInVta": {
109
+ "type": "boolean"
110
+ },
111
+ "techRecord_recordCompleteness": {
112
+ "type": "string"
113
+ },
114
+ "techRecord_euVehicleCategory": {
115
+ "anyOf": [
116
+ {
117
+ "title": "EU vehicle category",
118
+ "type": "string",
119
+ "enum": [
120
+ "m1",
121
+ "m2",
122
+ "m3",
123
+ "n1",
124
+ "n2",
125
+ "n3",
126
+ "o1",
127
+ "o2",
128
+ "o3",
129
+ "o4",
130
+ "l1e-a",
131
+ "l1e",
132
+ "l2e",
133
+ "l3e",
134
+ "l4e",
135
+ "l5e",
136
+ "l6e",
137
+ "l7e"
138
+ ]
139
+ },
140
+ {
141
+ "type": "null"
142
+ }
143
+ ]
144
+ },
145
+ "techRecord_regnDate": {
146
+ "anyOf": [
147
+ {
148
+ "type": "string",
149
+ "pattern": "^$"
150
+ },
151
+ {
152
+ "type": "string",
153
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
154
+ },
155
+ {
156
+ "type": "null"
157
+ }
158
+ ]
159
+ },
160
+ "techRecord_manufactureYear": {
161
+ "anyOf": [
162
+ {
163
+ "type": "integer",
164
+ "minimum": 0,
165
+ "maximum": 9999
166
+ },
167
+ {
168
+ "type": "null"
169
+ }
170
+ ]
171
+ },
172
+ "techRecord_noOfAxles": {
173
+ "anyOf": [
174
+ {
175
+ "type": "integer",
176
+ "minimum": 0,
177
+ "maximum": 99
178
+ },
179
+ {
180
+ "type": "null"
181
+ }
182
+ ]
183
+ },
184
+ "techRecord_departmentalVehicleMarker": {
185
+ "type": [
186
+ "boolean",
187
+ "null"
188
+ ]
189
+ },
190
+ "techRecord_alterationMarker": {
191
+ "type": [
192
+ "boolean",
193
+ "null"
194
+ ]
195
+ },
196
+ "techRecord_approvalType": {
197
+ "anyOf": [
198
+ {
199
+ "title": "Approval Type",
200
+ "type": "string",
201
+ "enum": [
202
+ "NTA",
203
+ "ECTA",
204
+ "IVA",
205
+ "NSSTA",
206
+ "ECSSTA",
207
+ "GB WVTA",
208
+ "UKNI WVTA",
209
+ "EU WVTA Pre 23",
210
+ "EU WVTA 23 on",
211
+ "QNIG",
212
+ "Prov.GB WVTA",
213
+ "Small series",
214
+ "IVA - VCA",
215
+ "IVA - DVSA/NI"
216
+ ]
217
+ },
218
+ {
219
+ "type": "null"
220
+ }
221
+ ]
222
+ },
223
+ "techRecord_approvalTypeNumber": {
224
+ "type": [
225
+ "string",
226
+ "null"
227
+ ],
228
+ "maxLength": 25
229
+ },
230
+ "techRecord_ntaNumber": {
231
+ "type": [
232
+ "string",
233
+ "null"
234
+ ],
235
+ "maxLength": 40
236
+ },
237
+ "techRecord_variantNumber": {
238
+ "type": [
239
+ "string",
240
+ "null"
241
+ ],
242
+ "maxLength": 25
243
+ },
244
+ "techRecord_variantVersionNumber": {
245
+ "type": [
246
+ "string",
247
+ "null"
248
+ ],
249
+ "maxLength": 35
250
+ },
251
+ "techRecord_bodyType_description": {
252
+ "title": "Body Type Description",
253
+ "type": "string",
254
+ "enum": [
255
+ "artic",
256
+ "articulated",
257
+ "box",
258
+ "car transporter",
259
+ "concrete mixer",
260
+ "curtainsider",
261
+ "double decker",
262
+ "flat",
263
+ "livestock carrier",
264
+ "low loader",
265
+ "mini bus",
266
+ "other",
267
+ "other tanker",
268
+ "petrol/oil tanker",
269
+ "refrigerated",
270
+ "refuse",
271
+ "single decker",
272
+ "skeletal",
273
+ "skip loader",
274
+ "tipper",
275
+ "tractor"
276
+ ]
277
+ },
278
+ "techRecord_bodyType_code": {
279
+ "type": "string"
280
+ },
281
+ "techRecord_functionCode": {
282
+ "type": [
283
+ "string",
284
+ "null"
285
+ ],
286
+ "maxLength": 1
287
+ },
288
+ "techRecord_conversionRefNo": {
289
+ "type": [
290
+ "string",
291
+ "null"
292
+ ],
293
+ "maxLength": 10
294
+ },
295
+ "techRecord_grossGbWeight": {
296
+ "type": [
297
+ "integer",
298
+ "null"
299
+ ],
300
+ "maximum": 99999,
301
+ "minimum": 0
302
+ },
303
+ "techRecord_grossDesignWeight": {
304
+ "type": [
305
+ "integer",
306
+ "null"
307
+ ],
308
+ "maximum": 99999,
309
+ "min": 0
310
+ },
311
+ "techRecord_createdByName": {
312
+ "type": [
313
+ "string",
314
+ "null"
315
+ ]
316
+ },
317
+ "techRecord_createdById": {
318
+ "type": [
319
+ "string",
320
+ "null"
321
+ ]
322
+ },
323
+ "techRecord_lastUpdatedAt": {
324
+ "type": [
325
+ "string",
326
+ "null"
327
+ ]
328
+ },
329
+ "techRecord_lastUpdatedByName": {
330
+ "type": [
331
+ "string",
332
+ "null"
333
+ ]
334
+ },
335
+ "techRecord_lastUpdatedById": {
336
+ "type": [
337
+ "string",
338
+ "null"
339
+ ]
340
+ },
341
+ "techRecord_dda_certificateIssued": {
342
+ "type": [
343
+ "boolean",
344
+ "null"
345
+ ]
346
+ },
347
+ "techRecord_dda_wheelchairCapacity": {
348
+ "type": [
349
+ "integer",
350
+ "null"
351
+ ],
352
+ "max": 99,
353
+ "min": 0
354
+ },
355
+ "techRecord_dda_wheelchairFittings": {
356
+ "type": [
357
+ "string",
358
+ "null"
359
+ ],
360
+ "maxLength": 250
361
+ },
362
+ "techRecord_dda_wheelchairLiftPresent": {
363
+ "type": [
364
+ "boolean",
365
+ "null"
366
+ ]
367
+ },
368
+ "techRecord_dda_wheelchairLiftInformation": {
369
+ "type": [
370
+ "string",
371
+ "null"
372
+ ],
373
+ "maxLength": 250
374
+ },
375
+ "techRecord_dda_wheelchairRampPresent": {
376
+ "type": [
377
+ "boolean",
378
+ "null"
379
+ ]
380
+ },
381
+ "techRecord_dda_wheelchairRampInformation": {
382
+ "type": [
383
+ "string",
384
+ "null"
385
+ ],
386
+ "maxLength": 250
387
+ },
388
+ "techRecord_dda_minEmergencyExits": {
389
+ "type": [
390
+ "integer",
391
+ "null"
392
+ ],
393
+ "min": 0,
394
+ "max": 99
395
+ },
396
+ "techRecord_dda_outswing": {
397
+ "type": [
398
+ "string",
399
+ "null"
400
+ ],
401
+ "maxLength": 250
402
+ },
403
+ "techRecord_dda_ddaSchedules": {
404
+ "type": [
405
+ "string",
406
+ "null"
407
+ ],
408
+ "maxLength": 250
409
+ },
410
+ "techRecord_dda_seatbeltsFitted": {
411
+ "type": [
412
+ "integer",
413
+ "null"
414
+ ],
415
+ "min": 0,
416
+ "max": 999
417
+ },
418
+ "techRecord_dda_ddaNotes": {
419
+ "type": [
420
+ "string",
421
+ "null"
422
+ ],
423
+ "maxLength": 1024
424
+ },
425
+ "techRecord_dda": {
426
+ "type": "null"
427
+ },
428
+ "techRecord_standingCapacity": {
429
+ "type": [
430
+ "integer",
431
+ "null"
432
+ ],
433
+ "min": 0,
434
+ "max": 999
435
+ },
436
+ "techRecord_speedLimiterMrk": {
437
+ "type": [
438
+ "boolean",
439
+ "null"
440
+ ]
441
+ },
442
+ "techRecord_tachoExemptMrk": {
443
+ "type": [
444
+ "boolean",
445
+ "null"
446
+ ]
447
+ },
448
+ "techRecord_euroStandard": {
449
+ "anyOf": [
450
+ {
451
+ "title": "Euro standard",
452
+ "type": "string",
453
+ "enum": [
454
+ "0.10 g/kWh Euro 3 PM",
455
+ "0.03 g/kWh Euro IV PM",
456
+ "Euro 3",
457
+ "Euro 4",
458
+ "Euro 5",
459
+ "Euro 6",
460
+ "Euro V",
461
+ "Euro VI",
462
+ "Full Electric"
463
+ ]
464
+ },
465
+ {
466
+ "type": "null"
467
+ }
468
+ ]
469
+ },
470
+ "techRecord_fuelPropulsionSystem": {
471
+ "anyOf": [
472
+ {
473
+ "title": "Fuel Propulsion System",
474
+ "type": "string",
475
+ "enum": [
476
+ "DieselPetrol",
477
+ "Diesel",
478
+ "Petrol",
479
+ "Hybrid",
480
+ "Electric",
481
+ "CNG",
482
+ "Fuel cell",
483
+ "LNG",
484
+ "Other"
485
+ ]
486
+ },
487
+ {
488
+ "type": "null"
489
+ }
490
+ ]
491
+ },
492
+ "techRecord_emissionsLimit": {
493
+ "type": [
494
+ "null",
495
+ "integer"
496
+ ],
497
+ "min": 0,
498
+ "max": 99
499
+ },
500
+ "techRecord_trainDesignWeight": {
501
+ "type": [
502
+ "integer",
503
+ "null"
504
+ ],
505
+ "min": 0,
506
+ "max": 99999
507
+ },
508
+ "techRecord_numberOfSeatbelts": {
509
+ "type": [
510
+ "string"
511
+ ],
512
+ "maxLength": 99
513
+ },
514
+ "techRecord_seatbeltInstallationApprovalDate": {
515
+ "type": [
516
+ "string",
517
+ "null"
518
+ ]
519
+ },
520
+ "techRecord_coifSerialNumber": {
521
+ "type": [
522
+ "string",
523
+ "null"
524
+ ],
525
+ "maxLength": 8
526
+ },
527
+ "techRecord_coifCertifierName": {
528
+ "type": [
529
+ "string",
530
+ "null"
531
+ ],
532
+ "maxLength": 20
533
+ },
534
+ "techRecord_coifDate": {
535
+ "anyOf": [
536
+ {
537
+ "type": [
538
+ "string",
539
+ "null"
540
+ ],
541
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
542
+ },
543
+ {
544
+ "type": [
545
+ "string",
546
+ "null"
547
+ ],
548
+ "pattern": "^$"
549
+ }
550
+ ]
551
+ },
552
+ "techRecord_bodyMake": {
553
+ "type": [
554
+ "string",
555
+ "null"
556
+ ],
557
+ "maxLength": 20
558
+ },
559
+ "techRecord_bodyModel": {
560
+ "type": [
561
+ "string",
562
+ "null"
563
+ ],
564
+ "maxLength": 20
565
+ },
566
+ "techRecord_chassisMake": {
567
+ "type": [
568
+ "string",
569
+ "null"
570
+ ],
571
+ "maxLength": 20
572
+ },
573
+ "techRecord_chassisModel": {
574
+ "type": [
575
+ "string",
576
+ "null"
577
+ ],
578
+ "maxLength": 20
579
+ },
580
+ "techRecord_modelLiteral": {
581
+ "type": [
582
+ "string",
583
+ "null"
584
+ ],
585
+ "maxLength": 30
586
+ },
587
+ "techRecord_speedRestriction": {
588
+ "type": [
589
+ "number",
590
+ "null"
591
+ ],
592
+ "max": 99,
593
+ "min": 0
594
+ },
595
+ "techRecord_grossKerbWeight": {
596
+ "type": [
597
+ "number",
598
+ "null"
599
+ ],
600
+ "max": 99999,
601
+ "min": 0
602
+ },
603
+ "techRecord_grossLadenWeight": {
604
+ "type": [
605
+ "number",
606
+ "null"
607
+ ],
608
+ "max": 99999,
609
+ "min": 0
610
+ },
611
+ "techRecord_unladenWeight": {
612
+ "type": [
613
+ "number",
614
+ "null"
615
+ ],
616
+ "max": 99999,
617
+ "min": 0
618
+ },
619
+ "techRecord_maxTrainGbWeight": {
620
+ "type": [
621
+ "number",
622
+ "null"
623
+ ],
624
+ "max": 99999,
625
+ "min": 0
626
+ },
627
+ "techRecord_dimensions": {
628
+ "type": "null"
629
+ },
630
+ "techRecord_dimensions_length": {
631
+ "type": [
632
+ "integer",
633
+ "null"
634
+ ],
635
+ "min": 0,
636
+ "max": 99999
637
+ },
638
+ "techRecord_dimensions_width": {
639
+ "type": [
640
+ "integer",
641
+ "null"
642
+ ],
643
+ "min": 0,
644
+ "max": 99999
645
+ },
646
+ "techRecord_dimensions_height": {
647
+ "type": [
648
+ "integer",
649
+ "null"
650
+ ],
651
+ "min": 0,
652
+ "max": 99999
653
+ },
654
+ "techRecord_frontAxleToRearAxle": {
655
+ "type": [
656
+ "integer",
657
+ "null"
658
+ ],
659
+ "min": 0,
660
+ "max": 99999
661
+ },
662
+ "techRecord_remarks": {
663
+ "type": [
664
+ "string",
665
+ "null"
666
+ ],
667
+ "maxLength": 1024
668
+ },
669
+ "techRecord_dispensations": {
670
+ "type": [
671
+ "string",
672
+ "null"
673
+ ],
674
+ "maxLength": 160
675
+ },
676
+ "axles": {
677
+ "type": "array",
678
+ "items": {
679
+ "type": "object",
680
+ "title": "PSV Axles",
681
+ "additionalProperties": false,
682
+ "properties": {
683
+ "techRecord_parkingBrakeMrk": {
684
+ "type": [
685
+ "boolean",
686
+ "null"
687
+ ]
688
+ },
689
+ "techRecord_axleNumber": {
690
+ "type": [
691
+ "integer",
692
+ "null"
693
+ ]
694
+ },
695
+ "techRecord_weights_gbWeight": {
696
+ "type": [
697
+ "integer",
698
+ "null"
699
+ ],
700
+ "minimum": 0,
701
+ "maximum": 99999
702
+ },
703
+ "techRecord_weights_designWeight": {
704
+ "type": [
705
+ "integer",
706
+ "null"
707
+ ],
708
+ "minimum": 0,
709
+ "maximum": 99999
710
+ },
711
+ "techRecord_weights_ladenWeight": {
712
+ "type": [
713
+ "integer",
714
+ "null"
715
+ ],
716
+ "minimum": 0,
717
+ "maximum": 99999
718
+ },
719
+ "techRecord_weights_kerbWeight": {
720
+ "type": [
721
+ "integer",
722
+ "null"
723
+ ],
724
+ "minimum": 0,
725
+ "maximum": 99999
726
+ },
727
+ "techRecord_tyres_tyreCode": {
728
+ "type": [
729
+ "integer",
730
+ "null"
731
+ ],
732
+ "minimum": 0,
733
+ "maximum": 99999
734
+ },
735
+ "techRecord_tyres_tyreSize": {
736
+ "type": [
737
+ "string",
738
+ "null"
739
+ ],
740
+ "maxLength": 12
741
+ },
742
+ "techRecord_tyres_plyRating": {
743
+ "type": [
744
+ "string",
745
+ "null"
746
+ ]
747
+ },
748
+ "techRecord_tyres_fitmentCode": {
749
+ "anyOf": [
750
+ {
751
+ "type": "null"
752
+ },
753
+ {
754
+ "title": "Fitment Code",
755
+ "type": "string",
756
+ "enum": [
757
+ "single",
758
+ "double"
759
+ ]
760
+ }
761
+ ]
762
+ },
763
+ "techRecord_tyres_dataTrAxles": {
764
+ "type": [
765
+ "null",
766
+ "integer"
767
+ ],
768
+ "minimum": 0,
769
+ "maximum": 999
770
+ },
771
+ "techRecord_tyres_speedCategorySymbol": {
772
+ "anyOf": [
773
+ {
774
+ "title": "Speed Category Symbol",
775
+ "type": "string",
776
+ "enum": [
777
+ "a7",
778
+ "a8",
779
+ "b",
780
+ "c",
781
+ "d",
782
+ "e",
783
+ "f",
784
+ "g",
785
+ "j",
786
+ "k",
787
+ "l",
788
+ "m",
789
+ "n",
790
+ "p",
791
+ "q"
792
+ ]
793
+ },
794
+ {
795
+ "type": "null"
796
+ }
797
+ ]
798
+ }
799
+ }
800
+ }
801
+ },
802
+ "techRecord_applicantDetails_name": {
803
+ "type": [
804
+ "string",
805
+ "null"
806
+ ],
807
+ "maxLength": 150
808
+ },
809
+ "techRecord_applicantDetails_address1": {
810
+ "type": [
811
+ "null",
812
+ "string"
813
+ ],
814
+ "maxLength": 60
815
+ },
816
+ "techRecord_applicantDetails_address2": {
817
+ "type": [
818
+ "null",
819
+ "string"
820
+ ],
821
+ "maxLength": 60
822
+ },
823
+ "techRecord_applicantDetails_postTown": {
824
+ "type": [
825
+ "null",
826
+ "string"
827
+ ],
828
+ "maxLength": 60
829
+ },
830
+ "techRecord_applicantDetails_address3": {
831
+ "type": [
832
+ "null",
833
+ "string"
834
+ ],
835
+ "maxLength": 60
836
+ },
837
+ "techRecord_applicantDetails_postCode": {
838
+ "type": [
839
+ "null",
840
+ "string"
841
+ ],
842
+ "maxLength": 12
843
+ },
844
+ "techRecord_applicantDetails_telephoneNumber": {
845
+ "type": [
846
+ "null",
847
+ "string"
848
+ ],
849
+ "maxLength": 25
850
+ },
851
+ "techRecord_applicantDetails_emailAddress": {
852
+ "type": [
853
+ "null",
854
+ "string"
855
+ ],
856
+ "maxLength": 255
857
+ },
858
+ "techRecord_brakes_dtpNumber": {
859
+ "type": [
860
+ "string",
861
+ "null"
862
+ ],
863
+ "maxLength": 6
864
+ },
865
+ "techRecord_brakes_brakeCode": {
866
+ "type": [
867
+ "string",
868
+ "null"
869
+ ],
870
+ "maxLength": 6
871
+ },
872
+ "techRecord_brakes_brakeCodeOriginal": {
873
+ "type": [
874
+ "string",
875
+ "null"
876
+ ],
877
+ "maxLength": 6
878
+ },
879
+ "techRecord_brakes_dataTrBrakeOne": {
880
+ "type": [
881
+ "string",
882
+ "null"
883
+ ],
884
+ "maxLength": 60
885
+ },
886
+ "techRecord_brakes_dataTrBrakeTwo": {
887
+ "type": [
888
+ "string",
889
+ "null"
890
+ ],
891
+ "maxLength": 60
892
+ },
893
+ "techRecord_brakes_dataTrBrakeThree": {
894
+ "type": [
895
+ "string",
896
+ "null"
897
+ ],
898
+ "maxLength": 60
899
+ },
900
+ "techRecord_brakes_retarderBrakeOne": {
901
+ "anyOf": [
902
+ {
903
+ "title": "Retarder Brake",
904
+ "type": "string",
905
+ "enum": [
906
+ "electric",
907
+ "exhaust",
908
+ "friction",
909
+ "hydraulic",
910
+ "other",
911
+ "none"
912
+ ]
913
+ },
914
+ {
915
+ "type": "null"
916
+ }
917
+ ]
918
+ },
919
+ "techRecord_brakes_retarderBrakeTwo": {
920
+ "anyOf": [
921
+ {
922
+ "title": "Retarder Brake",
923
+ "type": "string",
924
+ "enum": [
925
+ "electric",
926
+ "exhaust",
927
+ "friction",
928
+ "hydraulic",
929
+ "other",
930
+ "none"
931
+ ]
932
+ },
933
+ {
934
+ "type": "null"
935
+ }
936
+ ]
937
+ },
938
+ "techRecord_brakes_brakeForceWheelsNotLocked_parkingBrakeForceA": {
939
+ "type": [
940
+ "integer",
941
+ "null"
942
+ ],
943
+ "maximum": 99999,
944
+ "minimum": 0
945
+ },
946
+ "techRecord_brakes_brakeForceWheelsNotLocked_secondaryBrakeForceA": {
947
+ "type": [
948
+ "integer",
949
+ "null"
950
+ ],
951
+ "maximum": 99999,
952
+ "minimum": 0
953
+ },
954
+ "techRecord_brakes_brakeForceWheelsNotLocked_serviceBrakeForceA": {
955
+ "type": [
956
+ "integer",
957
+ "null"
958
+ ],
959
+ "maximum": 99999,
960
+ "minimum": 0
961
+ },
962
+ "techRecord_brakes_brakeForceWheelsUpToHalfLocked_parkingBrakeForceB": {
963
+ "type": [
964
+ "integer",
965
+ "null"
966
+ ],
967
+ "maximum": 99999,
968
+ "minimum": 0
969
+ },
970
+ "techRecord_brakes_brakeForceWheelsUpToHalfLocked_secondaryBrakeForceB": {
971
+ "type": [
972
+ "integer",
973
+ "null"
974
+ ],
975
+ "maximum": 99999,
976
+ "minimum": 0
977
+ },
978
+ "techRecord_brakes_brakeForceWheelsUpToHalfLocked_serviceBrakeForceB": {
979
+ "type": [
980
+ "integer",
981
+ "null"
982
+ ],
983
+ "maximum": 99999,
984
+ "minimum": 0
985
+ },
986
+ "techRecord_microfilm": {
987
+ "type": "null"
988
+ },
989
+ "techRecord_microfilmDocumentType": {
990
+ "anyOf": [
991
+ {
992
+ "title": "Microfilm Document Type",
993
+ "type": "string",
994
+ "enum": [
995
+ "PSV Miscellaneous",
996
+ "AAT - Trailer Annual Test",
997
+ "AIV - HGV International App",
998
+ "COIF Modification",
999
+ "Trailer COC + Int Plate",
1000
+ "RCT - Trailer Test Cert paid",
1001
+ "HGV COC + Int Plate",
1002
+ "PSV Carry/Auth",
1003
+ "OMO Report",
1004
+ "AIT - Trailer International App",
1005
+ "IPV - HGV EEC Plate/Cert",
1006
+ "XCV - HGV Test Cert free",
1007
+ "AAV - HGV Annual Test",
1008
+ "COIF Master",
1009
+ "Tempo 100 Sp Ord",
1010
+ "Deleted",
1011
+ "PSV N/ALT",
1012
+ "XPT - Tr Plating Cert paid",
1013
+ "FFV - HGV First Test",
1014
+ "Repl Vitesse 100",
1015
+ "TCV - HGV Test Cert",
1016
+ "ZZZ - Miscellaneous",
1017
+ "Test Certificate",
1018
+ "XCT - Trailer Test Cert free",
1019
+ "C52 - COC and VTG52A",
1020
+ "Tempo 100 Report",
1021
+ "Main File Amendment",
1022
+ "PSV Doc",
1023
+ "PSV COC",
1024
+ "PSV Repl COC",
1025
+ "TAV - COC",
1026
+ "NPT - Trailer Alteration",
1027
+ "OMO Certificate",
1028
+ "PSV Repl COIF",
1029
+ "PSV Repl COF",
1030
+ "COIF Application",
1031
+ "XPV - HGV Plating Cert Free",
1032
+ "TCT - Trailer Test Cert",
1033
+ "Tempo 100 App",
1034
+ "PSV Decision on N/ALT",
1035
+ "Special Order PSV",
1036
+ "NPV - HGV Alteration",
1037
+ "No Description Found",
1038
+ "Vitesse 100 Sp Ord",
1039
+ "Brake Test Details",
1040
+ "COIF Productional",
1041
+ "RDT - Test Disc Paid",
1042
+ "RCV - HGV Test Cert",
1043
+ "FFT - Trailer First Test",
1044
+ "IPT - Trailer EEC Plate/Cert",
1045
+ "XDT - Test Disc Free",
1046
+ "PRV - HGV Plating Cert paid",
1047
+ "COF Cert",
1048
+ "PRT - Tr Plating Cert paid",
1049
+ "Tempo 100 Permit"
1050
+ ]
1051
+ },
1052
+ {
1053
+ "type": "null"
1054
+ }
1055
+ ]
1056
+ },
1057
+ "techRecord_microfilmRollNumber": {
1058
+ "type": [
1059
+ "string",
1060
+ "null"
1061
+ ],
1062
+ "maxLength": 5
1063
+ },
1064
+ "techRecord_microfilmSerialNumber": {
1065
+ "type": [
1066
+ "string",
1067
+ "null"
1068
+ ],
1069
+ "maxLength": 4
1070
+ },
1071
+ "techRecord_brakeCode": {
1072
+ "type": [
1073
+ "string",
1074
+ "null"
1075
+ ]
1076
+ },
1077
+ "createdTimestamp": {
1078
+ "type": [
1079
+ "string"
1080
+ ]
1081
+ },
1082
+ "techRecord_applicationId": {
1083
+ "type": "string"
1084
+ },
1085
+ "secondaryVrms": {
1086
+ "type": "array",
1087
+ "items": {
1088
+ "type": "string"
1089
+ }
1090
+ }
1091
+ }
1092
+ }