@dvsa/cvs-type-definitions 8.0.0 → 9.0.0

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 (61) hide show
  1. package/json-schemas/enums/euVehicleCategory.enum.json +44 -0
  2. package/json-schemas/enums/vehicleConfiguration.enum.json +32 -0
  3. package/json-schemas/enums/vehicleSize.enum.json +12 -0
  4. package/json-schemas/enums/vehicleSubclass.enum.json +26 -0
  5. package/json-schemas/enums/vehicleType.enum.json +20 -0
  6. package/json-schemas/required-standards/defects/get/index.json +1 -72
  7. package/json-schemas/test-type/enums/testTypeClassification.enum.json +14 -0
  8. package/json-schemas/test-type/get/index.json +572 -0
  9. package/json-schemas/test-type/nextTestTypesOrCategory.json +416 -0
  10. package/json-schemas/test-type/testCode.json +266 -0
  11. package/json-schemas/v1/defect-category-reference-data/index.json +2 -192
  12. package/json-schemas/v1/enums/vehicleType.enum.json +20 -0
  13. package/json-schemas/v1/tech-record/index.json +1 -19
  14. package/json-schemas/v1/test/index.json +438 -21
  15. package/json-schemas/v1/test-result/index.json +1128 -1
  16. package/json-schemas/v1/{test-type → test-result-test-type}/index.json +1 -1
  17. package/json-schemas/v1/vehicle/index.json +438 -21
  18. package/json-schemas/v1/vehicle-tech-record/index.json +1 -19
  19. package/json-schemas/v1/visit/index.json +438 -21
  20. package/json-schemas/v3/tech-record/enums/vehicleSize.enum.json +12 -0
  21. package/json-schemas/v3/tech-record/get/psv/complete/index.json +1 -10
  22. package/json-schemas/v3/tech-record/get/psv/skeleton/index.json +1 -10
  23. package/json-schemas/v3/tech-record/get/psv/testable/index.json +1 -10
  24. package/json-schemas/v3/tech-record/put/psv/complete/index.json +1 -10
  25. package/json-schemas/v3/tech-record/put/psv/skeleton/index.json +1 -10
  26. package/json-schemas/v3/tech-record/put/psv/testable/index.json +1 -10
  27. package/package.json +3 -2
  28. package/schemas.d.ts +1 -1
  29. package/schemas.js +12 -1
  30. package/types/enums/euVehicleCategory.enum.d.ts +25 -0
  31. package/types/enums/euVehicleCategory.enum.js +30 -0
  32. package/types/enums/euVehicleCategory.enum.ts +27 -0
  33. package/types/enums/vehicleConfiguration.enum.d.ts +19 -0
  34. package/types/enums/vehicleConfiguration.enum.js +24 -0
  35. package/types/enums/vehicleConfiguration.enum.ts +21 -0
  36. package/types/enums/vehicleSize.enum.d.ts +9 -0
  37. package/types/enums/vehicleSize.enum.js +14 -0
  38. package/types/enums/vehicleSize.enum.ts +11 -0
  39. package/types/enums/vehicleSubclass.enum.d.ts +16 -0
  40. package/types/enums/vehicleSubclass.enum.js +21 -0
  41. package/types/enums/vehicleSubclass.enum.ts +18 -0
  42. package/types/enums/vehicleType.enum.d.ts +13 -0
  43. package/types/enums/vehicleType.enum.js +18 -0
  44. package/types/enums/vehicleType.enum.ts +15 -0
  45. package/types/test-type/enums/testTypeClassification.enum.d.ts +10 -0
  46. package/types/test-type/enums/testTypeClassification.enum.js +15 -0
  47. package/types/test-type/enums/testTypeClassification.enum.ts +12 -0
  48. package/types/test-type/get/index.d.ts +128 -0
  49. package/types/test-type/nextTestTypesOrCategory.d.ts +124 -0
  50. package/types/test-type/testCode.d.ts +79 -0
  51. package/types/v1/enums/vehicleType.enum.d.ts +13 -0
  52. package/types/v1/enums/vehicleType.enum.js +18 -0
  53. package/types/v1/enums/vehicleType.enum.ts +15 -0
  54. package/types/v1/test/index.d.ts +3 -3
  55. package/types/v1/test-result/index.d.ts +2 -2
  56. package/types/v1/{test-type → test-result-test-type}/index.d.ts +1 -1
  57. package/types/v1/vehicle/index.d.ts +3 -3
  58. package/types/v1/visit/index.d.ts +3 -3
  59. package/types/v3/tech-record/enums/vehicleSize.enum.d.ts +9 -0
  60. package/types/v3/tech-record/enums/vehicleSize.enum.js +14 -0
  61. package/types/v3/tech-record/enums/vehicleSize.enum.ts +11 -0
