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