@dvsa/cvs-type-definitions 1.0.11

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 (33) hide show
  1. package/README.md +53 -0
  2. package/json-schemas/.DS_Store +0 -0
  3. package/json-schemas/activity/index.json +62 -0
  4. package/json-schemas/defect-category-reference-data/index.json +440 -0
  5. package/json-schemas/defect-details/index.json +265 -0
  6. package/json-schemas/defect-location/index.json +49 -0
  7. package/json-schemas/reason-item/index.json +17 -0
  8. package/json-schemas/tech-record/index.json +639 -0
  9. package/json-schemas/test/index.json +1843 -0
  10. package/json-schemas/test-result/index.json +636 -0
  11. package/json-schemas/test-station/index.json +67 -0
  12. package/json-schemas/test-type/index.json +479 -0
  13. package/json-schemas/vehicle/index.json +1804 -0
  14. package/json-schemas/vehicle-tech-record/index.json +683 -0
  15. package/json-schemas/visit/index.json +1895 -0
  16. package/lib/schemas.d.ts +1 -0
  17. package/lib/schemas.js +18 -0
  18. package/lib/src/schema-validation/schema-validator.d.ts +3 -0
  19. package/lib/src/schema-validation/schema-validator.js +22 -0
  20. package/package.json +35 -0
  21. package/types/activity/index.d.ts +23 -0
  22. package/types/defect-category-reference-data/index.d.ts +52 -0
  23. package/types/defect-details/index.d.ts +53 -0
  24. package/types/defect-location/index.d.ts +16 -0
  25. package/types/reason-item/index.d.ts +11 -0
  26. package/types/tech-record/index.d.ts +202 -0
  27. package/types/test/index.d.ts +353 -0
  28. package/types/test-result/index.d.ts +136 -0
  29. package/types/test-station/index.d.ts +23 -0
  30. package/types/test-type/index.d.ts +98 -0
  31. package/types/vehicle/index.d.ts +345 -0
  32. package/types/vehicle-tech-record/index.d.ts +212 -0
  33. package/types/visit/index.d.ts +366 -0
