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