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