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