@@ -0,0 +1,1895 @@
1
+ {
2
+ "title": "Visit Schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "startTime": {
6
+ "type": "string"
7
+ },
8
+ "endTime": {
9
+ "type": "string"
10
+ },
11
+ "testStationName": {
12
+ "type": "string"
13
+ },
14
+ "testStationPNumber": {
15
+ "type": "string"
16
+ },
17
+ "testStationEmail": {
18
+ "type": "string"
19
+ },
20
+ "testStationType": {
21
+ "type": "string"
22
+ },
23
+ "testerName": {
24
+ "type": "string"
25
+ },
26
+ "testerId": {
27
+ "type": "string"
28
+ },
29
+ "testerEmail": {
30
+ "type": "string"
31
+ },
32
+ "tests": {
33
+ "type": "array",
34
+ "items": {
35
+ "title": "Commercial Vehicle Test Schema",
36
+ "type": "object",
37
+ "additionalProperties": false,
38
+ "definitions": {},
39
+ "properties": {
40
+ "testResultId": {
41
+ "type": "string"
42
+ },
43
+ "startTime": {
44
+ "type": "string"
45
+ },
46
+ "endTime": {
47
+ "type": "string"
48
+ },
49
+ "status": {
50
+ "enum": [
51
+ "submitted",
52
+ "cancelled",
53
+ null
54
+ ],
55
+ "type": "string"
56
+ },
57
+ "reasonForCancellation": {
58
+ "type": "string"
59
+ },
60
+ "vehicles": {
61
+ "type": "array",
62
+ "items": {
63
+ "title": "Vehicle Schema",
64
+ "type": "object",
65
+ "properties": {
66
+ "systemNumber": {
67
+ "type": "string"
68
+ },
69
+ "vrm": {
70
+ "type": "string"
71
+ },
72
+ "vin": {
73
+ "type": "string"
74
+ },
75
+ "techRecord": {
76
+ "title": "Tech Record Schema",
77
+ "type": "object",
78
+ "properties": {
79
+ "bodyType": {
80
+ "properties": {
81
+ "code": {
82
+ "type": "string"
83
+ },
84
+ "description": {
85
+ "type": "string"
86
+ }
87
+ },
88
+ "additionalProperties": false,
89
+ "required": [
90
+ "code",
91
+ "description"
92
+ ]
93
+ },
94
+ "manufactureYear": {
95
+ "type": "integer"
96
+ },
97
+ "regnDate": {
98
+ "type": "string"
99
+ },
100
+ "ntaNumber": {
101
+ "type": "string"
102
+ },
103
+ "conversionRefNo": {
104
+ "type": "string"
105
+ },
106
+ "speedLimiterMrk": {
107
+ "type": "boolean"
108
+ },
109
+ "tachoExemptMrk": {
110
+ "type": "boolean"
111
+ },
112
+ "reasonForCreation": {
113
+ "type": "string"
114
+ },
115
+ "statusCode": {
116
+ "type": "string"
117
+ },
118
+ "grossKerbWeight": {
119
+ "type": "integer"
120
+ },
121
+ "grossLadenWeight": {
122
+ "type": "integer"
123
+ },
124
+ "noOfAxles": {
125
+ "type": "integer"
126
+ },
127
+ "brakeCode": {
128
+ "type": "string"
129
+ },
130
+ "vehicleType": {
131
+ "type": "string"
132
+ },
133
+ "euVehicleCategory": {
134
+ "type": "string"
135
+ },
136
+ "axles": {
137
+ "type": "array",
138
+ "items": {
139
+ "title": "Axle Schema",
140
+ "type": "object",
141
+ "properties": {
142
+ "parkingBrakeMrk": {
143
+ "type": "boolean"
144
+ },
145
+ "axleNumber": {
146
+ "type": "integer"
147
+ },
148
+ "weights": {
149
+ "title": "Weights Schema",
150
+ "type": "object",
151
+ "properties": {
152
+ "kerbWeight": {
153
+ "type": "integer"
154
+ },
155
+ "ladenWeight": {
156
+ "type": "integer"
157
+ },
158
+ "gbWeight": {
159
+ "type": "integer"
160
+ },
161
+ "designWeight": {
162
+ "type": "integer"
163
+ }
164
+ },
165
+ "additionalProperties": false,
166
+ "required": [
167
+ "gbWeight",
168
+ "designWeight"
169
+ ]
170
+ },
171
+ "tyres": {
172
+ "title": "Tyres Schema",
173
+ "type": "object",
174
+ "properties": {
175
+ "tyreSize": {
176
+ "type": "string"
177
+ },
178
+ "plyRating": {
179
+ "type": "string"
180
+ },
181
+ "fitmentCode": {
182
+ "type": "string"
183
+ },
184
+ "dataTrPsvAxles": {
185
+ "type": "integer"
186
+ },
187
+ "tyreCode": {
188
+ "type": "number"
189
+ },
190
+ "dataTrAxles": {
191
+ "type": "number"
192
+ },
193
+ "speedCategorySymbol": {
194
+ "description": "PSV only",
195
+ "type": "string"
196
+ }
197
+ },
198
+ "additionalProperties": false,
199
+ "required": [
200
+ "tyreSize",
201
+ "plyRating",
202
+ "fitmentCode",
203
+ "tyreCode"
204
+ ]
205
+ },
206
+ "brakes": {
207
+ "title": "Axle Brake Properties Schema",
208
+ "type": "object",
209
+ "properties": {
210
+ "brakeActuator": {
211
+ "type": "integer"
212
+ },
213
+ "leverLength": {
214
+ "type": "integer"
215
+ },
216
+ "springBrakeParking": {
217
+ "type": "boolean"
218
+ }
219
+ },
220
+ "required": [
221
+ "brakeActuator",
222
+ "leverLength",
223
+ "springBrakeParking"
224
+ ],
225
+ "additionalProperties": false
226
+ }
227
+ },
228
+ "required": [
229
+ "axleNumber",
230
+ "tyres"
231
+ ],
232
+ "additionalProperties": false
233
+ },
234
+ "additionalProperties": false
235
+ },
236
+ "vehicleClass": {
237
+ "title": "Vehicle Class Schema",
238
+ "type": "object",
239
+ "properties": {
240
+ "code": {
241
+ "type": "string"
242
+ },
243
+ "description": {
244
+ "type": "string"
245
+ }
246
+ },
247
+ "additionalProperties": false,
248
+ "required": [
249
+ "code",
250
+ "description"
251
+ ]
252
+ },
253
+ "vehicleSubclass": {
254
+ "type": "array",
255
+ "items": {
256
+ "type": "string"
257
+ }
258
+ },
259
+ "vehicleConfiguration": {
260
+ "type": "string"
261
+ },
262
+ "recordCompleteness": {
263
+ "type": "string"
264
+ },
265
+ "chassisMake": {
266
+ "type": "string"
267
+ },
268
+ "chassisModel": {
269
+ "type": "string"
270
+ },
271
+ "bodyMake": {
272
+ "type": "string"
273
+ },
274
+ "bodyModel": {
275
+ "type": "string"
276
+ },
277
+ "vehicleSize": {
278
+ "type": "string"
279
+ },
280
+ "coifDate": {
281
+ "type": "string"
282
+ },
283
+ "unladenWeight": {
284
+ "type": "integer"
285
+ },
286
+ "grossGbWeight": {
287
+ "type": "integer"
288
+ },
289
+ "grossDesignWeight": {
290
+ "type": "integer"
291
+ },
292
+ "grossUnladenWeight": {
293
+ "type": "integer"
294
+ },
295
+ "seatsLowerDeck": {
296
+ "type": "integer"
297
+ },
298
+ "seatsUpperDeck": {
299
+ "type": "integer"
300
+ },
301
+ "standingCapacity": {
302
+ "type": "integer"
303
+ },
304
+ "speedRestriction": {
305
+ "type": "integer"
306
+ },
307
+ "dispensations": {
308
+ "type": "string"
309
+ },
310
+ "remarks": {
311
+ "type": "string"
312
+ },
313
+ "brakes": {
314
+ "title": "Brake",
315
+ "type": "object",
316
+ "properties": {
317
+ "brakeCode": {
318
+ "type": "string"
319
+ },
320
+ "dataTrBrakeOne": {
321
+ "type": "string"
322
+ },
323
+ "dataTrBrakeTwo": {
324
+ "type": "string"
325
+ },
326
+ "dataTrBrakeThree": {
327
+ "type": "string"
328
+ },
329
+ "retarderBrakeOne": {
330
+ "type": "string"
331
+ },
332
+ "retarderBrakeTwo": {
333
+ "type": "string"
334
+ },
335
+ "brakeCodeOriginal": {
336
+ "type": "string"
337
+ },
338
+ "brakeForceWheelsNotLocked": {
339
+ "title": "Brake Force Wheel",
340
+ "type": "object",
341
+ "properties": {
342
+ "serviceBrakeForce": {
343
+ "type": "integer"
344
+ },
345
+ "secondaryBrakeForce": {
346
+ "type": "integer"
347
+ },
348
+ "parkingBrakeForce": {
349
+ "type": "integer"
350
+ }
351
+ },
352
+ "required": [
353
+ "serviceBrakeForce",
354
+ "secondaryBrakeForce",
355
+ "parkingBrakeForce"
356
+ ],
357
+ "additionalProperties": false
358
+ },
359
+ "brakeForceWheelsUpToHalfLocked": {
360
+ "title": "Brake Force Wheel",
361
+ "type": "object",
362
+ "properties": {
363
+ "serviceBrakeForce": {
364
+ "type": "integer"
365
+ },
366
+ "secondaryBrakeForce": {
367
+ "type": "integer"
368
+ },
369
+ "parkingBrakeForce": {
370
+ "type": "integer"
371
+ }
372
+ },
373
+ "required": [
374
+ "serviceBrakeForce",
375
+ "secondaryBrakeForce",
376
+ "parkingBrakeForce"
377
+ ],
378
+ "additionalProperties": false
379
+ },
380
+ "dtpNumber": {
381
+ "type": "string"
382
+ },
383
+ "loadSensingValve": {
384
+ "type": "boolean"
385
+ },
386
+ "antilockBrakingSystem": {
387
+ "type": "boolean"
388
+ }
389
+ },
390
+ "additionalProperties": false
391
+ },
392
+ "make": {
393
+ "type": "string"
394
+ },
395
+ "model": {
396
+ "type": "string"
397
+ },
398
+ "functionCode": {
399
+ "type": "string"
400
+ },
401
+ "typeUseCode": {
402
+ "type": "string"
403
+ },
404
+ "roadFriendly": {
405
+ "type": "boolean"
406
+ },
407
+ "drawbarCouplingFitted": {
408
+ "type": "boolean"
409
+ },
410
+ "dimensions": {
411
+ "title": "Dimensions Schema",
412
+ "type": "object",
413
+ "properties": {
414
+ "length": {
415
+ "type": "integer"
416
+ },
417
+ "width": {
418
+ "type": "integer"
419
+ },
420
+ "axleSpacing": {
421
+ "type": "array",
422
+ "items": {
423
+ "properties": {
424
+ "axles": {
425
+ "type": "string"
426
+ },
427
+ "value": {
428
+ "type": "integer"
429
+ }
430
+ },
431
+ "required": [
432
+ "axles",
433
+ "value"
434
+ ],
435
+ "additionalProperties": false
436
+ },
437
+ "minItems": 1,
438
+ "maxItems": 1
439
+ }
440
+ },
441
+ "required": [
442
+ "length",
443
+ "width",
444
+ "axleSpacing"
445
+ ],
446
+ "additionalProperties": false
447
+ },
448
+ "notes": {
449
+ "type": "string"
450
+ },
451
+ "adrDetails": {
452
+ "title": "ADR Details Schema",
453
+ "type": "object",
454
+ "properties": {
455
+ "vehicleDetails": {
456
+ "type": "object",
457
+ "properties": {
458
+ "type": {
459
+ "type": "string"
460
+ },
461
+ "approvalDate": {
462
+ "type": "string"
463
+ }
464
+ },
465
+ "additionalProperties": false
466
+ },
467
+ "listStatementApplicable": {
468
+ "type": "boolean"
469
+ },
470
+ "batteryListNumber": {
471
+ "type": "string"
472
+ },
473
+ "permittedDangerousGoods": {
474
+ "type": "array",
475
+ "items": {
476
+ "type": "string"
477
+ }
478
+ },
479
+ "additionalExaminerNotes": {
480
+ "type": "string"
481
+ },
482
+ "applicantDetails": {
483
+ "title": "Applicant Details Schema",
484
+ "type": "object",
485
+ "properties": {
486
+ "name": {
487
+ "type": "string"
488
+ },
489
+ "street": {
490
+ "type": "string"
491
+ },
492
+ "town": {
493
+ "type": "string"
494
+ },
495
+ "city": {
496
+ "type": "string"
497
+ },
498
+ "postcode": {
499
+ "type": "string"
500
+ }
501
+ },
502
+ "additionalProperties": false
503
+ },
504
+ "memosApply": {
505
+ "type": "array",
506
+ "items": {
507
+ "type": "string"
508
+ }
509
+ },
510
+ "additionalNotes": {
511
+ "type": "object",
512
+ "properties": {
513
+ "number": {
514
+ "type": "array",
515
+ "items": {
516
+ "type": "string"
517
+ }
518
+ },
519
+ "guidanceNotes": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "string"
523
+ }
524
+ }
525
+ },
526
+ "additionalProperties": false
527
+ },
528
+ "adrTypeApprovalNo": {
529
+ "type": "string"
530
+ },
531
+ "compatibilityGroupJ": {
532
+ "type": "boolean"
533
+ },
534
+ "tank": {
535
+ "title": "Tank Schema",
536
+ "type": "object",
537
+ "properties": {
538
+ "tankDetails": {
539
+ "title": "Tank Details Schema",
540
+ "type": "object",
541
+ "properties": {
542
+ "tankManufacturer": {
543
+ "type": "string"
544
+ },
545
+ "tc2Details": {
546
+ "title": "TC2 Details Schema",
547
+ "type": "object",
548
+ "properties": {
549
+ "tc2Type": {
550
+ "type": "string"
551
+ },
552
+ "tc2IntermediateApprovalNo": {
553
+ "type": "string"
554
+ },
555
+ "tc2IntermediateExpiryDate": {
556
+ "type": "string"
557
+ }
558
+ },
559
+ "additionalProperties": false
560
+ },
561
+ "tc3Details": {
562
+ "type": "array",
563
+ "items": {
564
+ "title": "TC3 Details Schema",
565
+ "type": "object",
566
+ "properties": {
567
+ "tc3Type": {
568
+ "type": "string"
569
+ },
570
+ "tc3IntermediateApprovalNo": {
571
+ "type": "string"
572
+ },
573
+ "tc3IntermediateExpiryDate": {
574
+ "type": "string"
575
+ }
576
+ },
577
+ "additionalProperties": false
578
+ }
579
+ },
580
+ "yearOfManufacture": {
581
+ "type": "string"
582
+ },
583
+ "tankCode": {
584
+ "type": "string"
585
+ },
586
+ "specialProvisions": {
587
+ "type": "string"
588
+ },
589
+ "tankManufacturerSerialNo": {
590
+ "type": "string"
591
+ },
592
+ "tankTypeAppNo": {
593
+ "type": "string"
594
+ }
595
+ },
596
+ "additionalProperties": false
597
+ },
598
+ "tankStatement": {
599
+ "title": "Tank Statement Schema",
600
+ "type": "object",
601
+ "properties": {
602
+ "substancesPermitted": {
603
+ "type": "string"
604
+ },
605
+ "statement": {
606
+ "type": "string"
607
+ },
608
+ "productList": {
609
+ "type": "string"
610
+ },
611
+ "productListRefNo": {
612
+ "type": "string"
613
+ },
614
+ "productListUnNo": {
615
+ "type": "array",
616
+ "items": {
617
+ "type": "string"
618
+ }
619
+ }
620
+ },
621
+ "additionalProperties": false
622
+ }
623
+ },
624
+ "additionalProperties": false
625
+ }
626
+ },
627
+ "additionalProperties": false
628
+ },
629
+ "trainGbWeight": {
630
+ "type": "integer"
631
+ },
632
+ "trainDesignWeight": {
633
+ "type": "integer"
634
+ },
635
+ "maxTrainGbWeight": {
636
+ "type": "integer"
637
+ },
638
+ "maxTrainDesignWeight": {
639
+ "type": "integer"
640
+ },
641
+ "euroStandard": {
642
+ "type": "integer"
643
+ },
644
+ "frontAxleTo5thWheelMin": {
645
+ "type": "integer"
646
+ },
647
+ "frontAxleTo5thWheelMax": {
648
+ "type": "integer"
649
+ },
650
+ "frontAxleTo5thWheelCouplingMin": {
651
+ "type": "integer"
652
+ },
653
+ "frontAxleTo5thWheelCouplingMax": {
654
+ "type": "integer"
655
+ },
656
+ "firstUseDate": {
657
+ "type": "string"
658
+ },
659
+ "maxLoadOnCoupling": {
660
+ "type": "integer"
661
+ },
662
+ "suspensionType": {
663
+ "type": "string"
664
+ },
665
+ "couplingType": {
666
+ "type": "string"
667
+ },
668
+ "frontAxleToRearAxle": {
669
+ "type": "integer"
670
+ },
671
+ "rearAxleToRearTrl": {
672
+ "type": "integer"
673
+ },
674
+ "couplingCenterToRearAxleMin": {
675
+ "type": "integer"
676
+ },
677
+ "couplingCenterToRearAxleMax": {
678
+ "type": "integer"
679
+ },
680
+ "couplingCenterToRearTrlMin": {
681
+ "type": "integer"
682
+ },
683
+ "couplingCenterToRearTrlMax": {
684
+ "type": "integer"
685
+ },
686
+ "numberOfWheelsDriven": {
687
+ "type": "integer"
688
+ }
689
+ },
690
+ "additionalProperties": false,
691
+ "required": [
692
+ "bodyType",
693
+ "regnDate",
694
+ "manufactureYear",
695
+ "ntaNumber",
696
+ "conversionRefNo",
697
+ "speedLimiterMrk",
698
+ "tachoExemptMrk",
699
+ "reasonForCreation",
700
+ "statusCode",
701
+ "grossKerbWeight",
702
+ "grossLadenWeight",
703
+ "noOfAxles",
704
+ "brakeCode",
705
+ "vehicleType",
706
+ "euVehicleCategory",
707
+ "axles",
708
+ "vehicleClass",
709
+ "vehicleSubclass",
710
+ "vehicleConfiguration",
711
+ "notes"
712
+ ]
713
+ },
714
+ "testResultsHistory": {
715
+ "type": "array",
716
+ "items": {
717
+ "title": "Test Result Schema",
718
+ "type": "object",
719
+ "properties": {
720
+ "testResultId": {
721
+ "type": "string"
722
+ },
723
+ "testStationName": {
724
+ "type": "string"
725
+ },
726
+ "testStationPNumber": {
727
+ "type": "string"
728
+ },
729
+ "testStationType": {
730
+ "type": "string"
731
+ },
732
+ "testerName": {
733
+ "type": "string"
734
+ },
735
+ "testerStaffId": {
736
+ "type": "string"
737
+ },
738
+ "testerEmailAddress": {
739
+ "type": "string"
740
+ },
741
+ "testStartTimestamp": {
742
+ "type": "string"
743
+ },
744
+ "testEndTimestamp": {
745
+ "type": "string"
746
+ },
747
+ "testStatus": {
748
+ "type": "string"
749
+ },
750
+ "reasonForCancellation": {
751
+ "type": [
752
+ "string",
753
+ "null"
754
+ ]
755
+ },
756
+ "systemNumber": {
757
+ "type": "string"
758
+ },
759
+ "vrm": {
760
+ "type": "string"
761
+ },
762
+ "trailerId": {
763
+ "type": "string"
764
+ },
765
+ "vin": {
766
+ "type": "string"
767
+ },
768
+ "vehicleClass": {
769
+ "title": "Vehicle Class Schema",
770
+ "type": "object",
771
+ "properties": {
772
+ "code": {
773
+ "type": "string"
774
+ },
775
+ "description": {
776
+ "type": "string"
777
+ }
778
+ },
779
+ "additionalProperties": false,
780
+ "required": [
781
+ "code",
782
+ "description"
783
+ ]
784
+ },
785
+ "vehicleSubclass": {
786
+ "type": "array",
787
+ "items": {
788
+ "type": "string"
789
+ }
790
+ },
791
+ "vehicleType": {
792
+ "type": "string"
793
+ },
794
+ "vehicleConfiguration": {
795
+ "type": "string"
796
+ },
797
+ "odometerReading": {
798
+ "type": [
799
+ "number",
800
+ "null"
801
+ ]
802
+ },
803
+ "odometerReadingUnits": {
804
+ "type": [
805
+ "string",
806
+ "null"
807
+ ]
808
+ },
809
+ "preparerId": {
810
+ "type": "string"
811
+ },
812
+ "preparerName": {
813
+ "type": "string"
814
+ },
815
+ "euVehicleCategory": {
816
+ "type": "string"
817
+ },
818
+ "countryOfRegistration": {
819
+ "type": [
820
+ "string",
821
+ "null"
822
+ ]
823
+ },
824
+ "noOfAxles": {
825
+ "type": "integer"
826
+ },
827
+ "numberOfWheelsDriven": {
828
+ "type": "integer"
829
+ },
830
+ "vehicleSize": {
831
+ "type": "string"
832
+ },
833
+ "numberOfSeats": {
834
+ "type": "integer"
835
+ },
836
+ "regnDate": {
837
+ "type": "string"
838
+ },
839
+ "firstUseDate": {
840
+ "type": "string"
841
+ },
842
+ "testTypes": {
843
+ "type": "array",
844
+ "items": {
845
+ "title": "Test Type Schema",
846
+ "type": "object",
847
+ "properties": {
848
+ "testTypeName": {
849
+ "type": "string"
850
+ },
851
+ "name": {
852
+ "type": "string"
853
+ },
854
+ "testTypeId": {
855
+ "type": "string"
856
+ },
857
+ "certificateNumber": {
858
+ "type": [
859
+ "string",
860
+ "null"
861
+ ]
862
+ },
863
+ "secondaryCertificateNumber": {
864
+ "type": [
865
+ "string",
866
+ "null"
867
+ ]
868
+ },
869
+ "testTypeStartTimestamp": {
870
+ "type": [
871
+ "string",
872
+ "null"
873
+ ]
874
+ },
875
+ "testTypeEndTimestamp": {
876
+ "type": [
877
+ "string",
878
+ "null"
879
+ ]
880
+ },
881
+ "testResult": {
882
+ "type": [
883
+ "string",
884
+ "null"
885
+ ]
886
+ },
887
+ "prohibitionIssued": {
888
+ "type": [
889
+ "boolean",
890
+ "null"
891
+ ]
892
+ },
893
+ "reasonForAbandoning": {
894
+ "type": [
895
+ "string",
896
+ "null"
897
+ ]
898
+ },
899
+ "additionalNotesRecorded": {
900
+ "type": [
901
+ "string",
902
+ "null"
903
+ ]
904
+ },
905
+ "additionalCommentsForAbandon": {
906
+ "type": [
907
+ "string",
908
+ "null"
909
+ ]
910
+ },
911
+ "numberOfSeatbeltsFitted": {
912
+ "type": [
913
+ "integer",
914
+ "null"
915
+ ]
916
+ },
917
+ "lastSeatbeltInstallationCheckDate": {
918
+ "type": [
919
+ "string",
920
+ "null"
921
+ ]
922
+ },
923
+ "seatbeltInstallationCheckDate": {
924
+ "type": [
925
+ "boolean",
926
+ "null"
927
+ ]
928
+ },
929
+ "testExpiryDate": {
930
+ "type": "string"
931
+ },
932
+ "modType": {
933
+ "anyOf": [
934
+ {
935
+ "title": "Mod Type Schema",
936
+ "type": "object",
937
+ "properties": {
938
+ "code": {
939
+ "type": "string"
940
+ },
941
+ "description": {
942
+ "type": "string"
943
+ }
944
+ },
945
+ "required": [
946
+ "code",
947
+ "description"
948
+ ],
949
+ "additionalProperties": false
950
+ },
951
+ {
952
+ "type": "string"
953
+ },
954
+ {
955
+ "type": "null"
956
+ }
957
+ ]
958
+ },
959
+ "emissionStandard": {
960
+ "type": "string"
961
+ },
962
+ "fuelType": {
963
+ "type": "string"
964
+ },
965
+ "modificationTypeUsed": {
966
+ "type": "string"
967
+ },
968
+ "smokeTestKLimitApplied": {
969
+ "type": "string"
970
+ },
971
+ "particulateTrapFitted": {
972
+ "type": "string"
973
+ },
974
+ "particulateTrapSerialNumber": {
975
+ "type": "string"
976
+ },
977
+ "defects": {
978
+ "type": [
979
+ "array"
980
+ ],
981
+ "items": {
982
+ "title": "Defect Details Schema",
983
+ "type": "object",
984
+ "properties": {
985
+ "imNumber": {
986
+ "type": "integer"
987
+ },
988
+ "imDescription": {
989
+ "type": "string"
990
+ },
991
+ "additionalInformation": {
992
+ "properties": {
993
+ "location": {
994
+ "title": "Defect Location Schema",
995
+ "type": "object",
996
+ "properties": {
997
+ "vertical": {
998
+ "type": [
999
+ "string",
1000
+ "null"
1001
+ ]
1002
+ },
1003
+ "horizontal": {
1004
+ "type": [
1005
+ "string",
1006
+ "null"
1007
+ ]
1008
+ },
1009
+ "lateral": {
1010
+ "type": [
1011
+ "string",
1012
+ "null"
1013
+ ]
1014
+ },
1015
+ "longitudinal": {
1016
+ "type": [
1017
+ "string",
1018
+ "null"
1019
+ ]
1020
+ },
1021
+ "rowNumber": {
1022
+ "type": [
1023
+ "integer",
1024
+ "null"
1025
+ ]
1026
+ },
1027
+ "seatNumber": {
1028
+ "type": [
1029
+ "integer",
1030
+ "null"
1031
+ ]
1032
+ },
1033
+ "axleNumber": {
1034
+ "type": [
1035
+ "integer",
1036
+ "null"
1037
+ ]
1038
+ }
1039
+ },
1040
+ "additionalProperties": false
1041
+ },
1042
+ "notes": {
1043
+ "type": "string"
1044
+ }
1045
+ },
1046
+ "additionalProperties": false,
1047
+ "required": [
1048
+ "location",
1049
+ "notes"
1050
+ ]
1051
+ },
1052
+ "itemNumber": {
1053
+ "type": "integer"
1054
+ },
1055
+ "itemDescription": {
1056
+ "type": "string"
1057
+ },
1058
+ "deficiencyRef": {
1059
+ "type": "string"
1060
+ },
1061
+ "deficiencyId": {
1062
+ "type": [
1063
+ "string",
1064
+ "null"
1065
+ ]
1066
+ },
1067
+ "deficiencySubId": {
1068
+ "type": [
1069
+ "string",
1070
+ "null"
1071
+ ]
1072
+ },
1073
+ "deficiencyCategory": {
1074
+ "type": "string"
1075
+ },
1076
+ "deficiencyText": {
1077
+ "type": [
1078
+ "string",
1079
+ "null"
1080
+ ]
1081
+ },
1082
+ "stdForProhibition": {
1083
+ "type": [
1084
+ "boolean",
1085
+ "null"
1086
+ ]
1087
+ },
1088
+ "prs": {
1089
+ "type": [
1090
+ "boolean",
1091
+ "null"
1092
+ ]
1093
+ },
1094
+ "prohibitionIssued": {
1095
+ "type": [
1096
+ "boolean",
1097
+ "null"
1098
+ ]
1099
+ },
1100
+ "metadata": {
1101
+ "title": "Defect Metadata Schema",
1102
+ "type": "object",
1103
+ "properties": {
1104
+ "category": {
1105
+ "properties": {
1106
+ "additionalInfo": {
1107
+ "title": "Defect Additional Details Metadata Schema",
1108
+ "type": "object",
1109
+ "properties": {
1110
+ "location": {
1111
+ "title": "Defect Location Metadata Schema",
1112
+ "type": "object",
1113
+ "properties": {
1114
+ "vertical": {
1115
+ "anyOf": [
1116
+ {
1117
+ "type": "array",
1118
+ "items": {
1119
+ "type": "string"
1120
+ }
1121
+ },
1122
+ {
1123
+ "type": "null"
1124
+ }
1125
+ ]
1126
+ },
1127
+ "horizontal": {
1128
+ "anyOf": [
1129
+ {
1130
+ "type": "array",
1131
+ "items": {
1132
+ "type": "string"
1133
+ }
1134
+ },
1135
+ {
1136
+ "type": "null"
1137
+ }
1138
+ ]
1139
+ },
1140
+ "lateral": {
1141
+ "anyOf": [
1142
+ {
1143
+ "type": "array",
1144
+ "items": {
1145
+ "type": "string"
1146
+ }
1147
+ },
1148
+ {
1149
+ "type": "null"
1150
+ }
1151
+ ]
1152
+ },
1153
+ "longitudinal": {
1154
+ "anyOf": [
1155
+ {
1156
+ "type": "array",
1157
+ "items": {
1158
+ "type": "string"
1159
+ }
1160
+ },
1161
+ {
1162
+ "type": "null"
1163
+ }
1164
+ ]
1165
+ },
1166
+ "rowNumber": {
1167
+ "anyOf": [
1168
+ {
1169
+ "type": "array",
1170
+ "items": {
1171
+ "type": "number"
1172
+ }
1173
+ },
1174
+ {
1175
+ "type": "null"
1176
+ }
1177
+ ]
1178
+ },
1179
+ "seatNumber": {
1180
+ "anyOf": [
1181
+ {
1182
+ "type": "array",
1183
+ "items": {
1184
+ "type": "integer"
1185
+ }
1186
+ },
1187
+ {
1188
+ "type": "null"
1189
+ }
1190
+ ]
1191
+ },
1192
+ "axleNumber": {
1193
+ "anyOf": [
1194
+ {
1195
+ "type": "array",
1196
+ "items": {
1197
+ "type": "number"
1198
+ }
1199
+ },
1200
+ {
1201
+ "type": "null"
1202
+ }
1203
+ ]
1204
+ }
1205
+ },
1206
+ "additionalProperties": false
1207
+ },
1208
+ "notes": {
1209
+ "type": "boolean"
1210
+ }
1211
+ },
1212
+ "additionalProperties": false,
1213
+ "required": [
1214
+ "location",
1215
+ "notes"
1216
+ ]
1217
+ }
1218
+ },
1219
+ "additionalProperties": false
1220
+ }
1221
+ },
1222
+ "additionalProperties": false,
1223
+ "required": [
1224
+ "category"
1225
+ ]
1226
+ }
1227
+ },
1228
+ "additionalProperties": false,
1229
+ "required": [
1230
+ "imNumber",
1231
+ "imDescription",
1232
+ "additionalInformation",
1233
+ "itemNumber",
1234
+ "itemDescription",
1235
+ "deficiencyRef",
1236
+ "deficiencyId",
1237
+ "deficiencySubId",
1238
+ "deficiencyCategory",
1239
+ "deficiencyText",
1240
+ "stdForProhibition",
1241
+ "prs",
1242
+ "prohibitionIssued",
1243
+ "metadata"
1244
+ ]
1245
+ }
1246
+ },
1247
+ "customDefects": {
1248
+ "type": [
1249
+ "array"
1250
+ ],
1251
+ "items": {
1252
+ "title": "Specialist Custom Defects Schema",
1253
+ "type": "object",
1254
+ "properties": {
1255
+ "referenceNumber": {
1256
+ "type": "string"
1257
+ },
1258
+ "defectName": {
1259
+ "type": "string"
1260
+ },
1261
+ "defectNotes": {
1262
+ "type": "string"
1263
+ },
1264
+ "hasAllMandatoryFields": {
1265
+ "type": "boolean",
1266
+ "description": "FE only"
1267
+ }
1268
+ },
1269
+ "additionalProperties": false,
1270
+ "required": [
1271
+ "referenceNumber",
1272
+ "defectName",
1273
+ "defectNotes"
1274
+ ]
1275
+ }
1276
+ },
1277
+ "completionStatus": {
1278
+ "type": "string"
1279
+ },
1280
+ "testTypeCategoryName": {
1281
+ "type": "string"
1282
+ },
1283
+ "reasons": {
1284
+ "type": "array",
1285
+ "items": {
1286
+ "type": "string"
1287
+ }
1288
+ },
1289
+ "testNumber": {
1290
+ "type": "string"
1291
+ },
1292
+ "linkedIds": {
1293
+ "anyOf": [
1294
+ {
1295
+ "type": "array",
1296
+ "items": {
1297
+ "type": "string"
1298
+ }
1299
+ },
1300
+ {
1301
+ "type": "null"
1302
+ }
1303
+ ]
1304
+ }
1305
+ },
1306
+ "required": [
1307
+ "testTypeName",
1308
+ "name",
1309
+ "testTypeId",
1310
+ "certificateNumber",
1311
+ "secondaryCertificateNumber",
1312
+ "testTypeStartTimestamp",
1313
+ "testTypeEndTimestamp",
1314
+ "testResult",
1315
+ "prohibitionIssued",
1316
+ "reasonForAbandoning",
1317
+ "additionalNotesRecorded",
1318
+ "additionalCommentsForAbandon",
1319
+ "defects"
1320
+ ],
1321
+ "additionalProperties": false
1322
+ }
1323
+ }
1324
+ },
1325
+ "additionalProperties": false,
1326
+ "required": [
1327
+ "testResultId",
1328
+ "testStationName",
1329
+ "testStationPNumber",
1330
+ "testStationType",
1331
+ "testerName",
1332
+ "testerStaffId",
1333
+ "testerEmailAddress",
1334
+ "testStartTimestamp",
1335
+ "testEndTimestamp",
1336
+ "testStatus",
1337
+ "reasonForCancellation",
1338
+ "systemNumber",
1339
+ "vin",
1340
+ "vehicleClass",
1341
+ "vehicleType",
1342
+ "vehicleConfiguration",
1343
+ "preparerId",
1344
+ "preparerName",
1345
+ "euVehicleCategory",
1346
+ "countryOfRegistration",
1347
+ "noOfAxles",
1348
+ "numberOfWheelsDriven",
1349
+ "testTypes"
1350
+ ]
1351
+ }
1352
+ },
1353
+ "countryOfRegistration": {
1354
+ "type": "string"
1355
+ },
1356
+ "euVehicleCategory": {
1357
+ "type": "string"
1358
+ },
1359
+ "odometerReading": {
1360
+ "type": "string"
1361
+ },
1362
+ "odometerMetric": {
1363
+ "type": "string"
1364
+ },
1365
+ "preparerId": {
1366
+ "type": "string"
1367
+ },
1368
+ "preparerName": {
1369
+ "type": "string"
1370
+ },
1371
+ "testTypes": {
1372
+ "type": "array",
1373
+ "items": {
1374
+ "title": "Test Type Schema",
1375
+ "type": "object",
1376
+ "properties": {
1377
+ "testTypeName": {
1378
+ "type": "string"
1379
+ },
1380
+ "name": {
1381
+ "type": "string"
1382
+ },
1383
+ "testTypeId": {
1384
+ "type": "string"
1385
+ },
1386
+ "certificateNumber": {
1387
+ "type": [
1388
+ "string",
1389
+ "null"
1390
+ ]
1391
+ },
1392
+ "secondaryCertificateNumber": {
1393
+ "type": [
1394
+ "string",
1395
+ "null"
1396
+ ]
1397
+ },
1398
+ "testTypeStartTimestamp": {
1399
+ "type": [
1400
+ "string",
1401
+ "null"
1402
+ ]
1403
+ },
1404
+ "testTypeEndTimestamp": {
1405
+ "type": [
1406
+ "string",
1407
+ "null"
1408
+ ]
1409
+ },
1410
+ "testResult": {
1411
+ "type": [
1412
+ "string",
1413
+ "null"
1414
+ ]
1415
+ },
1416
+ "prohibitionIssued": {
1417
+ "type": [
1418
+ "boolean",
1419
+ "null"
1420
+ ]
1421
+ },
1422
+ "reasonForAbandoning": {
1423
+ "type": [
1424
+ "string",
1425
+ "null"
1426
+ ]
1427
+ },
1428
+ "additionalNotesRecorded": {
1429
+ "type": [
1430
+ "string",
1431
+ "null"
1432
+ ]
1433
+ },
1434
+ "additionalCommentsForAbandon": {
1435
+ "type": [
1436
+ "string",
1437
+ "null"
1438
+ ]
1439
+ },
1440
+ "numberOfSeatbeltsFitted": {
1441
+ "type": [
1442
+ "integer",
1443
+ "null"
1444
+ ]
1445
+ },
1446
+ "lastSeatbeltInstallationCheckDate": {
1447
+ "type": [
1448
+ "string",
1449
+ "null"
1450
+ ]
1451
+ },
1452
+ "seatbeltInstallationCheckDate": {
1453
+ "type": [
1454
+ "boolean",
1455
+ "null"
1456
+ ]
1457
+ },
1458
+ "testExpiryDate": {
1459
+ "type": "string"
1460
+ },
1461
+ "modType": {
1462
+ "anyOf": [
1463
+ {
1464
+ "title": "Mod Type Schema",
1465
+ "type": "object",
1466
+ "properties": {
1467
+ "code": {
1468
+ "type": "string"
1469
+ },
1470
+ "description": {
1471
+ "type": "string"
1472
+ }
1473
+ },
1474
+ "required": [
1475
+ "code",
1476
+ "description"
1477
+ ],
1478
+ "additionalProperties": false
1479
+ },
1480
+ {
1481
+ "type": "string"
1482
+ },
1483
+ {
1484
+ "type": "null"
1485
+ }
1486
+ ]
1487
+ },
1488
+ "emissionStandard": {
1489
+ "type": "string"
1490
+ },
1491
+ "fuelType": {
1492
+ "type": "string"
1493
+ },
1494
+ "modificationTypeUsed": {
1495
+ "type": "string"
1496
+ },
1497
+ "smokeTestKLimitApplied": {
1498
+ "type": "string"
1499
+ },
1500
+ "particulateTrapFitted": {
1501
+ "type": "string"
1502
+ },
1503
+ "particulateTrapSerialNumber": {
1504
+ "type": "string"
1505
+ },
1506
+ "defects": {
1507
+ "type": [
1508
+ "array"
1509
+ ],
1510
+ "items": {
1511
+ "title": "Defect Details Schema",
1512
+ "type": "object",
1513
+ "properties": {
1514
+ "imNumber": {
1515
+ "type": "integer"
1516
+ },
1517
+ "imDescription": {
1518
+ "type": "string"
1519
+ },
1520
+ "additionalInformation": {
1521
+ "properties": {
1522
+ "location": {
1523
+ "title": "Defect Location Schema",
1524
+ "type": "object",
1525
+ "properties": {
1526
+ "vertical": {
1527
+ "type": [
1528
+ "string",
1529
+ "null"
1530
+ ]
1531
+ },
1532
+ "horizontal": {
1533
+ "type": [
1534
+ "string",
1535
+ "null"
1536
+ ]
1537
+ },
1538
+ "lateral": {
1539
+ "type": [
1540
+ "string",
1541
+ "null"
1542
+ ]
1543
+ },
1544
+ "longitudinal": {
1545
+ "type": [
1546
+ "string",
1547
+ "null"
1548
+ ]
1549
+ },
1550
+ "rowNumber": {
1551
+ "type": [
1552
+ "integer",
1553
+ "null"
1554
+ ]
1555
+ },
1556
+ "seatNumber": {
1557
+ "type": [
1558
+ "integer",
1559
+ "null"
1560
+ ]
1561
+ },
1562
+ "axleNumber": {
1563
+ "type": [
1564
+ "integer",
1565
+ "null"
1566
+ ]
1567
+ }
1568
+ },
1569
+ "additionalProperties": false
1570
+ },
1571
+ "notes": {
1572
+ "type": "string"
1573
+ }
1574
+ },
1575
+ "additionalProperties": false,
1576
+ "required": [
1577
+ "location",
1578
+ "notes"
1579
+ ]
1580
+ },
1581
+ "itemNumber": {
1582
+ "type": "integer"
1583
+ },
1584
+ "itemDescription": {
1585
+ "type": "string"
1586
+ },
1587
+ "deficiencyRef": {
1588
+ "type": "string"
1589
+ },
1590
+ "deficiencyId": {
1591
+ "type": [
1592
+ "string",
1593
+ "null"
1594
+ ]
1595
+ },
1596
+ "deficiencySubId": {
1597
+ "type": [
1598
+ "string",
1599
+ "null"
1600
+ ]
1601
+ },
1602
+ "deficiencyCategory": {
1603
+ "type": "string"
1604
+ },
1605
+ "deficiencyText": {
1606
+ "type": [
1607
+ "string",
1608
+ "null"
1609
+ ]
1610
+ },
1611
+ "stdForProhibition": {
1612
+ "type": [
1613
+ "boolean",
1614
+ "null"
1615
+ ]
1616
+ },
1617
+ "prs": {
1618
+ "type": [
1619
+ "boolean",
1620
+ "null"
1621
+ ]
1622
+ },
1623
+ "prohibitionIssued": {
1624
+ "type": [
1625
+ "boolean",
1626
+ "null"
1627
+ ]
1628
+ },
1629
+ "metadata": {
1630
+ "title": "Defect Metadata Schema",
1631
+ "type": "object",
1632
+ "properties": {
1633
+ "category": {
1634
+ "properties": {
1635
+ "additionalInfo": {
1636
+ "title": "Defect Additional Details Metadata Schema",
1637
+ "type": "object",
1638
+ "properties": {
1639
+ "location": {
1640
+ "title": "Defect Location Metadata Schema",
1641
+ "type": "object",
1642
+ "properties": {
1643
+ "vertical": {
1644
+ "anyOf": [
1645
+ {
1646
+ "type": "array",
1647
+ "items": {
1648
+ "type": "string"
1649
+ }
1650
+ },
1651
+ {
1652
+ "type": "null"
1653
+ }
1654
+ ]
1655
+ },
1656
+ "horizontal": {
1657
+ "anyOf": [
1658
+ {
1659
+ "type": "array",
1660
+ "items": {
1661
+ "type": "string"
1662
+ }
1663
+ },
1664
+ {
1665
+ "type": "null"
1666
+ }
1667
+ ]
1668
+ },
1669
+ "lateral": {
1670
+ "anyOf": [
1671
+ {
1672
+ "type": "array",
1673
+ "items": {
1674
+ "type": "string"
1675
+ }
1676
+ },
1677
+ {
1678
+ "type": "null"
1679
+ }
1680
+ ]
1681
+ },
1682
+ "longitudinal": {
1683
+ "anyOf": [
1684
+ {
1685
+ "type": "array",
1686
+ "items": {
1687
+ "type": "string"
1688
+ }
1689
+ },
1690
+ {
1691
+ "type": "null"
1692
+ }
1693
+ ]
1694
+ },
1695
+ "rowNumber": {
1696
+ "anyOf": [
1697
+ {
1698
+ "type": "array",
1699
+ "items": {
1700
+ "type": "number"
1701
+ }
1702
+ },
1703
+ {
1704
+ "type": "null"
1705
+ }
1706
+ ]
1707
+ },
1708
+ "seatNumber": {
1709
+ "anyOf": [
1710
+ {
1711
+ "type": "array",
1712
+ "items": {
1713
+ "type": "integer"
1714
+ }
1715
+ },
1716
+ {
1717
+ "type": "null"
1718
+ }
1719
+ ]
1720
+ },
1721
+ "axleNumber": {
1722
+ "anyOf": [
1723
+ {
1724
+ "type": "array",
1725
+ "items": {
1726
+ "type": "number"
1727
+ }
1728
+ },
1729
+ {
1730
+ "type": "null"
1731
+ }
1732
+ ]
1733
+ }
1734
+ },
1735
+ "additionalProperties": false
1736
+ },
1737
+ "notes": {
1738
+ "type": "boolean"
1739
+ }
1740
+ },
1741
+ "additionalProperties": false,
1742
+ "required": [
1743
+ "location",
1744
+ "notes"
1745
+ ]
1746
+ }
1747
+ },
1748
+ "additionalProperties": false
1749
+ }
1750
+ },
1751
+ "additionalProperties": false,
1752
+ "required": [
1753
+ "category"
1754
+ ]
1755
+ }
1756
+ },
1757
+ "additionalProperties": false,
1758
+ "required": [
1759
+ "imNumber",
1760
+ "imDescription",
1761
+ "additionalInformation",
1762
+ "itemNumber",
1763
+ "itemDescription",
1764
+ "deficiencyRef",
1765
+ "deficiencyId",
1766
+ "deficiencySubId",
1767
+ "deficiencyCategory",
1768
+ "deficiencyText",
1769
+ "stdForProhibition",
1770
+ "prs",
1771
+ "prohibitionIssued",
1772
+ "metadata"
1773
+ ]
1774
+ }
1775
+ },
1776
+ "customDefects": {
1777
+ "type": [
1778
+ "array"
1779
+ ],
1780
+ "items": {
1781
+ "title": "Specialist Custom Defects Schema",
1782
+ "type": "object",
1783
+ "properties": {
1784
+ "referenceNumber": {
1785
+ "type": "string"
1786
+ },
1787
+ "defectName": {
1788
+ "type": "string"
1789
+ },
1790
+ "defectNotes": {
1791
+ "type": "string"
1792
+ },
1793
+ "hasAllMandatoryFields": {
1794
+ "type": "boolean",
1795
+ "description": "FE only"
1796
+ }
1797
+ },
1798
+ "additionalProperties": false,
1799
+ "required": [
1800
+ "referenceNumber",
1801
+ "defectName",
1802
+ "defectNotes"
1803
+ ]
1804
+ }
1805
+ },
1806
+ "completionStatus": {
1807
+ "type": "string"
1808
+ },
1809
+ "testTypeCategoryName": {
1810
+ "type": "string"
1811
+ },
1812
+ "reasons": {
1813
+ "type": "array",
1814
+ "items": {
1815
+ "type": "string"
1816
+ }
1817
+ },
1818
+ "testNumber": {
1819
+ "type": "string"
1820
+ },
1821
+ "linkedIds": {
1822
+ "anyOf": [
1823
+ {
1824
+ "type": "array",
1825
+ "items": {
1826
+ "type": "string"
1827
+ }
1828
+ },
1829
+ {
1830
+ "type": "null"
1831
+ }
1832
+ ]
1833
+ }
1834
+ },
1835
+ "required": [
1836
+ "testTypeName",
1837
+ "name",
1838
+ "testTypeId",
1839
+ "certificateNumber",
1840
+ "secondaryCertificateNumber",
1841
+ "testTypeStartTimestamp",
1842
+ "testTypeEndTimestamp",
1843
+ "testResult",
1844
+ "prohibitionIssued",
1845
+ "reasonForAbandoning",
1846
+ "additionalNotesRecorded",
1847
+ "additionalCommentsForAbandon",
1848
+ "defects"
1849
+ ],
1850
+ "additionalProperties": false
1851
+ }
1852
+ },
1853
+ "trailerId": {
1854
+ "description": "trailer only",
1855
+ "type": "string"
1856
+ }
1857
+ },
1858
+ "additionalProperties": false,
1859
+ "required": [
1860
+ "systemNumber",
1861
+ "vrm",
1862
+ "vin",
1863
+ "techRecord"
1864
+ ]
1865
+ },
1866
+ "additionalProperties": false
1867
+ }
1868
+ },
1869
+ "required": [
1870
+ "startTime",
1871
+ "endTime",
1872
+ "status",
1873
+ "reasonForCancellation",
1874
+ "vehicles"
1875
+ ]
1876
+ }
1877
+ },
1878
+ "id": {
1879
+ "type": "string"
1880
+ }
1881
+ },
1882
+ "additionalProperties": false,
1883
+ "required": [
1884
+ "startTime",
1885
+ "endTime",
1886
+ "testStationName",
1887
+ "testStationPNumber",
1888
+ "testStationEmail",
1889
+ "testStationType",
1890
+ "testerName",
1891
+ "testerId",
1892
+ "testerEmail",
1893
+ "tests"
1894
+ ]
1895
+ }