@@ -1 +1,1128 @@
1
- {}
1
+ {
2
+ "title": "Test Result Schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "testResultId": {
6
+ "type": "string"
7
+ },
8
+ "testStationName": {
9
+ "type": [
10
+ "string",
11
+ "null"
12
+ ],
13
+ "maxLength": 999
14
+ },
15
+ "testStationPNumber": {
16
+ "type": [
17
+ "string",
18
+ "null"
19
+ ],
20
+ "maxLength": 20
21
+ },
22
+ "testStationType": {
23
+ "anyOf": [
24
+ {
25
+ "title": "Test Station Types",
26
+ "type": "string",
27
+ "tsEnumNames": [
28
+ "ATF",
29
+ "GVTS",
30
+ "HQ",
31
+ "POTF",
32
+ "VEF"
33
+ ],
34
+ "enum": [
35
+ "atf",
36
+ "gvts",
37
+ "hq",
38
+ "potf",
39
+ "vef"
40
+ ]
41
+ }
42
+ ]
43
+ },
44
+ "testerName": {
45
+ "type": [
46
+ "string",
47
+ "null"
48
+ ],
49
+ "maxLength": 60
50
+ },
51
+ "testerStaffId": {
52
+ "type": "string",
53
+ "maxLength": 36
54
+ },
55
+ "testerEmailAddress": {
56
+ "type": [
57
+ "string",
58
+ "null"
59
+ ],
60
+ "maxLength": 60
61
+ },
62
+ "testStartTimestamp": {
63
+ "type": "string"
64
+ },
65
+ "testEndTimestamp": {
66
+ "type": "string"
67
+ },
68
+ "testStatus": {
69
+ "anyOf": [
70
+ {
71
+ "title": "Test Status",
72
+ "type": "string",
73
+ "tsEnumNames": [
74
+ "SUBMITTED",
75
+ "CANCELLED"
76
+ ],
77
+ "enum": [
78
+ "submitted",
79
+ "cancelled"
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ "reasonForCancellation": {
85
+ "type": [
86
+ "string",
87
+ "null"
88
+ ]
89
+ },
90
+ "systemNumber": {
91
+ "type": "string"
92
+ },
93
+ "vrm": {
94
+ "type": "string",
95
+ "maxLength": 9
96
+ },
97
+ "trailerId": {
98
+ "type": "string"
99
+ },
100
+ "vin": {
101
+ "type": "string",
102
+ "maxLength": 21
103
+ },
104
+ "vehicleClass": {
105
+ "title": "Vehicle Class Schema",
106
+ "type": "object",
107
+ "properties": {
108
+ "code": {
109
+ "type": "string"
110
+ },
111
+ "description": {
112
+ "type": "string"
113
+ }
114
+ },
115
+ "additionalProperties": false,
116
+ "required": [
117
+ "code",
118
+ "description"
119
+ ]
120
+ },
121
+ "vehicleSubclass": {
122
+ "type": "array",
123
+ "items": {
124
+ "type": "string"
125
+ }
126
+ },
127
+ "vehicleType": {
128
+ "anyOf": [
129
+ {
130
+ "title": "Vehicle Type",
131
+ "type": "string",
132
+ "enum": [
133
+ "psv",
134
+ "trl",
135
+ "hgv",
136
+ "car",
137
+ "lgv",
138
+ "motorcycle"
139
+ ]
140
+ }
141
+ ]
142
+ },
143
+ "vehicleConfiguration": {
144
+ "type": "string"
145
+ },
146
+ "odometerReading": {
147
+ "type": [
148
+ "number",
149
+ "null"
150
+ ]
151
+ },
152
+ "odometerReadingUnits": {
153
+ "anyOf": [
154
+ {
155
+ "title": "Odometer Reading Units",
156
+ "type": "string",
157
+ "tsEnumNames": [
158
+ "KILOMETRES",
159
+ "MILES"
160
+ ],
161
+ "enum": [
162
+ "kilometres",
163
+ "miles"
164
+ ]
165
+ },
166
+ {
167
+ "type": "null"
168
+ }
169
+ ]
170
+ },
171
+ "preparerId": {
172
+ "type": [
173
+ "string",
174
+ "null"
175
+ ]
176
+ },
177
+ "preparerName": {
178
+ "type": [
179
+ "string",
180
+ "null"
181
+ ]
182
+ },
183
+ "euVehicleCategory": {
184
+ "anyOf": [
185
+ {
186
+ "title": "EU vehicle category",
187
+ "type": "string",
188
+ "tsEnumNames": [
189
+ "M1",
190
+ "M2",
191
+ "M3",
192
+ "N1",
193
+ "N2",
194
+ "N3",
195
+ "O1",
196
+ "O2",
197
+ "O3",
198
+ "O4",
199
+ "L1E_A",
200
+ "l1E",
201
+ "L2e",
202
+ "L3E",
203
+ "L4E",
204
+ "L5E",
205
+ "L6E",
206
+ "L7E"
207
+ ],
208
+ "enum": [
209
+ "m1",
210
+ "m2",
211
+ "m3",
212
+ "n1",
213
+ "n2",
214
+ "n3",
215
+ "o1",
216
+ "o2",
217
+ "o3",
218
+ "o4",
219
+ "l1e-a",
220
+ "l1e",
221
+ "l2e",
222
+ "l3e",
223
+ "l4e",
224
+ "l5e",
225
+ "l6e",
226
+ "l7e"
227
+ ]
228
+ }
229
+ ]
230
+ },
231
+ "countryOfRegistration": {
232
+ "type": [
233
+ "string",
234
+ "null"
235
+ ]
236
+ },
237
+ "noOfAxles": {
238
+ "type": "integer",
239
+ "maximum": 99
240
+ },
241
+ "numberOfWheelsDriven": {
242
+ "type": [
243
+ "integer",
244
+ "null"
245
+ ]
246
+ },
247
+ "vehicleSize": {
248
+ "type": "string"
249
+ },
250
+ "numberOfSeats": {
251
+ "type": "integer"
252
+ },
253
+ "regnDate": {
254
+ "type": [
255
+ "string",
256
+ "null"
257
+ ]
258
+ },
259
+ "firstUseDate": {
260
+ "type": [
261
+ "string",
262
+ "null"
263
+ ]
264
+ },
265
+ "testTypes": {
266
+ "type": "array",
267
+ "items": {
268
+ "title": "Test Result Test Type Schema",
269
+ "type": "object",
270
+ "properties": {
271
+ "testTypeName": {
272
+ "type": [
273
+ "string",
274
+ "null"
275
+ ]
276
+ },
277
+ "name": {
278
+ "type": "string"
279
+ },
280
+ "testTypeId": {
281
+ "type": "string"
282
+ },
283
+ "certificateNumber": {
284
+ "type": [
285
+ "string",
286
+ "null"
287
+ ]
288
+ },
289
+ "secondaryCertificateNumber": {
290
+ "type": [
291
+ "string",
292
+ "null"
293
+ ]
294
+ },
295
+ "testTypeStartTimestamp": {
296
+ "type": [
297
+ "string",
298
+ "null"
299
+ ]
300
+ },
301
+ "testTypeEndTimestamp": {
302
+ "type": [
303
+ "string",
304
+ "null"
305
+ ]
306
+ },
307
+ "testResult": {
308
+ "anyOf": [
309
+ {
310
+ "type:": "null"
311
+ },
312
+ {
313
+ "title": "Test Results",
314
+ "type": "string",
315
+ "tsEnumNames": [
316
+ "PASS",
317
+ "PRS",
318
+ "FAIL",
319
+ "ABANDONED"
320
+ ],
321
+ "enum": [
322
+ "pass",
323
+ "prs",
324
+ "fail",
325
+ "abandoned"
326
+ ]
327
+ }
328
+ ]
329
+ },
330
+ "prohibitionIssued": {
331
+ "type": [
332
+ "boolean",
333
+ "null"
334
+ ]
335
+ },
336
+ "reasonForAbandoning": {
337
+ "type": [
338
+ "string",
339
+ "null"
340
+ ]
341
+ },
342
+ "additionalNotesRecorded": {
343
+ "type": [
344
+ "string",
345
+ "null"
346
+ ],
347
+ "maxLength": 500
348
+ },
349
+ "additionalCommentsForAbandon": {
350
+ "type": [
351
+ "string",
352
+ "null"
353
+ ],
354
+ "maxLength": 500
355
+ },
356
+ "numberOfSeatbeltsFitted": {
357
+ "type": [
358
+ "integer",
359
+ "null"
360
+ ]
361
+ },
362
+ "lastSeatbeltInstallationCheckDate": {
363
+ "type": [
364
+ "string",
365
+ "null"
366
+ ]
367
+ },
368
+ "seatbeltInstallationCheckDate": {
369
+ "type": [
370
+ "boolean",
371
+ "null"
372
+ ]
373
+ },
374
+ "testExpiryDate": {
375
+ "type": "string"
376
+ },
377
+ "testAnniversaryDate": {
378
+ "type": [
379
+ "string",
380
+ "null"
381
+ ]
382
+ },
383
+ "modType": {
384
+ "anyOf": [
385
+ {
386
+ "title": "Mod Type Schema",
387
+ "type": "object",
388
+ "properties": {
389
+ "code": {
390
+ "type": "string"
391
+ },
392
+ "description": {
393
+ "type": "string"
394
+ }
395
+ },
396
+ "required": [
397
+ "code",
398
+ "description"
399
+ ],
400
+ "additionalProperties": false
401
+ },
402
+ {
403
+ "type": "string"
404
+ },
405
+ {
406
+ "type": "null"
407
+ }
408
+ ]
409
+ },
410
+ "emissionStandard": {
411
+ "anyOf": [
412
+ {
413
+ "type:": "null"
414
+ },
415
+ {
416
+ "title": "Emission Standards",
417
+ "type": "string",
418
+ "tsEnumNames": [
419
+ "EURO3_PM",
420
+ "EURO4_PM",
421
+ "EURO3",
422
+ "EURO4",
423
+ "EURO5",
424
+ "EURO6",
425
+ "EUROV",
426
+ "EUROVI",
427
+ "FULL_ELECTRIC"
428
+ ],
429
+ "enum": [
430
+ "0.10 g/kWh Euro 3 PM",
431
+ "0.03 g/kWh Euro IV PM'",
432
+ "Euro 3",
433
+ "Euro 4",
434
+ "Euro 5",
435
+ "Euro 6",
436
+ "Euro V",
437
+ "Euro VI",
438
+ "Full Electric"
439
+ ]
440
+ }
441
+ ]
442
+ },
443
+ "fuelType": {
444
+ "anyOf": [
445
+ {
446
+ "type:": "null"
447
+ },
448
+ {
449
+ "title": "Fuel Type",
450
+ "type": "string",
451
+ "tsEnumNames": [
452
+ "DIESEL",
453
+ "GAS_CNG",
454
+ "GAS_LNG",
455
+ "GAS_LPG",
456
+ "PETROL",
457
+ "FUEL_CELL",
458
+ "FULL_ELECTRIC"
459
+ ],
460
+ "enum": [
461
+ "diesel",
462
+ "gas-cng",
463
+ "gas-lng",
464
+ "gas-lpg",
465
+ "petrol",
466
+ "fuel cell",
467
+ "full electric"
468
+ ]
469
+ }
470
+ ]
471
+ },
472
+ "modificationTypeUsed": {
473
+ "type": [
474
+ "string",
475
+ "null"
476
+ ],
477
+ "maxLength": 100
478
+ },
479
+ "smokeTestKLimitApplied": {
480
+ "type": [
481
+ "string",
482
+ "null"
483
+ ],
484
+ "maxLength": 100
485
+ },
486
+ "particulateTrapFitted": {
487
+ "type": [
488
+ "string",
489
+ "null"
490
+ ],
491
+ "maxLength": 100
492
+ },
493
+ "particulateTrapSerialNumber": {
494
+ "type": [
495
+ "string",
496
+ "null"
497
+ ],
498
+ "maxLength": 100
499
+ },
500
+ "defects": {
501
+ "type": [
502
+ "array"
503
+ ],
504
+ "items": {
505
+ "title": "Defect Details Schema",
506
+ "type": "object",
507
+ "properties": {
508
+ "imNumber": {
509
+ "type": "integer"
510
+ },
511
+ "imDescription": {
512
+ "type": "string"
513
+ },
514
+ "additionalInformation": {
515
+ "properties": {
516
+ "location": {
517
+ "title": "Defect Location Schema",
518
+ "type": "object",
519
+ "properties": {
520
+ "vertical": {
521
+ "type": [
522
+ "string",
523
+ "null"
524
+ ]
525
+ },
526
+ "horizontal": {
527
+ "type": [
528
+ "string",
529
+ "null"
530
+ ]
531
+ },
532
+ "lateral": {
533
+ "type": [
534
+ "string",
535
+ "null"
536
+ ]
537
+ },
538
+ "longitudinal": {
539
+ "type": [
540
+ "string",
541
+ "null"
542
+ ]
543
+ },
544
+ "rowNumber": {
545
+ "type": [
546
+ "integer",
547
+ "null"
548
+ ]
549
+ },
550
+ "seatNumber": {
551
+ "type": [
552
+ "integer",
553
+ "null"
554
+ ]
555
+ },
556
+ "axleNumber": {
557
+ "type": [
558
+ "integer",
559
+ "null"
560
+ ]
561
+ }
562
+ },
563
+ "additionalProperties": false
564
+ },
565
+ "notes": {
566
+ "type": "string"
567
+ }
568
+ },
569
+ "additionalProperties": false,
570
+ "required": [
571
+ "location",
572
+ "notes"
573
+ ]
574
+ },
575
+ "itemNumber": {
576
+ "type": "integer"
577
+ },
578
+ "itemDescription": {
579
+ "type": "string"
580
+ },
581
+ "deficiencyRef": {
582
+ "type": "string"
583
+ },
584
+ "deficiencyId": {
585
+ "type": [
586
+ "string",
587
+ "null"
588
+ ]
589
+ },
590
+ "deficiencySubId": {
591
+ "type": [
592
+ "string",
593
+ "null"
594
+ ]
595
+ },
596
+ "deficiencyCategory": {
597
+ "type": "string"
598
+ },
599
+ "deficiencyText": {
600
+ "type": [
601
+ "string",
602
+ "null"
603
+ ]
604
+ },
605
+ "stdForProhibition": {
606
+ "type": [
607
+ "boolean",
608
+ "null"
609
+ ]
610
+ },
611
+ "prs": {
612
+ "type": [
613
+ "boolean",
614
+ "null"
615
+ ]
616
+ },
617
+ "prohibitionIssued": {
618
+ "type": [
619
+ "boolean",
620
+ "null"
621
+ ]
622
+ },
623
+ "metadata": {
624
+ "title": "Defect Metadata Schema",
625
+ "type": "object",
626
+ "properties": {
627
+ "category": {
628
+ "properties": {
629
+ "additionalInfo": {
630
+ "title": "Defect Additional Details Metadata Schema",
631
+ "type": "object",
632
+ "properties": {
633
+ "location": {
634
+ "title": "Defect Location Metadata Schema",
635
+ "type": "object",
636
+ "properties": {
637
+ "vertical": {
638
+ "anyOf": [
639
+ {
640
+ "type": "array",
641
+ "items": {
642
+ "type": "string"
643
+ }
644
+ },
645
+ {
646
+ "type": "null"
647
+ }
648
+ ]
649
+ },
650
+ "horizontal": {
651
+ "anyOf": [
652
+ {
653
+ "type": "array",
654
+ "items": {
655
+ "type": "string"
656
+ }
657
+ },
658
+ {
659
+ "type": "null"
660
+ }
661
+ ]
662
+ },
663
+ "lateral": {
664
+ "anyOf": [
665
+ {
666
+ "type": "array",
667
+ "items": {
668
+ "type": "string"
669
+ }
670
+ },
671
+ {
672
+ "type": "null"
673
+ }
674
+ ]
675
+ },
676
+ "longitudinal": {
677
+ "anyOf": [
678
+ {
679
+ "type": "array",
680
+ "items": {
681
+ "type": "string"
682
+ }
683
+ },
684
+ {
685
+ "type": "null"
686
+ }
687
+ ]
688
+ },
689
+ "rowNumber": {
690
+ "anyOf": [
691
+ {
692
+ "type": "array",
693
+ "items": {
694
+ "type": "number"
695
+ }
696
+ },
697
+ {
698
+ "type": "null"
699
+ }
700
+ ]
701
+ },
702
+ "seatNumber": {
703
+ "anyOf": [
704
+ {
705
+ "type": "array",
706
+ "items": {
707
+ "type": "integer"
708
+ }
709
+ },
710
+ {
711
+ "type": "null"
712
+ }
713
+ ]
714
+ },
715
+ "axleNumber": {
716
+ "anyOf": [
717
+ {
718
+ "type": "array",
719
+ "items": {
720
+ "type": "number"
721
+ }
722
+ },
723
+ {
724
+ "type": "null"
725
+ }
726
+ ]
727
+ }
728
+ },
729
+ "additionalProperties": false
730
+ },
731
+ "notes": {
732
+ "type": "boolean"
733
+ }
734
+ },
735
+ "additionalProperties": false,
736
+ "required": [
737
+ "location",
738
+ "notes"
739
+ ]
740
+ }
741
+ },
742
+ "additionalProperties": false
743
+ }
744
+ },
745
+ "additionalProperties": false,
746
+ "required": [
747
+ "category"
748
+ ]
749
+ }
750
+ },
751
+ "additionalProperties": false,
752
+ "required": [
753
+ "imNumber",
754
+ "imDescription",
755
+ "additionalInformation",
756
+ "itemNumber",
757
+ "itemDescription",
758
+ "deficiencyRef",
759
+ "deficiencyId",
760
+ "deficiencySubId",
761
+ "deficiencyCategory",
762
+ "deficiencyText",
763
+ "stdForProhibition",
764
+ "prs",
765
+ "prohibitionIssued",
766
+ "metadata"
767
+ ]
768
+ }
769
+ },
770
+ "customDefects": {
771
+ "type": [
772
+ "array",
773
+ "null"
774
+ ],
775
+ "items": {
776
+ "title": "Specialist Custom Defects Schema",
777
+ "type": "object",
778
+ "properties": {
779
+ "referenceNumber": {
780
+ "type": "string"
781
+ },
782
+ "defectName": {
783
+ "type": "string"
784
+ },
785
+ "defectNotes": {
786
+ "type": "string"
787
+ },
788
+ "hasAllMandatoryFields": {
789
+ "type": "boolean",
790
+ "description": "FE only"
791
+ }
792
+ },
793
+ "additionalProperties": false,
794
+ "required": [
795
+ "referenceNumber",
796
+ "defectName",
797
+ "defectNotes"
798
+ ]
799
+ }
800
+ },
801
+ "requiredStandards": {
802
+ "type": [
803
+ "array"
804
+ ],
805
+ "items": {
806
+ "title": "Specialist Custom Defects Schema Put",
807
+ "type": "object",
808
+ "properties": {
809
+ "sectionNumber": {
810
+ "type": "string"
811
+ },
812
+ "sectionDescription": {
813
+ "type": "string"
814
+ },
815
+ "additionalNotes": {
816
+ "type": [
817
+ "string",
818
+ "null"
819
+ ]
820
+ },
821
+ "rsNumber": {
822
+ "type": "integer"
823
+ },
824
+ "requiredStandard": {
825
+ "type": "string"
826
+ },
827
+ "refCalculation": {
828
+ "type": "string"
829
+ },
830
+ "additionalInfo": {
831
+ "type": "boolean"
832
+ },
833
+ "inspectionTypes": {
834
+ "type": "array",
835
+ "items": {
836
+ "anyOf": [
837
+ {
838
+ "title": "Inspection Type",
839
+ "type": "string",
840
+ "enum": [
841
+ "basic",
842
+ "normal"
843
+ ]
844
+ }
845
+ ]
846
+ }
847
+ },
848
+ "prs": {
849
+ "type": "boolean"
850
+ }
851
+ },
852
+ "additionalProperties": false,
853
+ "required": [
854
+ "sectionNumber",
855
+ "sectionDescription",
856
+ "rsNumber",
857
+ "requiredStandard",
858
+ "refCalculation",
859
+ "additionalInfo",
860
+ "referenceNumber",
861
+ "prs"
862
+ ]
863
+ }
864
+ },
865
+ "testNumber": {
866
+ "type": [
867
+ "string",
868
+ "null"
869
+ ]
870
+ },
871
+ "reapplicationDate": {
872
+ "type": [
873
+ "string",
874
+ "null"
875
+ ]
876
+ },
877
+ "testCode": {
878
+ "type": [
879
+ "string",
880
+ "null"
881
+ ]
882
+ },
883
+ "lastUpdatedAt": {
884
+ "type": [
885
+ "string",
886
+ "date",
887
+ "null"
888
+ ]
889
+ },
890
+ "createdAt": {
891
+ "type": [
892
+ "string",
893
+ "date",
894
+ "null"
895
+ ]
896
+ },
897
+ "testTypeClassification": {
898
+ "type": [
899
+ "string",
900
+ "null"
901
+ ]
902
+ },
903
+ "deletionFlag": {
904
+ "type": [
905
+ "string",
906
+ "null"
907
+ ]
908
+ },
909
+ "centralDocs": {
910
+ "properties": {
911
+ "issueRequired": {
912
+ "type": "boolean"
913
+ },
914
+ "notes": {
915
+ "type": "string"
916
+ },
917
+ "reasonsForIssue": {
918
+ "type": "array",
919
+ "items": {
920
+ "type": "string"
921
+ }
922
+ }
923
+ },
924
+ "additionalProperties": false,
925
+ "required": [
926
+ "issueRequired",
927
+ "reasonsForIssue"
928
+ ]
929
+ }
930
+ },
931
+ "required": [
932
+ "testTypeName",
933
+ "name",
934
+ "testTypeId",
935
+ "certificateNumber",
936
+ "secondaryCertificateNumber",
937
+ "testTypeStartTimestamp",
938
+ "testTypeEndTimestamp",
939
+ "testResult",
940
+ "prohibitionIssued",
941
+ "reasonForAbandoning",
942
+ "additionalNotesRecorded",
943
+ "additionalCommentsForAbandon",
944
+ "defects"
945
+ ],
946
+ "additionalProperties": false
947
+ }
948
+ },
949
+ "reasonForCreation": {
950
+ "type": "string",
951
+ "maxLength": 100
952
+ },
953
+ "createdAt": {
954
+ "type": [
955
+ "string",
956
+ "null"
957
+ ]
958
+ },
959
+ "createdByEmailAddress": {
960
+ "type": "string"
961
+ },
962
+ "createdByName": {
963
+ "type": "string"
964
+ },
965
+ "createdById": {
966
+ "type": "string"
967
+ },
968
+ "lastUpdatedAt": {
969
+ "type": [
970
+ "string",
971
+ "null"
972
+ ]
973
+ },
974
+ "lastUpdatedByEmailAddress": {
975
+ "type": "string"
976
+ },
977
+ "lastUpdatedByName": {
978
+ "type": "string"
979
+ },
980
+ "lastUpdatedById": {
981
+ "type": "string"
982
+ },
983
+ "shouldEmailCertificate": {
984
+ "type": "string"
985
+ },
986
+ "contingencyTestNumber": {
987
+ "type": [
988
+ "string",
989
+ "null"
990
+ ],
991
+ "maxLength": 8,
992
+ "minLength": 6
993
+ },
994
+ "typeOfTest": {
995
+ "anyOf": [
996
+ {
997
+ "title": "Type of test",
998
+ "type": "string",
999
+ "tsEnumNames": [
1000
+ "CONTINGENCY",
1001
+ "DESK_BASED",
1002
+ "COMPLETION"
1003
+ ],
1004
+ "enum": [
1005
+ "contingency",
1006
+ "desk-based",
1007
+ "completion"
1008
+ ]
1009
+ }
1010
+ ]
1011
+ },
1012
+ "source": {
1013
+ "anyOf": [
1014
+ {
1015
+ "title": "Test Sources",
1016
+ "type": "string",
1017
+ "tsEnumNames": [
1018
+ "VTM",
1019
+ "VTA"
1020
+ ],
1021
+ "enum": [
1022
+ "vtm",
1023
+ "vta"
1024
+ ]
1025
+ }
1026
+ ]
1027
+ },
1028
+ "make": {
1029
+ "type": [
1030
+ "string",
1031
+ "null"
1032
+ ]
1033
+ },
1034
+ "model": {
1035
+ "type": [
1036
+ "string",
1037
+ "null"
1038
+ ]
1039
+ },
1040
+ "bodyType": {
1041
+ "title": "Body Type Schema",
1042
+ "type": "object",
1043
+ "properties": {
1044
+ "code": {
1045
+ "type": [
1046
+ "string",
1047
+ "null"
1048
+ ]
1049
+ },
1050
+ "description": {
1051
+ "type": [
1052
+ "string",
1053
+ "null"
1054
+ ]
1055
+ }
1056
+ },
1057
+ "additionalProperties": false
1058
+ },
1059
+ "vehicleId": {
1060
+ "type": [
1061
+ "string",
1062
+ "null"
1063
+ ]
1064
+ },
1065
+ "testHistory": {
1066
+ "type": "array",
1067
+ "items": {
1068
+ "$ref": "#"
1069
+ }
1070
+ },
1071
+ "testVersion": {
1072
+ "type": "string"
1073
+ },
1074
+ "deletionFlag": {
1075
+ "type": "boolean"
1076
+ },
1077
+ "recalls": {
1078
+ "anyOf": [
1079
+ {
1080
+ "title": "Recalls Schema",
1081
+ "type": "object",
1082
+ "properties": {
1083
+ "hasRecall": {
1084
+ "type": "boolean"
1085
+ },
1086
+ "manufacturer": {
1087
+ "type": [
1088
+ "string",
1089
+ "null"
1090
+ ]
1091
+ }
1092
+ },
1093
+ "additionalProperties": false,
1094
+ "required": [
1095
+ "hasRecall",
1096
+ "manufacturer"
1097
+ ]
1098
+ }
1099
+ ]
1100
+ }
1101
+ },
1102
+ "additionalProperties": false,
1103
+ "required": [
1104
+ "testResultId",
1105
+ "testStationName",
1106
+ "testStationPNumber",
1107
+ "testStationType",
1108
+ "testerName",
1109
+ "testerStaffId",
1110
+ "testerEmailAddress",
1111
+ "testStartTimestamp",
1112
+ "testEndTimestamp",
1113
+ "testStatus",
1114
+ "reasonForCancellation",
1115
+ "systemNumber",
1116
+ "vin",
1117
+ "vehicleClass",
1118
+ "vehicleType",
1119
+ "vehicleConfiguration",
1120
+ "preparerId",
1121
+ "preparerName",
1122
+ "euVehicleCategory",
1123
+ "countryOfRegistration",
1124
+ "noOfAxles",
1125
+ "numberOfWheelsDriven",
1126
+ "testTypes"
1127
+ ]
1128
+ }