@dvsa/cvs-type-definitions 1.0.11 → 2.0.12

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